Cohn Planning Basics to Brainstumpers Agile2010
-
Upload
abdul-rasheed-shaik -
Category
Documents
-
view
221 -
download
0
Transcript of Cohn Planning Basics to Brainstumpers Agile2010
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
1/32
2009 Mountain Goat Software Copyright Mountain Goat Software
AgilePlanning:
FromBasicstoBrainstumpers
MikeCohn
om
9August2010
Copyright Mountain Goat Software
Mike CohnFounding member anddirector of Agile Allianceand Scrum Alliance
Founder of MountainGoat Software
Doing Scrum since 1995Started my career as aprogrammer; worked asVP Engineering in 4companies
1
2
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
2/32
2009 Mountain Goat Software Copyright Mountain Goat Software
Release and sprint planning
Release Plan
Sprint 1 Sprint 2 Sprint 3 Sprint 47
Copyright Mountain Goat Software
A good plan is one that supports reliabledecision-making
Will go from
Well be done in the second quarter
Well be done in FebruaryWell be done February 18th
John Maynard Keynes
Its better to be roughly rightthan precisely wrong.
3
4
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
3/32
Copyright Mountain Goat Software
Is more focused onplanning than the plan
Encourages change
Results in plans that areeasily changed
Is spread throughout theproject
Copyright Mountain Goat Software
EstimatingHowdoIbestusehistoricalv
elocity
data?HowdoIestimatevelocityfor
a
newteam?HowdodoIestimatevelocity
if
teamsizechanges? HowdoIreliablycommittoafixedscopeorfixeddate?HowdoIcreateaplanwhenthereisatremendousamountofuncertaintyinwhatwerebuilding?WhenshouldIre-estimate?
5
6
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
4/32
Copyright Mountain Goat Software
How long will it take...
...to read the latest
Harry Potter book?
...to drive to Denver?
Copyright Mountain Goat Software
Estimate size; derive duration
Size Calculation Duration
300
kilograms
Velocity =
20
300/20 =
15 sprints
7
8
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
5/32
Copyright Mountain Goat Software
Traditional and agile measure size differently
Traditionalmeasuresof size
Lines of CodeFunction Points
Agilemeasuresof size
Story pointsIdeal days
Copyright Mountain Goat Software
How long a user story will take (effort)
Influenced by complexity, uncertainty, risk,volume of work, etc.
Relative values are what is important:
A login screen is a 2.A search feature is an 8.
Basic math properties should hold
5+5 = 10
9
10
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
6/32
Copyright Mountain Goat Software
HowdoIbestusehistoricalvelocitydata?
2009 Mountain Goat Software Copyright Mountain Goat Software
27
34
35
38
3940
40
41
45
Median 90% confidence
interval
Sorted Velocities # ofHistorical
Sprints
Sprints tothrow out
at each eachend
5 0
8 1
11 2
13 316 4
18 5
21 6
23 7
26 8Usethenextlowe
rnumber
ofsprintsifyoudonthave
anexactnum
ber.
Use the online velocity range calculator atwww.mountaingoatsoftware.com/tools
11
12
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
7/32
2009 Mountain Goat Software Copyright Mountain Goat Software
Extrapolate from the velocity range
At our median velocity well get here (539)
Well almost certainly get here (534)
The most we could realistically expect(541)
Copyright Mountain Goat Software
HowcanIestimate
velocityforanew
team?
13
14
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
8/32
Copyright Mountain Goat Software
Get the team together as though there weregoing to plan a real iteration (24 weeks)
Iteration planning involves
Breaking product backlog items (features) into tasks
Estimating the hours for each task
Repeating until the iteration feels full
See how many points are represented by thework they select
Consider planning a second iteration this way
Copyright Mountain Goat Software
Consider this team
15
16
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
9/32
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
10/32
Copyright Mountain Goat Software
If you dont have historical data
Take a wild guess, perhaps:
+/ 10% for a known team working in a knowndomain with known technologies
+/ 50% if all that is unknown
If you have historical data from other teams
Calculate the relative standard deviation ofthose teams
Copyright Mountain Goat Software
Tea
Sprint
A
Velocity
1
2
3
4
5
6
7
8
20
28
24
16
18
23
26
21
Team A
Mean
22
StandardDeviation
3.8
19
20
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
11/32
2009 Mountain Goat Software Copyright Mountain Goat Software
MeanStandardDeviation
Relative Std.Dev.
Team A
Team B
Team C
...
22 3.8 17%
28 6.2 22%
45 9.3 20%
... ... ...Average 19%
20021=9.5=10Estimatedvelocity = 18
21
15
1.19
0.81 20015=13.3=14
Total ofestimates on
product backlog
Before we start this project, our bestestimate is from 10 to 14 sprints.
Copyright Mountain Goat Software
HowdodoIestimate
velocityifteamsize
willchangeduringthe
project?
21
22
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
12/32
Copyright Mountain Goat Software
If future team size changes are likely to besimilar to past team size changes:
Use historical velocity without anyadjustments for team composition
If future team size changes will be different:
Predict the impact of those changes with datafrom past team size changes
Copyright Mountain Goat Software
Track velocity when size changes
Initial
Team Size
New
Team SizeSprint +1 Sprint +2 Sprint +3
6 7 20% 4% +12%
6 7 0% 6% +15%
7 5 12% 8% 8%
8 6 20% 20% 16%
7 8 15%
23
24
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
13/32
Copyright Mountain Goat Software
InitialTeam Size
NewTeam Size
Sprint +1 Sprint +2 Sprint +3
6 7 20% 4% +12%6 7 0% 6% +15%
7 5 12% 8% 8%
SprintAverage Velocity
Change
1 10%
2 5%
3+ +13%
The impact of going from 67 people
Copyright Mountain Goat Software
SprintAdjust-
ment
Low
(34)
Median
(39)
High
(41)
1 10% 30 35 36
2 5% 32 37 39
3 +13% 38 44 46
4 +13% 38 44 46
5 +13% 38 44 46
Sum 176 204 213
Round down toavoid overstating
velocity.
25
26
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
14/32
2009 Mountain Goat Software Copyright Mountain Goat Software
Predicted impact of a new team member
204 now; was 195 (539)
176 now; was 170(534)
213 now; was 205(541)
Copyright Mountain Goat Software
HowdoIreliably
committoafixedscope
orfixeddate?
27
28
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
15/32
Copyright Mountain Goat Software
1. Determine how many sprints you have2. Estimate velocity as a range
3. Multiply low velocity number of sprints
Count off that many points
These are Will Have items
4. Multiply high velocity number of sprints
Count off that many more points
These are Might Have items
How much can I get by ?
2009 Mountain Goat Software Copyright Mountain Goat Software
Fixed-date planning: an example
615
620
Will have
Might have
Wont have
29
30
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
16/32
2009 Mountain Goat Software Copyright Mountain Goat Software
Fixed-date contracting
615
620
Will have
Might have
Wont have
If you write a contract forjust the will-haves:
You wont likely win the contract
But youll probably make money if you do
If you write a contract thatincludes the might haves:
You will likely win the contract But probably not make money on it
Its a risk issue
How much risk do you want to take?
Its a balance between short- and long-term risk
Copyright Mountain Goat Software
1. Sum all the backlog items the customer needs
2. Estimate velocity as a range
3. Divide total story points by high velocity
This is the shortest number of sprints it could take
4. Divide total story points by low velocity
This is the most sprints it could take
When will all of this be done?
31
32
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
17/32
Copyright Mountain Goat Software
Fixed-scope planning: an example
12020=
12015=
Copyright Mountain Goat Software
Fixed-scope contractingIf you write a contract for
the short duration:
Youll likely win the contract But may not make any money
If you write a contract forthe longduration:
You probably wont win the contract But will make money if you do
Again, its a risk issue
How much risk do you want to take? Its a balance between short- and long-term risk
33
34
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
18/32
Copyright Mountain Goat Software
Notice in both cases we had a range
For a fixed date project, use a scope range:
By that date youll have all of these featuresand some of these.
For a fixed-scope project, use a date range:
It will take us between 5 and 8 sprints todeliver all of those features.
Copyright Mountain Goat Software
The impending tradeshow
Your company develops tools for managing agileprojects.Youve finished version 1.0 (on time, of course).Now the boss needs a new version for the bigtrade show that is 4 sprints away.
Which features can you guarantee will be infor the trade show?
Which features are likely to be in?
Use the following user stories,estimates and velocities.
35
36
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
19/32
Copyright Mountain Goat Software
Past velocities
Histo ical Data
Sprint
number
Velocity
1 20
2 14
3 23
4 18
5 25
6 30
7 12
8 22
9 15
10 23
Your estimates
Copyright Mountain Goat Software
The teams estimates
37
38
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
20/32
Copyright Mountain Goat Software
HowdoIcreateaplan
whenthereisatremendousamountofuncertaintyinwhatwerebuilding?
Copyright Mountain Goat Software
50%
estimate
Buffer to
90%
Time=1:05
Time=1:45
39
40
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
21/32
Copyright Mountain Goat Software
Time
ProbabilityofCompletio
n
Copyright Mountain Goat Software
50% estimates
Remove all local safety: no padding
An estimate you should / willmiss more than half the time
90% estimates
Not really a worst case
No lightning strikes or busses running over people
Keep in mind that youll even exceed thisestimate occasionally
41
42
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
22/32
Copyright Mountain Goat Software
90% Confidence
Interval
Copyright Mountain Goat Software
We cant add the 50% estimates together
That assumes everything goes smoothly
Overall schedule will be too short
We cant add the 90% estimates together
That assumes that everything goes wrong
Overall schedule will be too long
43
44
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
23/32
Copyright Mountain Goat Software
We add the 50% estimates
And buffer the overall project, rather thanthe tasks
50% 90% 50% 90% 50% 90%+ +
+ 90%
Copyright Mountain Goat Software
50%estimate
Time=1:05
Buffer to90%
Time=1:45
1
45
5
7
7
53
45
46
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
24/32
Copyright Mountain Goat Software
Padding is extra time you dont think youllneed but add to be safe
Padding implies it was unnecessary
You will need the project buffer
Even with the project buffer youre notguaranteed to be done on time
Copyright Mountain Goat Software
Simple rule
Use 50% of the unbuffered (50%) schedule
More sophisticated, usually better
h = high estimate (90%)l = low estimate (50%)
The more sophisticated approach considers the
extreme variability of some work
This will take 2 days if it goes well, or 20 if not.
47
48
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
25/32
Copyright Mountain Goat Software
When the cost of being wrong is significant
Highly political environment
A great deal of extra activity (press releases, ads, training,etc.) is planned for the release date
When theres a great deal of uncertainty or risk in theproduct backlog
When youre at risk (e.g., contract development)
Dont bother in most cases
Trusting environment
When theres little impact to refining release date midwaythrough the project
Copyright Mountain Goat Software
Schedule =16+ 111 =16+11= 27
49
50
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
26/32
Copyright Mountain Goat Software
Whenshould Ire-estimate?
2009 Mountain Goat Software Copyright Mountain Goat Software
Re-estimating
33
33
33
33
33
33
33
33
We expect
velocity = 12
But we finish
half that much
51
52
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
27/32
2009 Mountain Goat Software Copyright Mountain Goat Software
666
66
6
66
But a velocity of 6
doesnt seem right; so
we double those stories
But if all stories are the
same size, we need to
double all of them
333
33
3
66
Copyright Mountain Goat Software
53
54
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
28/32
Copyright Mountain Goat Software
The team has just finished the first sprint
Theyd planned to do stories A, B, and C
They only finished A and B
Largely because Story A was much harder thanexpected
It should have been at least a six.
The real problem is not just with Story A butwith all stories related to graphing (A, C, and D)
Graphing is twice as hard as theyve estimated
Copyright Mountain Goat Software
What is the teams velocity? Will they be able to maintain that velocity?
No re-estimating
The first two situations
What happens if Story A (only) is re-estimated as 6? What was the velocity of the finished sprint? What stories are planned for the next sprint? Will the team finish those stories?
Re-estimate the finished story
55
56
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
29/32
Copyright Mountain Goat Software
Stories A, B, and C are all graphing stories; graphing is
twice as hard as thought so double all these What was the velocity of the first sprint? Can the team do that much in the second sprint?
Re-estimating when relative size changes
Whatcanyouconclude
aboutre-estimatingfrom
thesethreescenarios?
Copyright Mountain Goat Software
Asamanager,Iamsentan
emailwhenoneofmy
employeesrequeststime
off. ?
As an employee, I amsent an email when mymanager approves orrejects my time offrequest. ?
Theres some initial
work before we can
send the first email
Once that is done,
sending other emailswill be easy
What estimates
should we put on
these two stories?
Related, dependent stories
57
58
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
30/32
Copyright Mountain Goat Software
Assumptions Five points for initial email support and sending first email One point for each new email type to send
Which option is best?
Five points on each since we dontknow which well do first
Five points on either story and onepoint on the other
Three points on each
Copyright Mountain Goat Software
A Guiding Tip:
The sum of all items on
the product backlog
should always representthe full size of the entire
project.
59
60
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
31/32
Copyright Mountain Goat Software
Copyright Mountain Goat Software
Moreinfoatwww.mountaingoatsoftware.com
My upcoming classes
ClassesalsoinLondon&Oslo
61
62
-
8/8/2019 Cohn Planning Basics to Brainstumpers Agile2010
32/32
Copyright Mountain Goat Software
Mike [email protected]
www.mountaingoatsoftware.comtwitter: mikewcohn
(720) 8906110
63