2008-03-15 Mike Cohn - Agile Estimation and Planning
2008-03-15 Mike Cohn - Agile Estimation and Planning
2008-03-15 Mike Cohn - Agile Estimation and Planning
Mike Cohn
12 March 2008
20032007 Mountain Goat Software
Agenda
The right units for estimating
How to estimate
Release planning
300 kilograms
Velocity = 20
300/20 = 15 sprints
Measures of size
Sequential
Lines of code Function points
Agile
Story points Ideal days
Ideal days
its all you worked on you had no interruptions and everything you need is available
Story points
As a user, I want to be able to have some but not all items in my cart gift wrapped.
Zoo points
What value in zoo points would you put on these zoo animals?
Story points help drive cross-functional behavior Story point estimates do not decay Story points are a pure measure of size Estimating in story points is typically faster
Agenda
The right units for estimating
How to estimate
Release planning
Estimate by analogy
Comparing a user story to others
This story is like that story, so its estimate is what that storys estimate was.
Planning poker
An iterative approach to estimating Steps
Each estimator is given a deck of cards, each card has a valid estimate written on it Customer/Product owner reads a story and its discussed briefly Each estimator selects a card thats his or her estimate Cards are turned over so all can see them Discuss differences (especially outliers) Re-estimate until estimates converge
20032007 Mountain Goat Software
Estimator
Round 1 Round 2
Erik
Martine
3
8
5
5
Inga
Tor
2
5
5
8
Estimate these
Product backlog item Estimate
Write the product backlog for a simple eCommerce site that sells only clocks.
Recruit, interview, and hire a new member for your team. Create a 60-minute presentation about agile estimating and planning for your coworkers. Wash and wax your boss Porsche. Read a 150-page book on agile software development. Write an 8-page description of agile development for your boss.
www.planningpoker.com
Agenda
The right units for estimating How to estimate Release planning
Release planning
Release Planning Meeting
Release Plan
Sprint 1 Sprint 2 Sprint 3 Sprints 47
Story B 8
Story G 3
Story E 1
1 2 3 4 5 6 7 8 9
Fixed-date planning
How much can I get by <date>?
Count off that many points; These are Will Have items
Will have
1 January 6 15 6 (monthly) 15 20
20032007 Mountain Goat Software
Might have
6 20
Wont have
Agenda
The right units for estimating How to estimate Release planning
Three issues
Estimating in a common unit
Sprint planning
Dependencies
Select a dozen or so user stories that were done recently or are on the product backlog Estimate them en masse with Planning Poker
Helps a key resource (e.g., a product owner or architect) fully participate in many planning meetings
Dependencies
Critical dependencies between teams
Must be done in this order and likely to influence overall ship date
Fewer of these than you may think
Emergent dependencies
OK, were going to start on such-and-such soon. As you know we need this-and-that first.
20032007 Mountain Goat Software
20 points
10 points
20 points
Sprint 1
Sprint 2
Sprint 3
17 points
17 points
17 points
After Sprint 1
Sprint 1
Code Test Design Code 8 4 4 5
Sprint 2
Sprint 3
Sprints 47
After Sprint 2
Sprint 2
Code Test Test Code 3 7 6 8
Sprint 3
Sprint 4
While planning Sprint 2, a team rolls Sprint 4 into view. They discover a dependency on another team. Sprints 57 The other team work on that item during Sprint 3.