The Requirements Engineering Magazine appears quarterly. It is cost free and provides you with up-to-date articles reflecting the activities of the RE and BA community.
Simply sign up for being notified about new issues of the Requirements Engineering Magazine.
You may unregister at any time by sending a mail to firstname.lastname@example.org from the e-mail address which you have registered with.
Though Requirements Engineering (RE) and Agile are sometimes perceived to be conflicting approaches to software development, the recent emergence of the term Agile RE suggests that a hybrid approach is possible, with traditional RE methods reused within iterative Agile lifecycles. This paper describes empirical research into Agile RE to better understand just how this works in practice and to provide guidelines on precisely which RE methods can be most successfully applied in this way.
Eight requirements problems –software development issues relating to the topic of requirements – were identified in the literature, and together with 14 of the most common requirements elicitation and analysis methods were used as the basis for a survey of current RE practice within Agile projects. Based on completed questionnaires by respondents from across industry, the research showed that many of the identified requirements problems are indeed recognised as challenges within Agile projects. While some issues such as changing requirements and over-specification were shown to be well addressed in Agile approaches, other problems such as hidden stakeholder needs and missing, ambiguous or inaccurate requirements continue to present important challenges.
The research provided evidence that the use of many RE methods within Agile projects is already widespread and is not in practice seen to be in conflict with Agile principles. The use of some other methods, such as questionnaires, goal models and state machines, for example, appeared in the results to be less well established.
Finally the results were reviewed with an expert panel and nine guidelines for the application of RE methods in scaled Agile projects are presented here. These recommend an increased awareness of key requirement challenges and are supported by evidence gathered from current practice.
Discussing requirements in the traditional terms of the analysis phase and specification document often leads to the entrenched views of the Agile versus waterfall debate. This study therefore first set out to establish a common language between the different approaches, before then gathering data from current practice as to which RE methods are currently in use within Agile projects. The specific research objectives were therefore:
From a survey of the literature eight of the most frequently discussed requirement problems were identified in fulfilment of objective 1:
Concerning RE methods, those in the categories of requirements elicitation and analysis were found to offer more potential for reuse in Agile projects than other RE topics such as requirements management, whose methods are typically closely linked with a particular development lifecycle. Fourteen RE methods were therefore identified:
A questionnaire was designed asking participants in Agile projects whether the above problems were recognised in practice and to what extent they were currently addressed. Respondents were also asked to report which, if any, of the identified methods were found to be useful in their Agile projects. The questionnaire was distributed electronically to a broad range of RE and Agile practitioners using relevant internet forums and communities. The results of the questionnaire were reviewed by an expert panel, with the ultimate goal of deriving guidelines as per the research aim.
The survey was published in the IREB Magazine (Issue 2015-02, http://re-magazine.ireb.org/issues/2015-2-bridging-the-impossible/re-in-agile-projects-a-survey/), with links then posted in both Agile and Business Analysis Linked In forums. By the cut-off date in July a total of 43 completed responses had been received. The results for each question are displayed graphically below, with a brief analysis at the end of each section. Further interpretation of the results is provided in the Expert Review and Conclusion sections.
Respondents were first asked to provide information about their role and type of Agile project:
Thus it can be seen that while respondents were predominantly from an RE background, a number of Agile specialists also participated. Scrum was seen to be clearly the most popular Agile method, though in a majority of projects one or more scaling factors (i.e. factors requiring a scaling of the pure Scrum approach as described, for example, in the Scrum Guide [Schwaber & Sutherland, 2011] ) were also found to be present.
The results appear to show that requirements problems are, broadly speaking, recognised within Agile projects. The extent to which these problems are addressed varied: respondents reported fewer errors as a result of issues such as changing requirements, communication of requirements to developers and over-specification, while other problems such as missing, ambiguous or inaccurate requirements and hidden stakeholder needs continued to present important challenges.
Particularly positive responses were received for workshops and interviews (C1), storyboards and scenarios (C2), and mockups and prototypes (C3). This is perhaps not surprising: intuitively, storyboards and scenarios match well to the Agile technique of user stories, while prototyping has a similar emphasis on an iterative, ‘working code’-based approach. Workshops and interviews can also be understood to be focusing on direct customer communication, though a distinction can be drawn here between the communication within an Agile team and a more systematic interviewing of the wider stakeholder community. The most negative responses were received to question C5 on questionnaires. One explanation for this might be that this technique is perceived as too slow and document-intensive for Agile.
In general the results show that many anaylsis methods are used in Agile projects (49% of responses show agreement as opposed to 37% disagreement), though a consistent pattern for the general applicability of particular methods is hard to discern. Taking as a measure the number of responses expressing agreement (somewhat or strongly) as compared to the number expressing disagreement, the following analysis methods were most favoured:
More negative results were seen for:
Whether such results are because the methods are not useful in Agile projects, or whether there is simply a lack of knowledge or training, is not clear.
Based on the above results, the supporting background research and the experiences of the individuals involved, a review process was carried out with a small panel of RE and Agile experts. The results of this review – which added a degree of interpretation above and beyond the direct analysis of the research data – were formulated as nine guidelines for the use of RE within Agile projects:
The research has provided evidence that many of the software development issues that the discipline of RE seeks to address – termed here ‘requirements problems’ – continue to be recognised as challenges within Agile projects. While some problems such as changing requirements and over-specification were reported as less prevalent under Agile, others, including hidden stakeholder needs and missing, ambiguous or inaccurate requirements, continue to be found with regularity.
The research has also found evidence that the use of many RE methods within Agile projects is widespread and is not, in practice, seen to be in conflict with Agile principles. The use of some other methods, such as questionnaires, goal models and state machines, appeared in these results to be less well established.
Based on the quantity of data gathered and the lack of project context provided, it would be hard to draw definite conclusions as to exactly how and when specific RE methods should be applied in Agile projects. Nevertheless following a review of both the research results and the underlying research topics, nine general guidelines for the application of RE methods within Agile projects were formulated (see previous section).
This research has examined the premise that RE and Agile may be combined within a hybrid approach, which we may call Agile RE. By considering RE and Agile as collections of individual methods and techniques, the evidence of this research suggests that pragmatic approaches can be found that usefully combine elements of both.
As a final thought, however, one might additionally ask: is RE perhaps something more than the sum of its individual parts? That RE and Agile were once perceived to be in conflict may not only due to the incorrect assumption that RE is strictly tied to a waterfall process model, but rather on the more fundamental difference between an engineered, top-down approach to system development and the ideas of emergence (emerging requirements, emerging architecture) that underpin Agile. To understand not only if a technique, such as data or process modelling, is applicable, but exactly how (over what scope, at what granularity?) and when it should be applied, further examination of these questions may be required.
Many thanks to Kim Lauenroth and Thorsten Weyer for their participation in the expert review process, and to all those who took the time to respond to the survey.