Investigating the Suitability of Agile Methods for Requirements Development of Home Care Systems

The ageing population in developed countries brings many benefits but also many challenges, particularly in terms of the development of appropriate technology to support their ability to remain in their own home environment. One particular challenge reported for such Home Care Systems (HCS) is the identification of an appropriate requirements development technique for dealing with the typical diverse stakeholders involved. Agile Methods (AMs) recognize this challenge and propose techniques that could be useful. This paper examines the desirable characteristics identified for requirements development in HCS and investigates the extent to which agile practices conform to these. It also sets out future work to improve the situation for the non compliant points found.


Introduction
According to the World Health Organisation (WHO), the population of over 60s in developing countries is expected to triple from "400 million to 1.7 billion" over the next forty years [1].Rising healthcare costs and lack of resources in terms of hospitals and the availability of skilled doctors and nurses mean that by 2050, this situation will become unsustainable.In Ireland 11% of the population is currently over 65 and this is expected to double over the next 25 years, in particular a threefold increase in those aged 80 and above is expected [2].Accommodating the ageing population is and will continue to be an increasing challenge.For example, Technology Research for Independent Living (TRIL) report that 40% of older people are prematurely institutionalised due to injuries sustained from falls in the home [3].In general it is beneficial to develop alternative approaches to prevent or delay the institutionalisation of older people, enabling the elderly to remain at home.This has subsequently required an increase in the need to develop HCS.
HCS is defined as "a potentially linked set of services including social care and health care that provide or support the provision of care in the home" [4].Along with the cared person, many other stakeholders are involved including family members, social care, home help, health nurses and GPs.Given such diversity of background, perspective and experience, and perhaps geographic distribution, identification, access to and en-gagement of the appropriate stakeholders to identify requirements is difficult.To complicate things further, modes of interaction are expected to be subject to continuous change over time as the condition of the home dweller may change [5].Identification of a more suitable approach for requirements development is necessary.
Despite the numerous techniques that exist for requirements development [6] and, indeed, efforts made to classify them [7,8] it is claimed that current techniques are inadequate, while McGee-Lennon suggests that a novel approach is required.Despite this, it is acknowledged that potential does exist if techniques could be modified to deal with a "combination of multiple distributed and possibly conflicting stakeholder needs" along with "long term configuration and evolution of these needs" [5].In general, for HCS, any approach should be "lightweight enough to be useable yet rigorous so as to be justifiable" [4].
A potential solution may however be offered through the principles and practices suggested by agile development.The Agile Manifesto promotes values of close and continuous interaction between all interested stakeholders, including the customer and development team, very short iterations of fully working, and tested, software, which provides the ability to easily accommodate changing requirements [9].At an initial inspection it appears that the characteristics of agile development closely match those identified for HCS.
This paper compares the desirable characteristics of requirements development in HCS identified by [5] with the general approach recommended for handling requirements in agile development.Section 2 looks at how requirements are developed in an agile setting, Section 3 compares the characteristics of HCS with AMs, while Section 4 concludes the paper and outlines future work.

Agile Requirements Development
AMs recommend a highly participative and iterative approach to requirements development [10].Initially, requirements are briefly documented, typically through user stories.Usually for user stories a high level user request is written on an index card or post-it note.Along with specific functionality required, other relevant information such as story title, release date, order of priority, author's initials and time estimates to complete can also be included.During development, each story is used to provoke an in-depth discussion between developers and other stakeholders to examine each requirement in detail [11].Initially, collectively, user stories identify a high level plan for each release of the project.The customer prioritizes each story according to business value.Attention is then focused on the first release with a number of prioritized stories used to identify the first short iteration.Typically this is a week or two in length [10].Developers further divide the stories into tasks and estimate a timeframe to complete each task.It is expected that each story is considered to be a placeholder, indicating that an in-depth analysis will be conducted during the iteration.
User stories and their associated tasks are placed together on a publicly-visible story board.The board frequently referred to as "the wall" by [12], is the main focal point of the room.Developers choose a story to complete from the board and commit to this by signing their initials on the story card and taking it from the board for development.When the user story is complete, the developer ticks the card and returns it to a new position on the story board.Alternatively, if the story is not fully complete, the card is considered to be still pending and is returned to the same position on the board.Complete stories become features of the system where they can be further developed in upcoming iterations.
The story board provides a clear indication of what work has been done and what has yet to be completed.Stories placed with their tasks also allow developers to envisage dependencies, essentially providing a visual representation of the work plan to the team.The colour of a card can also be used to convey specific meaning and can indicate warning signs.Some examples from [12] showed:  Green cards signified stories, white for tasks;  Blue cards related to features for staff;  Orange flags indicated incomplete acceptance tests;  Pink cards described bugs.
The positioning of the cards on the story board can also communicate specific meaning.The top three rows for instance in [13] contained recently completed stories.To the left of the board were scheduled stories and to the right were unscheduled stories.

