Agile
Agile
Agile
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
2. Planning Game
Developers and customers together plan project
Developers give cost estimates to stories and a budget of how
much they can accomplish
Can use abstract accounting mechanism
Later compare to actual cost, to improve estimates over time
4. Small Releases
Time between releases drastically reduced
A few weeks/months
Multiple iterations
Can have intermediate iterations between bigger releases
6. Simple Design
8. Pair Programming
Discussed later
9. Collective Ownership
Anyone can edit anything
Errors are the fault of the whole team
SCRUM
Idea first appeared in a business journal in
1986 (applied to product development
management).
Used in software development and
presented in 1995 paper.
Term is based on rugby term
Small cross-functional teams
SCRUM Practices
Product and release backlog
A list of the features to be implemented in the
project (subdivided to next release), ordered by
priority
Can adjust over time as needed, based on
feedback
A product manager is responsible for
maintaining
SCRUM Practices
Burn-down chart
Make best estimate of time to complete what is
currently in the backlog
Plot the time on a chart
By studying chart, understand how team
functions
Ensure burndown to 0 at completion date
By adjusting whats in the backlog
By adjusting the completion date
SCRUM Practices
The sprint
The sprint is a ~1 month period after which some product is
delivered
Features are assigned from the product backlog to a sprint backlog
Features divided into smaller tasks for sprint backlog
Feature list is fixed for sprint
Planning meeting
Tasks can be assigned to team members
Team members have individual estimates of time taken per item
SCRUM Practices
Scrum meeting
15 minute daily meeting
All team members show up
Quickly mention what they did since last Scrum, any
obstacles encountered, and what they will do next
Some team member volunteers or is appointed to be the
Scrum Master - in charge of Scrum meeting, and
responsible for seeing that issues raised get addressed
Customers, management encouraged to observe
SCRUM Practices
24 hours
Sprint
Release Backlog
Backlog
Product
Backlog
Scrum
Meeting
Sprint
Plan
Begin
Sprint
30 days
Sprint
Retrospective
End
Sprint
New
Functionality
Crystal
Feature-driven development (FDD)
Adaptive software development (ASD)
Dynamic System Development Method
(DSDM)
Resources Used
Agile methods: www.AgileAlliance.org
Agile methods (especially XP): Agile Software
Development, by Robert C. Martin, Prentice-Hall
2003.
SCRUM: www.controlchaos.org
XP: eXtreme Programming in Action Practical
Experiences from Real World Projects, by Martin
Lippert, Stefan Roock, Henning Wolf, John Wiley
and Sons, 2002.