Your SlideShare is downloading. ×
Planning for Contract Agile Projects
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Planning for Contract Agile Projects

296

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
296
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mike CohnCopenhagen31 January 2012Planning forContract AgileProjects1
  • 2. © Copyright Mountain Goat SoftwareFounding member anddirector of Agile Allianceand Scrum AllianceFounder of MountainGoat SoftwareDoing Scrum since 1995Started my career as aprogrammerVP Engineering in 4companiesMike Cohn®2
  • 3. © Copyright Mountain Goat Software®User stories &velocity3
  • 4. © Copyright Mountain Goat Software®User storiesAs a sports announcer, Ican see a list of allathletes in an event.As a sports announcer, Ican view details abouta specific athlete.As a content editor, Ihave basic control overhow data is formatted.As a content editor, Ihave basic control overhow data is formatted.“As a <user role>, Iwant/can/am able to<goal> so that<reason>.”A template4
  • 5. © Copyright Mountain Goat Software®A requirements documentAthlete browsingAs a sports announcer...1. I can view details about a specific athlete• Name (multiple, could be long, includepronunciation)• Nickname (include pronunciation)• Prior performance at Olympics• World and Olympic records held• Interesting anecdotes2.I can bookmark athletes of interest• At least 200 bookmarksAs a content editor...3.I have basic control over how data is formatted5
  • 6. © Copyright Mountain Goat Software®As a sports announcer, I cansee a list of all athletes inan event.As a content editor, I havebasic control over how datais formatted.1056
  • 7. © Copyright Mountain Goat Software®VelocityAn iteration410 13Velocity = 157
  • 8. © Copyright Mountain Goat Software®0102030401 2 3 4 5 6 7 8 9IterationsVelocity8
  • 9. © Copyright Mountain Goat Software®❸Fixed-everythingprojects❷Fixed-date &projects❶Planning withhistorical data9
  • 10. © Copyright Mountain Goat Software®Calculate a confidence interval fromhistorical data27343538394040414590% confidenceinterval# ofhistoricaliterationsIterations tothrow outfrom eacheach end0–7 08–10 111–12 213–15 316–17 418–20 521–22 623–25 726+ 8Sorted Velocities10
  • 11. © Copyright Mountain Goat Software®Extrapolate from the velocity rangeProductBacklogAssume thereare fiveiterations leftWe’ll almost certainly get here (5×34=170)The most we can realistically expect (5×41=205)11
  • 12. © Copyright Mountain Goat Software®Use the online velocityrange calculator atmountaingoatsoftware.com/tools12
  • 13. © Copyright Mountain Goat Software®Fixed-date13
  • 14. © Copyright Mountain Goat Software®Fixed-date planningThree steps1. Determine how many iterationsyou have.2. Estimate velocity as a range.3. Use that range × the number ofiterations to partition the backloginto Will Have, Might Have, andWon’t Have.14
  • 15. © Copyright Mountain Goat Software®Count the iterationsAPRIL181522292916233031017244111825512192661320277142128SUN MON TUE WED THU FRI SATMAY61320277142128181522292916233031017243141118255121926SUN MON TUE WED THU FRI SATJUNE61320277142128181522292916233031017243141118255121926310172441118255121926613202771421281815222929162330SUN MON TUE WED THU FRI SAT15
  • 16. © Copyright Mountain Goat Software®Determine a velocity range01020304050StoryPointsIterations302125342530 29 2916
  • 17. © Copyright Mountain Goat Software®ProductBacklogMight haveWon’t haveWill have6×25Determine what to commit toIf you promise thisYou probably won’t getthe contracteverything if you doIf you promise thisYou will probably winthe contracteverything in time17
  • 18. © Copyright Mountain Goat Software®Balancing riskLowExpectationRiskDelivery RiskLow HighHighPromise JusttheWill-HavesPromise AlltheMight-Haves18
  • 19. © Copyright Mountain Goat Software®Fixed-scopeprojects19
  • 20. © Copyright Mountain Goat Software®Fixed scope planningThree steps1. Sum the product backlogitems.2. Estimate velocity as a range.3. Use the sum of the backlogdivided by the velocityrange to determine a daterange.20
  • 21. © Copyright Mountain Goat Software®= 120 story points}=15–200510152025StoryPointsIterations21
  • 22. © Copyright Mountain Goat Software®120 ÷ 15 =JUNE61320277142128181522292916233031017243141118255121926310172441118255121926613202771421281815222929162330SUN MON TUE WED THU FRI SATJANUARY71421281815222929162330310172431411182551219266132027SUN MON TUE WED THU FRI SATFEBRUARY41118255121926613202771421281815222916233101724SUN MON TUE WED THU FRI SATMARCH41118255121926613202771421281815222929162330310172431SUN MON TUE WED THU FRI SATAPRIL181522292916233031017244111825512192661320277142128SUN MON TUE WED THU FRI SATMAY61320277142128181522292916233031017243141118255121926SUN MON TUE WED THU FRI SATJULY18152229291623303101724314111825512192661320277142128SUN MON TUE WED THU FRI SATAUGUST51219266132027714212818152229291623303101724314111825SUN MON TUE WED THU FRI SAT120 ÷ 20 =JUNE61320277142128181522292916233031017243141118255121926310172441118255121926613202771421281815222929162330SUN MON TUE WED THU FRI SATJANUARY71421281815222929162330310172431411182551219266132027SUN MON TUE WED THU FRI SATFEBRUARY41118255121926613202771421281815222916233101724SUN MON TUE WED THU FRI SATMARCH41118255121926613202771421281815222929162330310172431SUN MON TUE WED THU FRI SATAPRIL181522292916233031017244111825512192661320277142128SUN MON TUE WED THU FRI SATMAY61320277142128181522292916233031017243141118255121926SUN MON TUE WED THU FRI SATIf you promise the longdurationYou probably will notget the contractBut it should be easy toIf you promise the shortdurationYou probably get thecontracteverything in time22
  • 23. © Copyright Mountain Goat Software®Balancing riskLowExpectationRiskDelivery RiskLow HighHighPromise thelate FinishPromise theearly finish23
  • 24. © Copyright Mountain Goat Software®Fixed-everythingprojects24
  • 25. © Copyright Mountain Goat Software®A fixed-scope projectTimeScopeI want thismuch. Whencan I get it?25
  • 26. © Copyright Mountain Goat Software®A fixed-date projectTimeScopeWe need it on thisdate. How much canwe have by then?26
  • 27. © Copyright Mountain Goat Software®• Use a rangeStep 1: Estimate velocity• Divide fixed scope by the velocity range• Draw the vertical linesStep 2: Fix the scope• Determine the number of iterations the team has• Multiply by the velocity range• Draw the horizontal linesStep 3: Fix the schedule27
  • 28. © Copyright Mountain Goat Software®A fixed-everything projectTimeScopeImpossibleProbableUncertain28
  • 29. © Copyright Mountain Goat Software®Fix the scopeIterationsScopeGoal: Deliver 200 units of work in 10 iterationsVelocity = 16–22200 / 22 =200 / 16 =9.112.5200 points in10 iterations.Fix the date10×16 =10×22 =16022029
  • 30. © Copyright Mountain Goat Software®Estimatingvelocity30
  • 31. © Copyright Mountain Goat Software®Iteration planning5318353 Code the … 8Test the … 5Confirm … 2Code a … 12Test the … 4Code the … 6Automate … 8Iteration Plan31
  • 32. © Copyright Mountain Goat Software®Consider this teamPerson Hours/Day Hours / IterationSergey 4–6 40–60Yuri 4–6 40–60Carina 2–3 20–30Tootal 100–15032
  • 33. © Copyright Mountain Goat Software®Establishing their velocity100–150 hours per iterationCapacityCode… 12Design … 6Test … 8Decide … 8Automate … 12… 224622Story PointsAs a frequentflyer …3As a visitor … 5As a vacationplanner …5As a frequentflyer …2Code… 8Test … 6Design … 12Test … 5… 48314833
  • 34. © Copyright Mountain Goat Software®Trackingprogress34
  • 35. © Copyright Mountain Goat Software®A relelase burndown chartStoryPointsIterations10001 2 3 4 520030040035
  • 36. © Copyright Mountain Goat Software®mike@mountaingoatsoftware.comwww.mountaingoatsoftware.comtwitter: mikewcohn(888) 61-AGILEMike Cohn36

×