The Customer Role
A key role for successful requirements development within AMs is that of the customer, which differs from that expected in a traditional development project, for example with the waterfall approach the customer is involved at the beginning of a project and the relationship between the customer and the development team throughhout the project is contractual, whereas AMs prefer the customer to be continuously involved for the duration of the project.However, a misconception with early AMs is that customer involvement was often reduced to a single on-site customer with little guidance provided on how to implement this role.
In distinguishing between traditional and agile Requirements Engineering (RE) practice in industry, Cao & Ramesh found that the "inability to gain access to the customer and obtaining consensus among stakeholder groups" were the most common challenges experienced [14].Martin et al. report eight practices that were used in successful projects to enable real customer involvement [15].The authors illustrate the complexity of customer representation, identifying ten roles on a customer team, these were informally created with little prior guidance to support the customer role.Each person on the customer team negotiates with and represents a widely diverse group of stakeholders.
Many authors have expressed the importance of having the appropriate and relevant stakeholders on board.In examining critical success factors in software development, Boehm and Turner found that the customer role should comprise of individuals who are Collaborative, Representative, Authorized, Committed and Knowledgeable (CRACK), deeming these crucial attributes stakeholder representatives should possess in implementing the customer role [16].Hence, performing the customer role in agile projects is a challenging task, frequently taken for granted.

Agile Methods for HCS?
McBryan et al. identify ten desirable characteristics an RE method should possess for HCS [5].Table 1 summarizes these characteristics in column 1 with an indication of how AMs match these in column 2. Two ticks indicate that AMs comply fully with the characteristic, one tick indicates partial compliance and 'x' indicates no compli- ance with the characteristic.The following points discuss the varying degrees of compliance between these.
Iterative development: with AMs, short iterations of fully working software provide opportunities for continuous stakeholder input.Perceived needs can be clarified and new ones emerge.As circumstances change requirements will evolve based on stakeholder input.This is a characteristic AMs are fully compliant with.
Prioritisation of requirements: different stakeholders may need to be given different priorities depending on a variety of circumstances.Specifically in [5], the authors point out that in relation to particular features, if for instance, usability is an issue then the needs of the person in care may be the highest priority whereas care professionals may have higher priority requirements if it is the case that the person concerned is a "risk to themselves or others" in the home environment.AMs are fully compliant with this characteristic as features can be prioritized at the beginning of each iteration.
Correlation with other processes and work practices calls for immediate benefit from solutions required.This is entirely consistent with the agile approach which promotes the early delivery of high quality 'working software' to satisfy the customer's business objective.
Identification and Engagement of appropriate stakeholders is partially compliant as AMs recognize the need for this.Although this is promoted within AMs and numerous successes have been reported, difficulties have emerged in certain situations particularly when multiple stakeholders are involved.However, no generalized method as such can be applied here since realizing this depends on constraints and circumstances often unique to each situation.
Participatory elicitation and negotiation requires those involved in a care network including the cared person to negotiate the suitability of a potential device or care service proposed.Essentially, an opportunity to demonstrate a candidate device or interaction mode to stakeholders in advance of decisions to be made is necessary.This characteristic is partially compliant as Active Stakeholder Participation (ASP) is encouraged in AMs but achieving this in practice remains problematic.Identification of conflict partially complies since AMs encourage conflict to be aired as soon as possible but this is often challenging if relevant stakeholders are not actively involved or, as is frequently reported, only identified during the latter stages of development.
Resolution of conflict partially complies, although the need to air and resolve conflict early is recognized, success here is again dependent on stakeholders' active participation in the project.
Retention and traceability of requirements is partially compliant since AMs only retain artefacts such as user stories for as long as they are deemed useful.Agile practitioners recommend questioning traceability in terms of time to complete and the re-examination of what value it brings to stakeholders.This is to ensure that while traceability may be needed, it must be applied in a timely manner.An option here is to employ an appropriate project management tool that does not detract from the overall effort required in developing and maintaining the software solution.Examples of available tools include Envision VIP 9 and PACE 3.
Annotations to facilitate negotiation and traceability, is also partially compliant as story cards are often annotated.However, it is likely that agile practitioners would integrate the annotation as a main part of the user story.In particular, this characteristic intends to add further context to a requirement.
Distributed elicitation is a characteristic AMs are partially compliant with since although AMs prefer face to face communication, other means such as email and video conferencing are most often used for dispersed stakeholders.In addition to tools mentioned previously, other tools, particularly XPlanner and TargetProcess enable distributed teams to communicate with geographically dispersed stakeholders.
Here, AMs are fully compliant with three characteristics of a desirable approach to requirements development in HCS.However, AMs show only partial compliance with the remaining seven characteristics indicating future work needed to improve on these.

Conclusions and Further Work
In summary, due to the expected increase in older populations, the need to develop HCS is evident.Success in software systems heavily depends on accurately obtain-ing requirements from stakeholders.It is also difficult to identify access, engage and support continuous negotiation of requirements amongst relevant stakeholders.Despite the numerous elicitation techniques available, accommodating diversity amongst multiple stakeholder groups remains a key challenge.Suggestions made to improve on this include a new or adaptive approach to requirements development, However it is not entirely clear how this could be achieved.AMs may provide a solution but particularly, an important concern here is in effective implementation of the customer role.This paper compared the desirable characteristics for RE in HCS with agile methods and indicates that there is a close match.However, challenges still exist as AMs are only partially compliant with many of the remaining characteristics.Future work will investigate how this position can be further improved.