Your SlideShare is downloading. ×
Advanced Topics in Agile Planning
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

Advanced Topics in Agile Planning

541

Published on

Certified Scrum trainer and author Mike Cohn shows advanced uses of velocity for planning, and how to forecast velocity without any historical data. …

Certified Scrum trainer and author Mike Cohn shows advanced uses of velocity for planning, and how to forecast velocity without any historical data.

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

No Downloads
Views
Total Views
541
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
54
Comments
0
Likes
4
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 CohnNorwegian Developer’s Conference6 June 2012AdvancedAgile Planning1
  • 2. © Copyright Mountain Goat Software®The planning onionDailyIterationReleaseProductPortfolioStrategyTeam focuses hereTeam focuses hereTeam focuses here2
  • 3. © Copyright Mountain Goat Software®Release and iteration planningRelease PlanIteration 2Iteration 1 Iteration 3 Iterations 4–7Code the … 8Test the … 12Design a … 8Code the … 6Iteration PlanCode the … 6Decide … 4Test the … 6Automate … 8Iteration Plan3
  • 4. © Copyright Mountain Goat Software®What’s a good plan?A good plan is one that supports reliabledecision-makingWill go fromWe’ll be done in the third quarterWe’ll be done in DecemberWe’ll be done 18 December“It’s better to beroughly right thanprecisely wrong.”—J.M. Keynes4
  • 5. © Copyright Mountain Goat Software®VelocityAn iteration410 13Velocity = 155
  • 6. © Copyright Mountain Goat Software®VelocityA useful long-term measure of the amount ofwork completed per iterationMost useful over at least a handful of iterations0102030401 2 3 4 5 6 7 8 9Velocity is measuredin the units you useto estimate productbacklog itemsVelocity6
  • 7. © Copyright Mountain Goat Software®Five Planning ScenariosA team with historical dataFixed-date plansFixed-scope plansA team with no velocity dataA team changing size7
  • 8. © 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 Velocities8
  • 9. © 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)9
  • 10. © Copyright Mountain Goat Software®Use the online velocityrange calculator atmountaingoatsoftware.com/tools10
  • 11. © Copyright Mountain Goat Software®Five Planning ScenariosA team with historical dataFixed-date plansFixed-scope plansA team with no velocity dataA team changing size11
  • 12. © 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.12
  • 13. © Copyright Mountain Goat Software®Count the iterationsAPRIL181522292916233031017244111825512192661320277142128SUN MON TUE WED THU FRI SATMAY61320277142128181522292916233031017243141118255121926SUN MON TUE WED THU FRI SATJUNE61320277142128181522292916233031017243141118255121926310172441118255121926613202771421281815222929162330SUN MON TUE WED THU FRI SAT13
  • 14. © Copyright Mountain Goat Software®Determine a velocity range01020304050StoryPointsIterations302125342530 29 2914
  • 15. © 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 time15
  • 16. © Copyright Mountain Goat Software®Balancing riskLowExpectationRiskDelivery RiskLow HighHighPromise JusttheWill-HavesPromise AlltheMight-Haves16
  • 17. © Copyright Mountain Goat Software®Five Planning ScenariosA team with historical dataFixed-date plansFixed-scope plansA team with no velocity dataA team changing size17
  • 18. © 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.18
  • 19. © Copyright Mountain Goat Software®= 120 story points}=15–200510152025StoryPointsIterations19
  • 20. © 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 time20
  • 21. © Copyright Mountain Goat Software®RangesNotice in both cases we had a rangeFor a fixed date project, use a scoperange:“By that date you’ll have all of these featuresand some of these.”For a fixed-scope project, use a daterange:“It will take us between 6 and 8 iterations todeliver all of those features.”21
  • 22. © Copyright Mountain Goat Software®The impending tradeshowYour company develops tools for managing agileprojects.You’ve finished version 1.0 (on time, of course).Now the boss needs a new version for the bigtrade show that is 4 iterations away.• Which features can you “guarantee” will be infor the trade show?• Which features are likely to be in? Use the followinguser stories,estimates andvelocities.22
  • 23. © Copyright Mountain Goat Software®Past velocitiesHistoriccal DataIteration Velocity1 202 143 234 185 256 307 128 229 1510 23Your estimates23
  • 24. © Copyright Mountain Goat Software®Product backlog item Estimate1. As the product owner I want to drag items onto a releaseburndown chart and see the impact to the release date.202. As a user at a company with lots of cash, I want your product tosupport touch screens so I can put a large one in our teamroom.133. As a user I would like performance to be about twice as fast asnow during peak use periods.204. As a team member, I’d like to be able to do online planningpoker estimating right inside the tool.135. As a third party, I would like an SOA interface so that I canintegrate my product with yours.86. As a team member I want RSS support for all changes to tasksor user stories so that I’m notified.87. As the product owner, I want a new report that showsdifferences in the product backlog between different timeperiods.38. As a team member I’d like to define templates of tasks thatrecur for lots of different stories so that I can reuse them1324
  • 25. © Copyright Mountain Goat Software®Five Planning ScenariosA team with historical dataFixed-date plansFixed-scope plansA team with no velocity dataA team changing size25
  • 26. © Copyright Mountain Goat Software®Forecast an initial velocityGet the team together as though there were goingto plan a real iteration (2–4 weeks)Iteration planning involvesBreaking product backlog items (features) intotasksEstimating the hours for each taskRepeating until the iteration feels fullSee how many points are represented by the workthey selectConsider planning a second iteration this way26
  • 27. © Copyright Mountain Goat Software®Consider this teamPerson Hours/Day Hours / IterationSergey 4–6 40–60Yuri 4–6 40–60Carina 2–3 20–30Tootal 100–15027
  • 28. © 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… 48314828
  • 29. © Copyright Mountain Goat Software®Turn the point estimate into a rangeIf you don’t have historical dataTake a wild guess, perhaps:+/– 10% for a known team working in a knowndomain with known technologies+/– 50% if all that is unknownIf you have historical data from otherteamsCalculate the relative standard deviation ofthose teams29
  • 30. © Copyright Mountain Goat Software®Using data from other teamsTeamm AIteration Velocity1 202 283 244 165 186 237 268 21Team AMeanStandardDeviation22 3.8Relative standarddeviation3.8 / 22 = 17%30
  • 31. © Copyright Mountain Goat Software®Product BacklogWill HaveMight HaveWon’t HaveEstimatedvelocity = 11139119%81%Adjust velocityby ±19%multiply bynumber ofiterations31
  • 32. © Copyright Mountain Goat Software®Five Planning ScenariosA team with historical dataFixed-date plansFixed-scope plansA team with no velocity dataA team changing size32
  • 33. © Copyright Mountain Goat Software®InitialTeamSizeNewTeamSizeIteration+1Iteration+2Iteration+36 7 –20% –4% +12%6 7 0% –6% +15%7 5 –12% –8% –8%8 6 –20% –20% –16%7 8 –15%Track acrossthe entireorganization.Track velocity when size changes33
  • 34. © Copyright Mountain Goat Software®InitialTeamSizeNewTeamSizeIteration+1Iteration+2Iteration+36 7 –20% –4% +12%6 7 0% –6% +15%7 5 –12% –8% –8%… … … … …Impact of going from 6–7 peopleIterationAverageVelocity Change1 –10%2 –5%3+ +13%34
  • 35. © Copyright Mountain Goat Software®mike@mountaingoatsoftware.comwww.mountaingoatsoftware.comtwitter: mikewcohn(888) 61-AGILEMike Cohn35

×