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.