You are on page 1of 8

focus 2

requirements and agility

Agile Requirements
Engineering Practices:
An Empirical Study
Lan Cao, Old Dominion University

Balasubramaniam Ramesh, Georgia State 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

60 IEEE Soft ware Published by the IEEE Computer Society 0 74 0 -74 5 9 / 0 8 / $ 2 5 . 0 0 2 0 0 8 I E E E

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

Enco Energy and communications. 3 VP of operations, project manager, and


Offers forecasting tools. software developer

HealthCo Healthcare and utilities. 6 President & CEO, VP of technology


Offers an online service to help customers select health operations, director of marketing
insurance and utility services. research, CIO, and developers

Venture Across industries. 4 Director, chief financial officer, chief


Helps brick-and-mortar companies develop a Web presence. operations officer, and developer

Entertain Film and television industry. 4 Project manager, marketing specialist,


Offers high-tech indexing and search tools online. senior Web developer, and quality
assurance specialist

HuCap Administration. 7 Project manager, architect, user


Carries out human-resource administration for other interface designer, Web designers,
companies online. and Web developers

TravelAssist Transport and tourist industry. 6 Senior manager, project manager,


Offers online services. quality assurance manager, lead
developers, and Web developers

ManageRisk Across several industries. 3 Human-resources manager, Internet site


Offers insurance online. manager, and Internet site developer

Transport Transportation and logistics industry. 6 CIO, senior manager, project manager,
Offers services online. architect, senior developer, and Web
developer

ServeIT Consulting and services. 6 Senior manager, project manager,


We studied the part of the firm that offers consulting quality assurance manager, quality
services for business-to-business communication. assurance specialist, and Web developers

HealthInfo Healthcare information systems. 2 Senior software engineers


Offers information systems solutions to hospitals,
physicians offices, and home healthcare providers.

SecurityInfo Security software. 5 Software engineer, project lead, product


Offers software for Internet security. manager, and quality assurance specialist

AgileConsult Software consulting. 2 Senior developer and project lead


Offers consulting services on agile software development.

EbizCo Packaged software development. 1 Senior software developer


Offers e-business connections and transactions.

FinCo Online financial-transaction support. 1 Software developer


Offers online payments.

NetCo Network software consulting. 2 General manager and senior software


Offers services on developing network systems architect
and architectures.

BankSoft Banking information systems. 1 Senior software architect


Offers software that handles financial transactions.

results. Differences were resolved after detailed dis- Agile RE practices


cussions. We then recoded the data to arrive at a set Our study identified seven agile RE practices in
of practices common across these organizations. the organizations.
The agile RE practices and their respective bene-
fits and challenges we present reflect the perceptions Face-to-face communication over written
and beliefs of the software developers who partici- specifications
pated in the study. According to the participants, agile RE aims to

62 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re

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.

Customers can steer the project in unanticipated Iterative requirements engineering


directions, especially when their requirements In 14 organizations, requirements arent pre-
evolve owing to changes in the environment defined; instead, they emerge during development.
or their own understanding of the software High-level RE occurs at the projects beginning.
solution. During this brief process, the development team
Informal communication obviates the need for acquires a high-level understanding of the appli-
time-consuming documentation and approval cations critical features. Reasons for commencing
processes, which are perceived as unnecessary, development without spending much time on RE
especially with evolving requirements. initially include high requirements volatility, incom-
plete knowledge of the technology used in develop-
Challenges. Several participants reported that this ment, and customers who can clearly define the re-
practices effectiveness depends heavily on intensive quirements only when they see them (Ill know it
interaction between customers and developers. For when I see it).
projects that cant achieve such high-quality inter- In most organizations, agile RE continues at
action, this approach poses risks such as require- each development cycle. At each cycles start, the
ments that are inadequately developed or, worse customer meets with the development team to pro-
still, wrong. vide detailed information on a set of features that
The effectiveness of communication between the must be implemented. During this process, require-
customer and team depends on several factors, in- ments are discussed at a greater level of detail. Also,
cluding customer availability, consensus among cus- RE is often intertwined with design. This activity of-
tomer groups, and trust between the customer and ten results in a set of fine-grained requirements and
the developers, especially during the projects early a preliminary design, and sometimes even an imple-
stages. mentation plan, none of which is specified formally.

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

