agile requirements engineering practices: an empirical study
TRANSCRIPT
1
Agile RequirementsEngineering Practices:An Empirical Study
Lan Cao, Old Dominion University Balasubramaniam Ramesh, Georgia State University
Presented By:
Dilruk G.A. (148209B)
Motivation for Agile RE
The requirements tend to evolve quickly • Requirements to become obsolete even before project completion
Quick time to market• Implementation should start immediately, competitive business
challenge, changing the development technologies soon
Quick response time of the product• Product with basic functionalities should be ready
Quick identification of the product
feasibility• Once start the development a lot of limitations are identified
3
What is Agile RE?
Many agile methods advocate the
development of code without waiting for
formal requirements analysis and design phases
Agile takes an iterative requirement analysis
approach
Requirement, Design and Development phases
not separated in the traditional manner
4
The Survey
Target to find answers for two questions
What RE practices do agile developers follow?
What benefits and challenges do these practices present?
Analysis of data from 16 software development organizations that
employ agile approaches
Using a qualitative study
Collected data through
Semi structured interviews
Participant observations
Documentation review
Interviewed a variety of stakeholders, including top
management, product managers, quality assurance personnel,
software developers, senior architects, and project managers
5
Agile RE Practices (1/7)
Face-to-face communication over written specifications
Simple techniques such as user stories to define high-level requirements
Developers discuss requirements in detail with the customers before and/or during
development
6
Benefits Challenges
Customers can steer the project in unanticipateddirections
Intensive interaction between customers and developers
Informal communication obviates the need fortime-consuming documentation and approvalprocesses, which are perceived as unnecessary
The development team must spend extra effort to integrate the requirements through negotiations with each group.
Requirements are clearer and more understandable to developers as direct communication happen
Customers sometimes find it difficult to understand or trust the agile RE process.
Agile RE Practices (2/7)
Iterative requirements engineering
The requirements aren’t predefined; instead, they emerge during
development
Most organizations, agile RE continue at each development cycle
7
Benefits Challenges
Creates a more satisfactory relationship with the customer
Cost and schedule estimation is difficult
Requirements are become more clear to the developers
Minimal documentation
Neglect of nonfunctional requirements
Agile RE Practices (3/7)
Requirement prioritization goes extreme
Agile development implements the highest priority features early
Prioritization often happens during the planning meetings at the beginning
of each cycle
8
Benefits Challenges
Clear understanding of the customer’s priorities helps the development team better meet customer needs
How each reprioritization is effecting of the system architecture
Frequent reprioritization of requirements Leads to some instability of the system
Agile RE Practices (4/7)
Managing requirements change through constant
planning
Accommodating requirements changes during development is a way of tuning
the system to better satisfy customer needs
9
Benefits Challenges
Largely minimizes the need for major changes Redesign of the architecture added significantly to project cost
Customers are misbehave and requesting more fancy requirement more often
Agile RE Practices (5/7)
Prototyping
Develop a prioritized list of features to settle requirements
specification quickly
10
Benefits Challenges
Regularly use prototypes to obtain quick customer feedback on requirements.
Quick deployment of prototypes in the early stages has created unrealistic expectations among customers.
Agile RE Practices (6/7)
Test-driven development
An evolutionary approach in which developers create tests before
writing new functional code
11
Benefits Challenges
Change impacts are quickly identified at the development phase it self
Developers aren’t familiar to writing tests before coding, it demands a lot of discipline
More quality is assured
Agile RE Practices (7/7)
Use review meetings and acceptance tests
Frequent review meetings for requirements validation
12
Benefits Challenges
Identify problems early during development Focuses more on requirements validation than traditional approaches
Increasing customer trust
Conclusion
Organizations didn’t explicitly follow any specific
“brand” of agile methods, they followed RE practices
that were similar to those suggested by agile methods
such as Extreme Programming (XP) and Scrum.
14