agile requirements engineering practices: an empirical study

15
1 Agile Requirements Engineering Practices: An Empirical Study Lan Cao, Old Dominion University Balasubramaniam Ramesh, Georgia State University Presented By: Dilruk G.A. (148209B)

Upload: asanka-dilruk

Post on 17-Jul-2015

48 views

Category:

Software


0 download

TRANSCRIPT

1

Agile RequirementsEngineering Practices:An Empirical Study

Lan Cao, Old Dominion University Balasubramaniam Ramesh, Georgia State University

Presented By:

Dilruk G.A. (148209B)

Index…

Motivation for Agile RE

What is Agile RE

Survey

Seven Agile RE Practices

Conclusion

2

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

Agile RE Practices Survey Summery

13

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

15