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
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. 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. 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. 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
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. 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. 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. 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. 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. 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
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
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. 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. 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. 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. 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. 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. 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. 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. 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