mike cohn - background...planning poker for estimating •an iterative approach to estimating...
TRANSCRIPT
Planning and Trackingon Agile Projects
Mike Cohn - background
© Mountain Goat Software, LLC
1
2
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
Imagine...
• That you’re fed up with software development as a career
• And you decide to go into the landscaping business
• Your first job is moving this pile of rock from the front of my house to the back
Copyright Mountain Goat Software, LLC
How might you estimate this?• One way:
• Look at the pile of rock and estimate how many wheelbarrow loads it represents
• After an hour, see how many wheelbarrow loads you’ve moved then extrapolate the total duration
3
4
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
My landscaping
0
20
40
60
80
100
Noon 1pm 2pm 3pm 4pm 5pm
Wheelb
arr
ow
Loads
Copyright Mountain Goat Software, LLC
Release, iteration, & velocity
•A release comprises multiple iterations
•Each iteration can be thought of as a same-sized box
•Stories are put into each box until it’s full
•The size of the box is the planned velocity
5
6
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
The planning onion
Copyright Mountain Goat Software, LLC
Relating the different planning levels
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
3
5
5
2
2
Itera
tion 2
Itera
tion 1
Product Backlog Iteration Backlog
7
8
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
An agile approach to planning
Feedback
Feedback
Copyright Mountain Goat Software, LLC
Estimating
Release planning
Burndown charts
Task boards
Agenda
9
10
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
Story points
• The most common way for agile teams to estimate these days is in “Story Points”
• Based on a combination of the size and complexity of the work
• Unitless but numerically relevant estimates
• A 10-point story is expected to take twice as long as a 5-point story
Copyright Mountain Goat Software, LLC
Consider these two piles of work
11
12
Wednesday, August 23, 2006
© Mountain Goat Software, LLC
Dog points
Assign “dog
points” to the
following breeds
Copyright Mountain Goat Software, LLC
Two key advantages
• Estimating in story points
1. Forces the use of relative estimating
• Studies have shown we’re better at this
2. Focuses us on estimating the size, not the duration
• We derive duration empirically by seeing how much we complete per iteration
3. Puts estimates in units that we can add together
13
14
Wednesday, August 23, 2006
© Mountain Goat Software, LLC
Planning poker for estimating
• 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 it’s discussed briefly
• Each estimator selects a card that’s his or her estimate
• Cards are turned over so all can see them
• Discuss differences (especially outliers)
• Re-estimate until estimates converge
© Mountain Goat Software, LLC
Planning poker - an example
20138532
1
15
16
Wednesday, August 23, 2006
© Mountain Goat Software, LLC
Why planning poker works
• Emphasizes relative estimating
• Focuses most estimates within an approximate one order of magnitude
• Everyone’s opinion is heard
• Estimators are required to justify estimates
• Estimates are constrained to a set of values
• It’s quick and fun
Copyright Mountain Goat Software, LLC
Estimating
Release planning
Burndown charts
Task boards
Agenda
17
18
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
An agile release plan
We’ll be here by the planned deadline
Prio
ritiz
ed p
rodu
ct b
ackl
og
Copyright Mountain Goat Software, LLC
Look at velocity in a few ways
0
10
20
30
40
1 2 3 4 5 6 7 8 9
Velocity
Iterations
Mean (Worst 3) = 28
Mean (Last 8) = 33Last Observation = 36
19
20
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
Extrapolate from velocity
At current velocity we’ll finish here
At our slowest velocity we’ll finish here
At our long-term average we’ll finish here
Copyright Mountain Goat Software, LLC
Estimating
Release planning
Burndown charts
Task boards
Agenda
21
22
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
How’s my landscaping coming?
0
20
40
60
80
100
Noon 1pm 2pm 3pm 4pm 5pm
Wheelb
arr
ow
Loads
Copyright Mountain Goat Software, LLC
Remember the different levels?
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
As a frequent flyer, I want to...
3
5
5
2
2
Itera
tion 2
Itera
tion 1
Product Backlog Iteration Backlog
23
24
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
An iteration burndown chart
0
200
400
600
800
1,0004/2
9/0
2
5/6
/02
5/1
3/0
2
5/2
0/0
2
5/2
4/0
2
Hours
Copyright Mountain Goat Software, LLC
When will this project be released?
Sto
ry P
oin
ts
Sprints
600
450
300
150
01 2 3 4 5
25
26
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
Estimating
Release planning
Burndown charts
Task boards
Agenda
Copyright Mountain Goat Software, LLC
Task boardsStory To Do
InProcess
ToVerify Done
27
28
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
A sample task board
Copyright Mountain Goat Software, LLC
A cork task board
29
30
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
A hanging tack board
Copyright Mountain Goat Software, LLC
Velcro in a team room
31
32
Wednesday, August 23, 2006
Copyright Mountain Goat Software, LLC
Repurposing the cabinets
Copyright Mountain Goat Software, LLC
Mike Cohn contact info
33
34
Wednesday, August 23, 2006