be appropriate tomer compared his experience with agile RE and


traditional RE: I think the difference for me came
performance. One common exception is the focus
on ease of use, especially when the customers are
even in stable in the quality of the software [and] the stability of intensely involved in providing constant feedback
business the software. I think the agile [RE] lent itself to
a very robust rich implementation of features
on the evolving system. Many participants, such
as ServeIT and TravelAssist, suggested that the ten-
environments [for] the first time. dency to ignore critical issues such as security and
where the Second, requirements are clearer and more un- performance early in the process results in major is-
derstandable because of the immediate access to sues as the system matures and becomes ready for
changes often customers and their involvement in the project when larger-scale deployment.
come from needed.
unforeseen The participants suggested that iterative RE
might be appropriate even in stable business envi-
Requirement prioritization goes extreme
Agile development implements the highest-
technical ronments where the changes often come from un- priority features early so that customers can real-
issues. foreseen technical issues, especially when adopting
new technologies. For example, FinCo used a beta
ize the most business value. All the organizations
prioritize their feature lists repeatedly during de-
version of the .NET framework, and the evolving velopment as the customers and the developers
technology caused several changes to the require- understanding of the project evolves, particularly
ments and the system design. In many organiza- as requirements are added or modified.
tions, the customers arent clear at the outset about The participants identified at least two impor-
their requirements and are willing to explore the tant differences between traditional and agile RE
ways in which the evolving system can help their in requirements prioritization. First, in traditional
business goals. Flexible RE facilitates this joint dis- RE, requirements are typically prioritized once.
covery of potentially interesting solutions. In contrast, in the 16 organizations, agile RE in-
volves prioritizing requirements in each develop-
Challenges. Participants reported three major ment cycle. Prioritization often happens during the
challenges. planning meetings at the beginning of each cycle.
The first is cost and schedule estimation. Be- Moreover, requirements are prioritized together
cause none of the organizations follow a formal RE with other development tasks such as incorporat-
phase, the initial estimation of project size typically ing changes to existing functionality, bug fixes, and
is based on the known user stories. Many of these refactoring.
might be discarded, and many more get added dur- Second, in traditional RE, many factors drive
ing development. So, the original estimates must be requirements prioritizationfor example, busi-
adjusted (sometimes quite dramatically) during de- ness value, risks, cost, and implementation depen-
velopment, as happened with HuCap. Because the dencies. Customers identify the features that pro-
project scope is subject to constant change, creating vide them the greatest benefit; developers identify
accurate cost and schedule estimates for the entire technical risks, costs, or implementation difficul-
project is difficult. Obtaining management support ties. In contrast, agile RE practitioners uniformly
for such projects could be challenging. reported that their prioritization is based predomi-
The second challenge is minimal documentation. nantly on one factorbusiness value as the cus-
When a communication breakdown occurs owing tomer defines it.
to, for example, personnel turnover, rapid changes
to requirements, unavailability of appropriate cus- Benefits. Because customers are very involved in the
tomer representatives, or the applications growing development process, they can provide business rea-
complexity, the lack of documentation might cause sons for each requirement at any development cycle.
a variety of problems. These include, as one ServIT Such a clear understanding of the customers pri-
participant noted, the inability to scale the soft- orities helps the development team better meet cus-
ware, evolve the application over time, and induct tomer needs. Even BankSoft, which uses formal re-
new members into the development team. quirement specifications, also benefits from frequent
The third challenge is neglect of nonfunctional reprioritization of requirements because, according
requirements, a major concern with iterative RE to one participant, we were delivering high value
in agile development. Many participants acknowl- every step of the way.
edged that NFRs are often ill defined and ignored Also, in contrast to traditional development,

