Professional Documents
Culture Documents
Agile Requirements
Engineering Practices:
An Empirical Study
Lan Cao, Old Dominion University
T
he rapidly changing business environment in which most organizations oper-
An analysis of data
ate is challenging traditional requirements-engineering (RE) approaches. Soft-
from 16 software
ware development organizations often must deal with requirements that tend
development to evolve quickly and become obsolete even before project completion.1 Rapid
organizations changes in competitive threats, stakeholder preferences, development technology, and time-
reveals seven agile to-market pressures make prespecified requirements inappropriate.1
RE practices, along Agile methods that seek to address the challenges zations, we sought to answer two questions: What
with their benefits in such dynamic contexts have gained much interest RE practices do agile developers follow? What ben-
among practitioners and researchers. Many agile efits and challenges do these practices present?
and challenges.
methods advocate the development of code without
waiting for formal requirements analysis and design How we conducted the study
phases. (In this article, requirements engineering Carolyn Seaman argues that software engineer-
means the same thing as requirements analysis, as ings blend of technical and human-behavioral as-
is common in the RE literature.) Based on constant pects lends itself to qualitative study.3 Qualitative
feedback from the various stakeholders, require- methods let you delve into a problems complexity
ments emerge throughout the development process. and develop rich, informative conclusions. For a rel-
Evolving requirements in a time-constrained devel- atively uncharted land4 such as agile RE, a multi-
opment process cause the RE process for agile soft- site qualitative case study approach is appropriate.
ware development to differ from that for traditional To understand how and why agile RE differs
development. from traditional RE, we collected data from 16
Few studies report on RE in agile development organizations that employ agile approaches. (The
(see the related sidebar). Proponents present agile Study Participant Characteristics sidebar pro-
methods as a panacea for all the ills of software vides details on the organizations. To protect their
development, often focusing on the proposed prac- identities, we use pseudonyms.) These organizations
tices possible benefits.2 Critics, on the other hand, are in three major US metropolitan areas.
have focused on the challenges that agile practices The study had two phases. In the first phase,
might present. In contrast, weve been systemati- we conducted cases studies in 10 organizations
cally studying the agile practices that developers ac- that characterize themselves as involved in agile or
tually follow. Using a qualitative study of 16 organi- high-speed software development. Although these
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
Related Work on Requirements Engineering in Agile Development
Although critics argue that agile software development References
approaches simply repackage established techniques,1 others 1. H. Merisalo-Rantanen, T. Tuunanen, and M. Rossi, Is Extreme
Programming Just Old Wine in New Bottles: A Comparison of Two
have recognized that requirements engineering in an agile Cases, J. Database Management, vol. 16, no. 4, 2005, pp. 4161.
environment is different.2,3 For example, agile methods such 2. F.E. Paetsch, A. Eberlein, and F. Maurer, Requirements Engineering
and Agile Software Development, Proc. 12th IEEE Intl Workshops En-
as Extreme Programming (XP) advocate RE throughout the
abling Technologies: Infrastructure for Collaborative Enterprises (Wetice
development life cycle in small, informal stages.4 However, 03), IEEE CS Press, 2003, p. 308.
from a requirements honesty viewpoint, agile development 3. A. Sillitti et al., Managing Uncertainty in Requirements: A Survey
in Documentation-Driven and Agile Companies, Proc. 11th IEEE Intl
might negatively affect the requirements principles of pur- Symp. Software Metrics (Metrics 05), IEEE Press, 2005, p. 17.
posefulness, appropriateness, and truthfulness.5 4. K. Beck et al., Embracing Change with Extreme Programming,
In spite of the centrality of effective RE in agile develop- Computer, vol. 32, no. 10, 1999, pp. 7077.
5. F.A.C. Pinheiro, Requirements Honesty, Proc. 2002 Intl Workshop
ment, the agile-RE literature is limited to a few high-visibility
Time-Constrained Requirements Eng. (TCRE 02), 2002; www-di.inf.
case studies (such as at Microsoft and Netscape)6 and ex- puc-rio.br/~julio/tcre-site/p3.pdf.
perience reports.7 Much research has focused on assessing 6. M. Cusumano and D. Yoffie, Competing on Internet Time: Lessons from
Netscape and Its Battle with Microsoft, Touchstone, 2000.
and improving agile requirements approaches as defined in
7. J. Erickson, K. Lyytinen, and K. Siau, Agile Modeling, Agile Software
popular agile methods such as XP and Scrum. Little is known Development, and Extreme Programming: The State of Research, J.
about how real agile projects conduct RE. Also, it isnt clear Database Management, vol. 16, no. 4, 2005, pp. 8899.
8. J. Nawrocki et al., Extreme Programming Modified: Embrace Require-
whether developers are actually using the practices that agile
ments Engineering Practices, Proc. IEEE Joint Intl Conf. Requirements
methods prescribe.7 Eng. (RE 02), IEEE CS Press, 2002, pp. 303310.
Recent studies have identified several problems that could 9. B. Boehm, Requirements That Handle Ikiwisi, COTS, and Rapid
Change, Computer, vol. 33, no. 7, 2000, pp. 99102.
result from the lack of detailed requirements specifications8
10. P. Grnbacher and C. Hofer, Complementing XP with Requirements
and suggest several approaches to address these prob- Negotiation, Proc. 3rd Intl Conf. Extreme Programming and Agile
lems.2,9,10 These approaches include using explicit require- Processes in Software Eng. (XP 02), Springer, 2002, pp. 105108.
11. M. Lee, Just-in-Time Requirements Analysisthe Engine That Drives
ments negotiation,10 establishing traceability,11 incorporat-
the Planning Game, Proc. 3rd Intl Conf. Extreme Programming and
ing aspect-oriented concepts,12 incorporating an explicit RE Agile Processes in Software Eng. (XP 02), Springer, 2002, pp. 138141.
phase,8 and using cooperative strategies for RE.13 Some of 12. J. Araujo and J. C. Ribeiro, Towards an Aspect-Oriented Agile Re-
quirements Approach, Proc. 8th Intl Workshop Principles of Software
these approaches might help mitigate the challenges that our Evolution, IEEE Press, 2005, pp. 140143.
study identified (see the main article). 13. O. Jepsen, Time Constrained Requirement Engineeringthe Cooper-
ative Way, Proc. 2002 Intl Workshop Time-Constrained Requirements
Eng. (TCRE 02), 2002; www-di.inf.puc-rio.br/~julio/tcre-site/p5.pdf.
organizations didnt explicitly follow any specific responses included information on multiple projects
brand of agile methods, they followed RE prac- from previous experience. So, each organization
tices that were similar to those suggested by agile was the unit of data analysis.
methods such as Extreme Programming (XP) and To analyze the data, we used the grounded-
Scrum. In the second phase, we collected data from theory method,4 a well-established qualitative-
six organizations that used XP, Scrum, or both. research method. It lets you develop insights about
The participating organizations represent a rich a problem under investigation, without prior hypo
mix of fields from healthcare to software develop- theses. This approach is exploratory rather than
ment and consulting. We collected data through confirmatory.
semistructured interviews, participant observations, Data analysis involved open, axial, and selective
and documentation review. In each organization, coding.4 In open coding, we identified groups of
we interviewed a variety of stakeholders, includ- data and labeled them as agile RE practices, agile
ing top management, product managers, quality RE benefits, or agile RE challenges. We performed
assurance personnel, software developers, senior axial coding to uncover relationships among prac-
architects, and project managers. We also reviewed tices, benefits, and challenges. In selective cod-
requirements documents such as story cards when ing, we identified larger patterns by systematically
available. comparing the practices. We conducted additional
We conducted data analysis and data collection interviews to gain clarification on some concepts.
synergistically, as is common in qualitative research. To generate insights from this analysis, we focused
Results from preliminary data analysis guided fur- on similarities and differences in agile RE prac-
ther data collection. Although most interviewees fo- tices among the 16 organizations. Two coders
cused on current or recent project experiences, their separately coded the data, and we compared the
January/February 2008 I E E E S o f t w a r e 61
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
Study Participant Characteristics
Organization No. of employees
pseudonym Industry and products interviewed Organizational roles represented
Transport Transportation and logistics industry. 6 CIO, senior manager, project manager,
Offers services online. architect, senior developer, and Web
developer
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
effectively transfer ideas from the customer to the Many organizations reported that achieving on-
development team, rather than create extensive doc- site customer representation is difficult. In most of
umentation. So, their agile RE practice prefers face- the projects we studied, product managers acted as Customers
to-face communication over written specifications.
Most organizations shun formal documentation
surrogate customers. However, only two projects
had a full-time, onsite product manager; the others
sometimes
of specifications. Instead, they use simple techniques had only part-time access. find it difficult
such as user stories to define high-level requirements.
These short, abstract descriptions serve mainly as
When more than one customer group is in-
volved, with each concerned about different aspects
to understand
anchors for further discussions with customers. The of the system, achieving consensus or compromise or trust
developers discuss requirements in detail with the in the short development cycle is challenging. The the agile
customers before and/or during development. development team must spend extra effort to inte-
One exception is BankSoft, a company that de grate the requirements through negotiations with RE process.
velops banking-industry software and whose com- each group. For example, at NetCo, the project
pany policy mandates formal documentation. How- manager forced customers to physically participate
ever, even for such security-critical applications, in several meetings to discuss requirements, in order
face-to-face communication with the customer to achieve consensus.
is a primary source of requirements. The project Customers sometimes find it difficult to under-
team meets frequently with the product manager, stand or trust the agile RE process. Many partici-
who serves as a surrogate customer to discuss the pants reported that establishing trust between the
requirements and alternative solutions. Formal customer and developer, which is essential for agile
documentation of requirements doesnt eliminate RE, can be challenging. Customers familiar with a
the need for frequent communication, because, as traditional development process might not under-
a BankSoft participant noted, Everything is am- stand or trust the agile RE process, which doesnt
biguous; if you give me exactly what the customers produce detailed requirements. One NetCo proj-
want, they [the customers] are going to say, thats ect included three customer representatives, but
neat, [but] I want something different. only one had a positive opinion of agile RE. In this
project, the project manager suggested that the
Benefits. All 16 organizations rely extensively on two customers who didnt have high confidence in
face-to-face communication between the team agile methods werent good customers in terms
and the customers. The participants reported these of their ability to provide relevant information and
benefits: feedback.
January/February 2008 I E E E S o f t w a r e 63
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
Benefits. Iterative RE has two reported benefits. during early development cycles. Customers often
First, it creates a more satisfactory relationship focus on core functionality and ignore NFRs such
RE might with the customer. Heres how a SecurityInfo cus- as scalability, maintainability, portability, safety, or
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
where achieving reprioritization is difficult, agile RE So, the cost of addressing a change request de-
provides numerous opportunities for reprioritization. creases dramatically compared to traditional soft-
ware development.
Challenges. Using business value (often focused on
time-to-market) as the only or primary criterion Challenges. In several organizations, such as FinCo
for requirements prioritization might cause major and AgileConsult, the architecture the development
problems. For example, at FinCo, this approach team chose during the early cycles became inad-
resulted in an architecture that wasnt scalable. At equate as requirements changed. Redesign of the ar-
Transport, it resulted in a system that couldnt ac- chitecture added significantly to project cost.
commodate requirements (such as security and ef- Refactoring changes softwares internal struc-
ficiency) that might initially appear secondary to the ture to make it easier to understand and cheaper
customer but that become critical for operational to modify without changing its observable behav-
success. Furthermore, some participants observed ior. However, for most participants, the need for
that continuous reprioritization, when not practiced refactoring isnt always obvious, and the ability to
with caution, leads to instability. refactor software depends on many factors, such as
the developers experience and schedule pressure.
Managing requirements change Moreover, some participants reported that refactor-
through constant planning ing, as an ongoing activity to improve the design, of-
Accommodating requirements changes during ten doesnt completely address the problem of inad-
development is a way of tuning the system to better equate or inappropriate architecture. Occasionally,
satisfy customer needs. Changes are easier to imple- the only alternative is to throw away the code and
ment and cost less in agile development, a NetCo de- rewrite entire modules. One AgileConsult developer
veloper observed: Planning is a constant activity. reported that, because of this problem, he had to re-
Its constantly being revisited as these things change. write large application modules (200330 KLOC)
Because we dont make fixed plans, and try to con- about five times.
form to them, accommodating change is easier.
Participants commonly reported two types of Prototyping
requirements changes: adding or dropping features, Many organizations, such as ServeIT, HuCap,
and changing already implemented features. At the Transport, and Venture, develop a prioritized list of
end of each cycle, tests evaluate the implemented features to settle requirements specification quickly.
features. Customers provide feedback and can re- According to one ServeIT participant, This helps
quest major changes if their expectations arent met. reduce the margin of error. Piloting applications and
In the 16 organizations, this kind of change is rela- releasing them to end users in iterative fashion are
tively rare. other useful practices.
Such a low occurrence of major postdevelop- To a certain extent, the production software it-
ment change is interesting because this ability is of- self can be a form of operational prototype, a refine-
ten touted as an important benefit of agile processes. ment of the code created for experimentation with
The study participants believe that frequent com- required features. In several organizations, the rush
munication between the developer and the customer to market encourages a tendency to deploy these
during development obviates the need for changes prototypes rather than wait for robust implementa-
after development. Before implementing a feature, tions. The ability to quickly deploy newer versions
the developer engages in detailed discussions with of the products on the Internet also contributes to
the customer to roughly understand what he or she this tendency.
needs. Also, the developer gets constant feedback
from the customer as the features are implemented. Benefits. Instead of incurring the overhead involved
Organizations that practice such intense interac- in creating formal requirements documents, several
tions reported a low need for major changes to the organizations use prototyping to communicate with
delivered features. their customers to validate and refine requirements.
Eleven organizations regularly use prototypes to ob-
Benefits. The early and constant validation of re- tain quick customer feedback on requirements.
quirements largely minimizes the need for major
changes. As an AgileConsult developer described, Challenges. Some organizations are recognizing the
most of the change requests are usually more a case risks of deploying prototypes in production mode.
of tweaks spelling, little graphical things for For example, at Entertain, maintaining or evolving
example, color, positioning. prototypes is difficult and has caused problems with
January/February 2008 I E E E S o f t w a r e 65
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
features such as scalability, security, and robust- the product manager [the surrogate customer] to
ness. Also, at TravelAssist, quick deployment of talk about features. The PM sometimes brings up
Agile RE prototypes in the early stages has created unrealis- new things he found out as he was talking to more
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.
Table 1
Agile requirements-engineering practices in 16 organizations
Practice
Adoption Face-to-face Extreme Constant Test-driven Reviews
level communication Iterative RE prioritization planning Prototyping development & tests
High 8 9 10 8 8 5 11
Medium 8 5 6 6 3 1 4
Low 0 2 0 2 0 0 1
None 0 0 0 0 5 10 0
O
and Decision Sciences, Old Dominion Univ., Norfolk, VA 23529; lcao@odu.edu.
ur study reveals that agile RE differs from
traditional RE in that it takes an iterative
discovery approach. Agile development oc-
curs in an environment where developing unambig- Balasubramaniam Ramesh is a professor of computer information systems
at Georgia State University. He studies requirements engineering and traceability, agile
uous and complete requirement specifications is im-
software development, and knowledge management. He received his PhD in information
possible or even inappropriate. These fundamental systems from the Stern School of Business, New York University. Hes a member of the IEEE,
differences have led to the set of agile RE practices ACM, and the Association for Information Systems. Contact him at the Computer Information
Systems Dept., Georgia State Univ., 35 Broad St., Atlanta, GA 30302; bramesh@gsu.edu.
we report here. The study participants identified the
intensive communication between the developers
and customers as the most important RE practice.
Instead of following a formal procedure to produce
a complete specification that accurately describes 4. A. Strauss and J. Corbin, Basics of Qualitative
the system, agile RE is more dynamic and adaptive. Research: Techniques and Procedures for Developing
Grounded Theory, Sage Publications, 1990.
As we mentioned before, agile RE processes arent
centralized in one phase before development; theyre
evenly spread throughout development.
For more information on this or any other computing topic, please visit our
Although agile RE practices provide benefits Digital Library at www.computer.org/csdl.
such as improved understanding of customer needs
and the ability to adapt to the evolving needs of
todays dynamic environment, they pose several
distinct challenges. The study suggests that agile
RE practices are neither panacea nor poison to the
challenges intrinsic to RE. Development organiza-
tions, therefore, should carefully compare the costs
and benefits of agile RE practices in their project Log on to our Web site to
environment. Search our vast archives
Preview upcoming topics
Browse our calls for papers
References
1. B. Boehm, Requirements That Handle I kiwisi , COTS, Submit your article for
and Rapid Change, Computer, July 2000, pp. 99102.
2. J. Erickson, K. Lyytinen, and K. Siau, Agile Modeling, publication
Agile Software Development, and Extreme Program-
ming: The State of Research, J. Database Manage- Subscribe or renew
ment, vol. 16, no. 4, 2005, pp. 8899.
3. C.B. Seaman, Qualitative Methods in Empirical Stud- www.computer.org/software
ies of Software Engineering, IEEE Trans. Software
Eng., vol. 25, no. 4, 1999, pp. 557572.
January/February 2008 I E E E S o f t w a r e 67
Authorized licensed use limited to: KING SAUD UNIVERSITY. Downloaded on October 4, 2009 at 06:56 from IEEE Xplore. Restrictions apply.