focus 2
60 IEEE SOFTWARE Published by the IEEE Computer Society 0740-7459/08/$25.00 © 2008 IEEE
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-
ate is challenging traditional requirements-engineering (RE) approaches. Soft-
ware development organizations often must deal with requirements that tend
to evolve quickly and become obsolete even before project completion.
1
Rapid
changes in competitive threats, stakeholder preferences, development technology, and time-
to-market pressures make prespecified requirements inappropriate.
1
Agile methods that seek to address the challenges
in such dynamic contexts have gained much interest
among practitioners and researchers. Many agile
methods advocate the development of code without
waiting for formal requirements analysis and design
phases. (In this article, “requirements engineering”
means the same thing as “requirements analysis,” as
is common in the RE literature.) Based on constant
feedback from the various stakeholders, require-
ments emerge throughout the development process.
Evolving requirements in a time-constrained devel-
opment process cause the RE process for agile soft-
ware development to differ from that for traditional
development.
Few studies report on RE in agile development
(see the related sidebar). Proponents present agile
methods as a panacea for all the ills of software
development, often focusing on the proposed prac-
tices’ possible benefits.
2
Critics, on the other hand,
have focused on the challenges that agile practices
might present. In contrast, we’ve been systemati-
cally studying the agile practices that developers ac-
tually follow. Using a qualitative study of 16 organi-
zations, we sought to answer two questions: What
RE practices do agile developers follow? What ben-
efits and challenges do these practices present?
How we conducted the study
Carolyn Seaman argues that software engineer-
ing’s blend of technical and human-behavioral as-
pects lends itself to qualitative study.
3
Qualitative
methods let you delve into a problem’s complexity
and develop rich, informative conclusions. For a rel-
atively “uncharted land”
4
such as agile RE, a multi-
site qualitative case study approach is appropriate.
To understand how and why agile RE differs
from traditional RE, we collected data from 16
organizations that employ agile approaches. (The
“Study Participant Characteristics” sidebar pro-
vides details on the organizations. To protect their
identities, we use pseudonyms.) These organizations
are in three major US metropolitan areas.
The study had two phases. In the first phase,
we conducted cases studies in 10 organizations
that characterize themselves as involved in agile or
high-speed software development. Although these
An analysis of data
from 16 software
development
organizations
reveals seven agile
RE practices, along
with their benefits
and challenges.