Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile Progress Tracking and Code Complete Date Estimation

482 views

Published on

Here are two tools that I found to be very effective in predicting Code Complete dates and the effect of scope changes and also tracking progress against a Development Plan over time

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Agile Progress Tracking and Code Complete Date Estimation

  1. 1. Agile Scheduling and Release Planning Michael Geiser
  2. 2. What Do We Want to Accomplish? • This presentation proposes (within an Agile SDLC) • How to estimate a code complete date for development to plan a software release date. • How to track progress towards the code complete date • Present examples Executive Sponsor statuses slides so you can provide a clear concise status that communicates your message to Senior Management • Use the same artifacts to clearly see that you are on-track or off-track and how the project is trending so we can see if a mitigation plan is needed
  3. 3. Assumptions/Facts • Scrum, as codified in the Agile Manifesto, is one of the most successful Software Development approaches/methodologies for small independent teams and can be scaled to large distributed teams. • Leaders in the field (Scott Ambler, Mike Cottmeyer, VersionOne, Thoughtworks…) recognize that the Agile Manifesto has limitations when applied to “Large Scale” Agile development efforts • Having many scrum teams in an enterprise does not mean you are doing Enterprise Agile • Single Team-level Agile practices are different from multiple-team Agile practices at scale • Agile at scale requires a broader set of tools and techniques
  4. 4. Project Timeline Slides and Missed Schedule Milestones • Changes in scope are inevitable (not referring to scope creep which is controllable). Agile addresses fact of life FAR better than any other SDLC. Inaccurate Effort and Capacity Estimates • Estimates made before work started are often an order of magnitude off and need to you constantly consider the effect Scope changes. • Completed work and informed revised estimates should continually revise code complete estimates. Inability to Objectively and Independently assess project status • Tracking software development in MS Project is problematic and relies on how he Percent Complete entries are made. • This often leads to Executive Sponsors getting an overly-optimistic view of progress PMO Basics • If we’re not continually and meaningfully measuring the actual status of the project, how do we know we’re on track or need a mitigation plan? • We should use templates across projects and with all Executive Sponsors to that we consistently report and minimize the effort to report and maximize transparency Agile Project Management Pain Points
  5. 5. Waterfall and Scrum Differences • In Waterfall SDLCs, SOP is that schedules and scope are defined often with little Development input and Development is told to “work longer to get just the work done”. • We know how well that worked out in the past… • Scrum (“Textbook Orthodox Scrum” not SAFe or others) swings the pendulum too far in the opposite direction. • “It’s done when it’s done” and “You can’t have release dates” are just as or even more unrealistic • The organization doesn’t exist to server Development (as nice as that sounds) • It’s also very “anti-Agile” because it doesn’t meet the needs of stakeholders
  6. 6. Release Tracking Chart
  7. 7. Release Tracking Chart The Release Tracking Chart tracks the Scope, Development Plan, Sprint Plan, and Actual Work completed on a single chart that is always available and always reviewed in Executive Sponsor Status Meetings Scope: • The Scope and the effort to complete scope constantly changes during a project; normally some scope is added or removed and progressive elaboration gives us increasing more precise estimations of total effort and code complete dates. • Good Change Management processes for scope is stile vital in Agile; embracing change in Agile does not mean accepting any change without understanding and recognizing the impact of the change. Scope should reflect accepted changes by the product owner. • Agile teams should communicate scope and scope changes to recognize schedule risks so they can take action early enough when needed. Development Plan: • Estimated project work that can be completed according to Staffing Plan is charted to compare to Scope and to project a code complete date. Sprint Plan: • This should track to the Development Plan but reflects the actual Staff capacity and highlights immediately when the Development plan is or is not being met so remediation plans can be implemented early when needed Actual Work: • Shows work completed against Scope, the Development and Sprint Plans. It is transparently communicated when Actual Work completed and total scope are not on plan to met for the target code complete date
  8. 8. Release Tracking Chart • Take care that the chart and table are consistent across all Status meetings • Include 3 slides in the Executive Sponsor Status Meeting deck: • Last meeting’s actual status • This meeting’s actual status • Next meeting’s plan • Being able to move between these three slides and see the change over 6 weeks is an extremely effective way to present this information. • I sometimes put the current slide in the main Status section and put the three in Appendix Material (know your audience) • The next 7 slides demonstrate this concept.
  9. 9. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 968.75 Scope 775 775 775 775 775 775 775 775 775 775 775 775 775 Scope -25% 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 581.25 Dev Plan 45 95 145 195 245 295 345 395 445 495 545 595 645 Iteration Plan Actual Completed 0 0 0 0 0 0 0 0 0 0 0 0 0 Notes • Your Development Plan must overshoot your Scope in the last few sprints to account for backlog scarcity near the end of the project and project closeout activities. This Dev Plan doesn’t even come close to that goal. • I would put the Project Schedule at Yellow trending Red at this point. Sprint 1 - Start Actual numbers in Black, projected numbers in red
  10. 10. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 886.25 886.25 886.25 886.25 886.25 886.25 886.25 886.25 886.25 886.25 886.25 Scope 775 725 725 725 725 725 725 725 725 725 725 725 725 Scope -25% 591.25 563.75 563.75 563.75 563.75 563.75 563.75 563.75 563.75 563.75 563.75 563.75 563.75 Dev Plan 45 95 145 195 245 295 345 395 445 495 545 595 645 Iteration Plan 45 100 Actual 40 85 Completed 40 80 80 80 80 80 80 80 80 80 80 80 80 Notes • Scope Refinement reduces Schedule Risk moderately but Schedule is still Yellow. I would eliminate the Trending Red modifier but to early to say Trending Green Sprint 2 - End
  11. 11. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 813.75 803.75 760 760 760 760 760 760 760 760 760 Scope 775 725 675 675 650 650 650 650 650 650 650 650 650 Scope -25% 591.25 563.75 536.25 546.25 540 540 540 540 540 540 540 540 540 Dev Plan 45 95 145 195 245 295 345 395 445 495 545 595 645 Iteration Plan 45 100 150 185 220 Actual 40 85 120 160 210 Completed 40 80 120 160 210 210 210 210 210 210 210 210 210 Notes • Schedule almost Green but Iteration Plan and Actual Work Completed is not Meeting Plan; Mitigation Plan still needed. Observe the “Uncertainty Range” of the Scope is getting progressively narrow. Completed Scope has an uncertainty of 0%; you know exactly how long it took to complete. Uncertainty ranges show the complexity range of uncompleted work. Sprint 5 - End
  12. 12. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 813.75 803.75 760 790 742.5 742.5 742.5 742.5 742.5 742.5 742.5 Scope 775 725 675 675 650 680 650 650 650 650 650 650 650 Scope -25% 591.25 563.75 536.25 546.25 540 570 557.5 557.5 557.5 557.5 557.5 557.5 557.5 Dev Plan 45 95 145 195 245 295 345 395 445 495 545 595 645 Iteration Plan 45 100 150 185 220 265 315 Actual 40 85 120 160 210 240 280 Completed 40 80 120 160 210 240 280 280 280 280 280 280 280 Notes • Sprint Velocity is predictable but less than Development Plan. Schedule is Yellow Trending Red. • Corrective Action must be taken or project will fail to meet schedule: A decision must be made to reduce Scope, lengthen Schedule or add Resources to finish by June 1. Decision Made: Current Scope is needed for MVP and Schedule will be kept; Resources will be added to balance Sprint 7 - End
  13. 13. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 813.75 803.75 760 790 742.5 733.75 718.75 718.75 718.75 718.75 718.75 Scope 775 725 675 675 650 680 650 655 660 660 660 660 660 Scope -25% 591.25 563.75 536.25 546.25 540 570 557.5 576.25 601.25 601.25 601.25 601.25 601.25 Dev Plan 45 95 145 195 245 295 345 395 445 495 545 595 645 Iteration Plan 45 100 150 185 220 265 315 370 440 Actual 40 85 120 160 210 240 280 340 425 Completed 40 80 120 160 210 240 280 340 425 425 425 425 425 Notes • Velocity increases as additional Resources engage and begin “norming” with the team. Sprint 9 - End
  14. 14. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 813.75 803.75 760 790 742.5 733.75 718.75 698.75 690 690 690 Scope 775 725 675 675 650 680 650 655 660 660 670 670 670 Scope -25% 591.25 563.75 536.25 546.25 540 570 557.5 576.25 601.25 621.25 650 650 650 Dev Plan 45 95 145 195 245 295 345 395 445 505 565 625 685 Iteration Plan 45 100 150 185 220 265 315 370 440 510 580 Actual 40 85 120 160 210 240 280 340 425 505 590 Completed 40 80 120 160 210 240 280 340 425 505 590 590 590 Notes • Development Plan updated to reflect increased Velocity and Scope changes (The “Dev Plan” line bends upward) • Schedule Yellow Trending Green or Green Trending Yellow; Development Plan must overshoot Total Scope in the last few sprints to account for Backlog scarcity near the end of the project and project closeout activities (there’s the real world creeping into your Dev Plan again!) Sprint 11 - End
  15. 15. Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul Scope +25% 958.75 886.25 813.75 803.75 760 790 742.5 733.75 718.75 698.75 690 675 665 Scope 775 725 675 675 650 680 650 655 660 660 670 670 665 Scope -25% 591.25 563.75 536.25 546.25 540 570 557.5 576.25 601.25 621.25 650 665 665 Dev Plan 45 95 145 195 245 295 345 395 445 505 565 625 685 Iteration Plan 45 100 150 185 220 265 315 370 440 510 580 650 720 Actual 40 85 120 160 210 240 280 340 425 505 590 650 665 Completed 40 80 120 160 210 240 280 340 425 505 590 650 665 Notes • It is recommended to plan on a “Hardening Sprint”, which would be Sprint 14 in this example, to finish and refactor as needed and to finalized non-functional requirements like performance and other “end-to-end” testing that are hard or impossible to do until code complete Sprint 13 - End
  16. 16. Release Timeline Estimation
  17. 17. Classic Cone of Uncertainty • What is the “Cone of Uncertainty”? • The cumulative uncertainty of the scope and effort for a project and it’s reduction over the course of a project • In most common definitions, it is an artifact of the Waterfall project start up approach • Relatively course-grained estimates are done based on knowledge of scope and capacity during early planning • These rough estimates are often used to determine a target release date • The development window is determined either from backing into the release date or based on historical data of development pace • The project timeline is locked down using these estimates
  18. 18. Classic Cone of Uncertainty Diagram
  19. 19. Problems with the Classic Cone of Uncertain Diagram • The over/under on the Accuracy of Estimates is interesting but we need to know while the project is in flight how the accuracy of estimates affects when the work will actually be done. • The “Classic” Cone of Uncertainty diagram is (IMHO) a seriously flawed representation of the concept and not useful at all. • The 1.00x level of Accuracy of Estimates on the y axis is reached at the end of the project. The graph gives the impression we had the estimate dead on at the start and are just eliminating the buffer. • The x axis needs to show when the project will be done as the metric of interest. • Completing work, Progressive Elaboration and Rolling Wave Planning over a project lifetime narrows the range of estimation uncertainty; it is a continual process not the event based changes shown in the diagram. This diagram has no useful information or value
  20. 20. Code Complete Date Refinement – Improved • The useful Project Management graph is a Target Code Complete Date “Cone of Uncertainty“ • This graph allows action to be taken to affect the target completion date (remove scope, add resources) or to accurately set expectation of shareholders and downstream teams (Release Management) • Graph the right (actionable) information • A useful graph for in-flight projects needs to show the impact of Change Requests, refinement, velocity and total scope on the finish date • Mitigation plans can only be implemented if you know there is a likelihood and impact of risk to the target date • The right graph needs the right axes • The x axis is time • The y axis is total scope • Need to know Velocity • The estimated speed of development per iteration is needed • Collect the data at the right time • Update the graph at the end of each iteration or on key events (i.e. Scope Changes, staff crises) • Overlay the estimated completion date range (the uncertainty of the date) • Like managing risk, the uncertainty needs to decrease over time and reach a single target date as soon as possible
  21. 21. Code Complete Date Chart Q: “Why have this chart too when I have the excellent Release Tracking Chart?” A: Complexity and Clarity • These two charts have two entirely different purposes and combining them would be confusing • The x-intercept of the Code Complete Chart is a key feature of the chart, you wouldn’t get the same clear picture from a combined chart • The Release Tracking Chart does give you a Code Complete date, but this chart vital for reporting results of Change Control Meetings whereas the Release Tracking Chart would not be useful.
  22. 22. Code Complete Date Chart • Take care that the chart and table are consistent across all Status meetings • Include 3 slides in the Executive Sponsor Status Meeting deck: • Last meeting’s actual status • This meeting’s actual status • Next meeting’s plan • Being able to move between these three slides and see the change over 6 weeks is an extremely effective way to present this information. • I sometimes put the current slide in the main Status section and put the three in Appendix Material (know your audience) • The next 6 slides demonstrate how to use this tool.
  23. 23. Notes • Initial Scope (with uncertainty) is between 581 and 969 Story Point and will take between 9 and 14 Sprints • Initial Target Code Complete date is 17 June. This date is very much “At Risk”. Sprint 1 - Start Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 893.75 818.75 743.75 668.75 593.75 518.75 443.75 368.75 293.75 218.75 143.75 68.75 -6.25 Est Scope Remaining 775 700 625 550 475 400 325 250 175 100 25 -50 -125 -200 Est Scope -25% 581.25 506.25 431.25 356.25 281.25 206.25 131.25 56.25 -18.75 0 0 0 0 0 Velocity 75 75 75 75 75 75 75 75 75 75 75 75 75 75 Approved Scope change 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  24. 24. Notes • Velocity in Sprints 2 and 3 were less than Sprint 1 and below the initial estimate • Scope changes can be from PO changes to the Backlog, the elimination of duplicate User Stories or refinement of User Story estimates • Range of Code Complete has reduced but 17 June Code Complete date is still At-Risk Sprint 3 - End Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 843.75 768.75 708.75 633.75 558.75 483.75 408.75 333.75 258.75 183.75 108.75 33.75 -41.25 Est Scope Remaining 775 675 615 555 480 405 330 255 180 105 30 -45 -120 -195 Est Scope -25% 581.25 506.25 461.25 401.25 326.25 251.25 176.25 101.25 26.25 0 0 0 0 0 Velocity 75 70 60 75 75 75 75 75 75 75 75 75 75 75 Approved Scope change -25 10 0 0 0 0 0 0 0 0 0 0 0 0
  25. 25. Notes • Velocity is on average close to estimate in Burndown in this example • The Code Complete date range is now much more narrow • Target Code Complete of 17 June is now after the range of Code Complete dates (but there is still no buffer) • Code Complete estimated date is between 20 May and 17 June (3 June is most likely based on graph) Sprint 6 - End Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 843.75 768.75 693.75 531.25 437.5 367.5 292.5 217.5 142.5 67.5 -7.5 -82.5 -157.5 Est Scope Remaining 775 675 615 555 425 350 272 197 122 47 -28 -103 -178 -253 Est Scope -25% 581.25 506.25 461.25 416.25 318.75 262.5 192.5 117.5 42.5 0 0 0 0 0 Velocity 75 70 60 80 70 70 75 75 75 75 75 75 75 75 Approved Scope change -25 10 0 -50 -5 -8 0 0 0 0 0 0 0 0
  26. 26. Notes • The uncertainty of Code Complete is minimal and there is almost an entire sprint buffer between the latest Code Compete date and the 17 June target • Almost certain that Code Complete will be the end of the 3 June Sprint at this point Sprint 9 - End Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 843.75 768.75 693.75 531.25 425 327.5 246.25 156.25 81.25 6.25 -68.75 -143.75 -218.75 Est Scope Remaining 775 675 615 555 425 340 262 197 125 50 -25 -100 -175 -250 Est Scope -25% 581.25 506.25 461.25 416.25 318.75 255 196.5 147.75 93.75 18.75 0 0 0 0 Velocity 75 70 60 80 80 70 80 80 75 75 75 75 75 75 Approved Scope change -25 10 0 -50 -5 -8 15 8 0 0 0 0 0 0
  27. 27. Notes • It is an important principle of Agile that we be open to change in scope at any time. This doesn’t mean that the Product Owner and Stakeholders have free reign to make any changes with consequences; the “Iron Triangle” concepts still apply. • The effect of the change at this point on the Release Date is obvious: If the scope change is accepted, the schedule change of adding two additional Sprints also must be accepted (at this late stage, it is unlikely we could add resources to cover the scope change). Sprint 9 – What if we add another 100 days of scope at the start of Sprint 9? Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 843.75 768.75 693.75 531.25 425 327.5 246.25 277.5 202.5 127.5 52.5 -22.5 -97.5 Est Scope Remaining 775 675 615 555 425 340 262 197 222 147 72 -3 -78 -153 Est Scope -25% 581.25 506.25 461.25 416.25 318.75 255 196.5 147.75 166.5 91.5 16.5 -58.5 -133.5 -208.5 Velocity 75 70 60 80 80 70 80 80 75 75 75 75 75 75 Approved Scope change -25 10 0 -50 -5 -8 15 108 0 0 0 0 0 0
  28. 28. Notes Code Complete Sprint 11 – End (Code Complete) Sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sprint Close Date 14-Jan 28-Jan 11-Feb 25-Feb 11-Mar 25-Mar 8-Apr 22-Apr 6-May 20-May 3-Jun 17-Jun 1-Jul 15-Jul Est Scope +25% 968.75 843.75 768.75 693.75 531.25 425 327.5 246.25 156.25 81.25 0 0 0 0 Est Scope Remaining 775 675 615 555 425 340 262 197 125 50 0 0 0 0 Est Scope -25% 581.25 506.25 461.25 416.25 318.75 255 196.5 147.75 93.75 18.75 0 0 0 0 Velocity 75 70 60 80 80 70 80 80 75 80 0 0 0 0 Approved Scope change -25 10 0 -50 -5 -8 15 8 0 5 0 0 0 0

×