Lecture 5 Agile Dev
Lecture 5 Agile Dev
7
Agile Software Development
Software Engineering: A Practitioner’s
Approach
By Roger Pressman
Slides copyright © 1996, 2001, 2005, 2009
by Roger S. Pressman
Adapting a Process Model
The process should be agile and adaptable to problems. Process
adopted for one project might be significantly different than a process
adopted from another project. (to the problem, the project, the team,
organizational culture). Among the differences are:
2
Prescriptive and Agile Process
Models
3
Agile methods
Dissatisfaction with the overheads involved in
software design methods of the 1980s and 1990s led
to the creation of agile methods. These methods:
Focus on the code rather than the design
Are based on an iterative approach to software
development
Are intended to deliver working software quickly and evolve
this quickly to meet changing requirements.
The aim of agile methods is to reduce overheads in
the software process (e.g. by limiting documentation)
and to be able to respond quickly to changing
requirements without excessive rework.
The Manifesto for Agile Software
Development
“We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
•Individuals and interactions over processes
and tools
•Working software over comprehensive
documentation
•Customer collaboration over contract
negotiation
•Responding to change over following a plan
That is, while there is value in the items on the
right, we value the items on the left more.”
Kent Beck et al
What is “Agility”?
Effective (rapid and adaptive) response to
change
Effective communication among all
stakeholders
Drawing the customer onto the team
Organizing a team so that it is in control
of the work performed
Yielding …
Rapid, incremental delivery of software
Agility and the Cost of Change
Plan-driven and agile specification
An Agile Process
Why (optional)
Easy to understand
Short
#pmineflconf2015
@LewisCindy
User Story Examples (2 of 2)
As a dog owner, I As a dog owner, I
want the dog to don’t want the dog
notify me when it
needs to go out. to bite humans.
#pmineflconf2015
@LewisCindy
Adaptive Software Development
31
Scrum
The Scrum process
Crystal
Proposed by Cockburn and Highsmith
Crystal—distinguishing features
Actually a family of process models that
35
Feature Driven Development