64 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re

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

practices tic expectations among customers. They have been


unwilling to accept longer development cycles that
customers.
Acceptance tests that the customer develops,
are neither are necessary to develop more scalable and robust sometimes with help from the QA personnel, are
panacea implementations as the product matures. another means for validation and verification. Some
organizations treat these tests as part of require-
nor poison Test-driven development ments specification.
to the TDD is an evolutionary approach in which de-
velopers create tests before writing new functional Benefits. In most organizations, the review meet-
challenges code. TDD treats writing tests as part of a require- ings primarily provide progress reports to the cus-
intrinsic to RE. ments/design activity in which a test specifies the tomer and other stakeholders in the organization,
codes behavior. You write code that talks about even though the meetings original purpose is to re-
what the systems behavior should be. So you end up view the developed features and get feedback. The
writing very explicit specifications and not tests, meetings perceived benefits include the opportuni-
explained an AgileConsult developer. ties to ascertain whether the project is on target, to
increase customer trust and confidence in the team,
Benefits. Many organizations use tests to capture and to identify problems early during development.
complete requirements and design documentation These meetings help considerably to obtain manage-
that are linked to production code. This traceability ment support for the project by providing frequent
makes incorporating changes easy, claimed an Ag- updates on project status and progress to project
ileConsult developer: Having those tests allows you sponsors.
to be more adventurous in terms of making changes
and trying out ideas. ... You get very quick feedback Challenges. The participants suggested that their
if it goes wrong. You write code that talks about agile RE practice focuses more on requirements
what the systems behavior should be. validation than traditional approaches. However,
it doesnt address aspects of formal verification
Challenges. A major challenge to TDDs adoption is because theres no formal modeling of detailed re-
that developers arent accustomed to writing tests quirements. Consistency checking or formal inspec-
before coding. Most developers in the study admit- tions seldom occur.
ted that they dont consistently follow this practice Although agile practices emphasize acceptance
because it demands a lot of discipline. Another testing, several organizations find implementing
challenge is that TDD requires a thorough under- such testing difficult owing to the difficulty of access
standing of the requirements and extensive collab- to the customers who develop these tests. So, many
oration between the developer and the customer, organizations use QA personnel to help customers
because it involves refining low-level specifications develop these tests.
iteratively. Owing to these challenges, most organi-
zations reported that theyre unable to implement A comparison of agile RE practices
this practice. To develop a detailed understanding of the agile
RE practices, we determined the degree to which
Use review meetings and acceptance tests the 16 organizations reportedly followed them (see
Almost all the organizations use frequent review table 1). Most of the organizations rank high or me-
meetings for requirements validation. At the end of dium for most of the practices. However, not all the
each development cycle, they hold a meeting with organizations are encountering all the challenges
developers, customers, quality assurance person- of agile RE practices. Almost all the organizations
nel, management, and other stakeholders. During reported that their most common challenges are
the meeting, the developers demonstrate the deliv- the inability to gain access to the customer and ob-
ered features, and the customers and QA people taining consensus among various customer groups.
ask questions and provide feedback. However, for TDD is the least-used practice (only six organiza-
many organizations, these review meetings cover tions adopt it) because, as we mentioned before,
only minor issues. As the SecurityInfo project man- most developers arent accustomed to the discipline
ager described, We basically get some minor feed- it requires. Surprisingly, although prototyping is
back [from the review meetings]. The big thing considered one of the most established practices, al-
is when, at the start of the iteration, I sit down with most one-third of the organizations dont practice

66 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re

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

it. While the literature on traditional development About the Authors


laments the inadequate attention paid to reviews
and tests, the 16 organizations use them extensively Lan Cao is an assistant professor of Information Technologies and Decision Sciences at
Old Dominion University. Her major research interests are agile software development and
in agile RE.
software process modeling and simulation. She received her PhD in computer information
systems from Georgia State University. Contact her at the Dept. of Information Technology

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.

You might also like