• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Planning and Tracking Agile Projects
 

Planning and Tracking Agile Projects

on

  • 383 views

 

Statistics

Views

Total Views
383
Views on SlideShare
383
Embed Views
0

Actions

Likes
2
Downloads
32
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Planning and Tracking Agile Projects Planning and Tracking Agile Projects Presentation Transcript

    • Planning and TrackingAgile Projects1
    • Founding member anddirector of Agile Alliance,Scrum Alliance, and AgileProject LeadershipNetworkFounder of MountainGoat SoftwareConsultant, author,and speakerMike Cohn - background© Mountain Goat Software, LLC2
    • © Mountain Goat Software, LLCImagine...That you’re fed up with software developmentas a careerAnd you decide to go into the landscapingbusinessmoving this pile ofrock from thefront of my houseto the back3
    • © Mountain Goat Software, LLCHow might you estimate this?One way:Look at the pile of rock and estimate how manywheelbarrow loads it representsAfter an hour, see howmany wheelbarrow loadsyou’ve moved thenextrapolate the totaldurationI think that’s 80 wheelbarrow loadsAfter an hour I’ve moved 20 loadsSo, I’ll be done in a total of 4 hours4
    • © Mountain Goat Software, LLCMy landscaping0204060800900 1000 1100 1200 1300WheelbarrowLoadsTime5
    • © Mountain Goat Software, LLC2233 32An iteration is a short,constrained period of timeTypically 1-4 weeks2432122233 32A release typically comprisesmore than one iterationVelocity is theamount of workplanned orcompleted in aniteration.6
    • © Mountain Goat Software, LLCStrategyPortfolioProductReleaseIterationThe planning onionDaily● Agile teams plan atthe innermost threelevels.● Others (on the teamin the company) planat the outer levels.7
    • © Mountain Goat Software, LLCRelating the different planning levelsI want to...I want to...I want to...I want to...I want to...35522Iteration2Iteration1“Yesterday I startedon the UI; I shouldof today.”Code the UI 86Code middle tier 12Write tests 5Automate tests 4Product Backlog Iteration Backlog8
    • © Mountain Goat Software, LLCIterationConditions ofSatisfaction(scope)An agile approach to planningReleaseConditions ofSatisfaction(scope, schedule,resources)Release planningIterationplanningFeedbackFeedbackDevelopmentProductincrement9
    • © Mountain Goat Software, LLCEstimatingRelease planningBurndown chartsAgenda10
    • © Mountain Goat Software, LLCStory pointsProbably the most commonly used estimatingunit among agile teams todayName is derived from agile teams commonlyexpressing requirements as “user stories”Based on a combination of the size andcomplexity of the workUnitless but numerically relevant estimatesA 10-point user story is expected to take twice aslong as a 5-point user story11
    • © Mountain Goat Software, LLCConsider these two piles of workWhat story point valuesmight we put on these?12
    • © Mountain Goat Software, LLCZoo pointsAssign “zoopoints” to thefollowing breeds LionKangarooRhinocerusBearGiraffeGorillaHippopotamusTiger13
    • © Mountain Goat Software, LLCThree key advantagesEstimating in story points:1. Forces the use of relative estimatingStudies have shown we’re better at this†2. Focuses us on estimating the size, not the durationWe derive duration empirically by seeing how much wecomplete per iteration3. Puts estimates in units that we can add togetherTime based estimates are not additive†Lederer and Prasad, 1998. A Causal Model for Software Cost Estimating Error andVicinanza et al.,1991. Software Effort Estimation:An Exploratory Study of Expert Performance.14
    • © Mountain Goat Software, LLC“Yesterday I startedon the UI; I shouldof today.”Comparing apples to applesI want to...I want to...I want to...I want to...I want to...35523Code the UI 86Code middle tier 12Write tests 5Automate tests 4Product Backlog Sprint Backlog305050202015
    • © Mountain Goat Software, LLCPlanning poker for estimatingAn iterative approach to estimating, loosely based onwideband DelphiSteps1. Each estimator is given a deck of cards, each card has avalid estimate written on it2. Customer/Product owner reads a story and it’s discussed3. Each estimator selects a card that’s his or her estimate4. Cards are turned over so all can see them5. Discuss differences (especially outliers)6. Re-estimate until estimates converge16
    • © Mountain Goat Software, LLCPlanning poker - an exampleEstimator Round 1 Round 2SusanVadimAnnChris3 58 52 55 820138532117
    • © Mountain Goat Software, LLCEstimate theseProduct backlog item EstimateRead a high-level, 10-page overview of agile softwaredevelopment in People magazine.Read a densely written 5-page research paper about agilesoftware development in an academic journal.Write the product backlog for a simple eCommerce sitethat sells only clocks.Recruit, interview, and hire a new member for your team.Create a 60-minute presentation about agile estimatingand planning for your coworkers.Wash and wax your boss’ Porsche.Read a 150-page book on agile software development.Write an 8-page summary of that book for your boss.18
    • © Mountain Goat Software, LLCWhy planning poker worksThose who will do the work, estimatethe work1Estimators are required to justifyestimates2, 3Focuses most estimates within anapproximate one order of magnitude4, 51Jørgensen, Magne. 2004. A Review of Studies on Expert Estimation of Software DevelopmentEffort.2Hagafors, R., and B. Brehmer. 1983. Does Having to Justify One’s Decisions Change the Nature ofthe Decision Process?3Brenner, et al. 1996. On the Evaluation of One-sided Evidence.4Miranda, Eduardo. 2001. Improving Subjective Estimates Using Paired Comparisons.5Saaty,Thomas. 1996. Multicriteria Decision Making:The Analytic Hierarchy Process.19
    • © Mountain Goat Software, LLCWhy planning poker worksCombining of individual estimates6 throughgroup discussion7 leads to better estimatesEmphasizes relative rather than absoluteestimatingEstimates are constrained to a set of values sowe don’t waste time in meaningless argumentsEveryone’s opinion is heardIt’s quick and fun6Hoest, Martin, and Claes Wohlin. 1998. An Experimental Study of Individual Subjective EffortEstimations and Combinations of the Estimates.7Jørgensen, Magne, and Kjetil Moløkken. 2002. Combination of Software DevelopmentEffort Prediction Intervals:Why,When and How?20
    • © Mountain Goat Software, LLCReduces impact of irrelevantinformationGiven project spec.Group AGiven same spec but withestimation-irrelevant details added:end users’ desktop applicationsuser passwords,etc.Group B39 hours20 hoursSource: How to avoid impact from irrelevant and misleading information on your cost estimates,Magne Jørgensen and Stein Grimstad, Simula Research Laboratory,Simula Research Labs Estimation Seminar, Oslo, Norway 2006.21
    • © Mountain Goat Software, LLCGiven a one-project spec.Group AGiven a spec with exactly the sametext but was 7 pages longIncreased length achieved throughdouble line spacewide marginslarger font sizemore space between paragraphsGroup B173 hours117 hoursSource: How to avoid impact from irrelevant and misleading information on your cost estimates,Magne Jørgensen and Stein Grimstad, Simula Research Laboratory,Simula Research Labs Estimation Seminar, Oslo, Norway 2006.22
    • © Mountain Goat Software, LLCExtra requirementsGiven requirements R1–R4Group AGiven requirements R1–R5Group B4 hours4 hoursGiven requirements R1–R5but told to estimate R1–R4 onlyGroup C8 hours!Source: How to avoid impact from irrelevant and misleading information on your cost estimates,Magne Jørgensen and Stein Grimstad, Simula Research Laboratory,Simula Research Labs Estimation Seminar, Oslo, Norway 2006.23
    • © Mountain Goat Software, LLCReduces likelihood of anchoringGiven a product specControl group456 hoursGiven the same product specTold the customer thinks 500 hours is areasonable estimate but thatThe customer knows very little about theimplications of his spec on the estimateHigh anchor group555 hoursSame as high but customer thinks 50 hoursLow anchor group99 hoursSource: How to avoid impact from irrelevant and misleading information on your cost estimates,Magne Jørgensen and Stein Grimstad, Simula Research Laboratory,Simula Research Labs Estimation Seminar, Oslo, Norway 2006.24
    • © Mountain Goat Software, LLCEstimatingRelease planningBurndown chartsAgenda25
    • © Mountain Goat Software, LLCRelease planningTo answer questions such as:How much will be done by 30 June?When can we ship with this set of features?How many people or teams should be on thisproject?PurposeVelocityThe length of the projectPrioritized product backlogInputs26
    • © Mountain Goat Software, LLCIteration 3-4An example with velocity=14Iteration 1Story A5Story B8Story E1Story C3Story D5Story F5Story G1Story H13Story I5Story J8Story A5 Story B8Story E1Iteration 2Story C3 Story D5Story F5 Story G1Story H13 Story I5Story J827
    • © Mountain Goat Software, LLCUpdating the release plan0102030401 2 3 4 5 6 7 8 9IterationsMean (Worst 3) = 28Mean (Last 8) = 33Last Observation = 36Use multiple views of observed velocity28
    • © Mountain Goat Software, LLCExtrapolate from velocity29
    • © Mountain Goat Software, LLCEstimatingRelease planningBurndown chartsAgenda30
    • © Mountain Goat Software, LLCHow’s my landscaping coming?0204060800900 1000 1100 1200 1300WheelbarrowLoadsTimeThis is called aburndown chart.31
    • © Mountain Goat Software, LLCRemember the different levels?I want to...I want to...I want to...I want to...I want to...35522Iteration2Iteration1“Yesterday I startedon the UI; I shouldof today.”Code the UI 86Code middle tier 12Write tests 5Automate tests 4Product Backlog Iteration BacklogWe can trackburndown atboth levels32
    • © Mountain Goat Software, LLCAn iteration burndown chart02004006008001,000 4/29/025/6/025/13/025/20/025/24/02Hours33
    • © Mountain Goat Software, LLCA release burndown chartStoryPointsIterations60045030015001 2 3 4 5Four LessonsBurndown charts:● Show net progress● Raise questions; they don’tanswer them● Facilitate early discussions● Make it impossible to lie34
    • © Mountain Goat Software, LLCMike Cohn contact infomike@mountaingoatsoftware.comwww.mountaingoatsoftware.com(720) 890-6110 (office)(303) 810-2190 (mobile)35