These are the slides from a presentation i gave on planning, estimating and tracking an agile development project on June 24th for the Extreme Programming Meetup in New York City.
1. Agile Project Estimating, Planning and Tracking Andrew Nichols, Certified Scrum Master 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 Andrew.Nichols@tallan.com
2. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 How to plan an Agile project Develop product backlog Estimating backlog Calculating project duration and budget Prioritize backlog Release planning How to track an Agile project Agenda
3. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 2 List for all features desired in system User Stories Use Cases Just list the features any way you want This is open to change Not everything will be implemented Ideas not on the list will be discovered along the way Develop Product Backlog Product Backlog
4. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 3 Develop Product Backlog
6. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 5 Petbook will be a website which connects pet owners together so that they can network and exchange information about their pets and find other pet owners like them. Petbook will be a brand new website and should NOT be a replica of Facebook. It will be developed from scratch and will not use any existing social networking platform. Petbook Social network for pet owners
7. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 6 Estimating Backlog How long will this take?
8. Productivity: Time vs. Quality 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 Stanley Eisenstat at Yale. CS 323 Programming Assignments Show 10:1 difference in productivity http://www.joelonsoftware.com/articles/HighNotes.html
9. Measurement of duration Should be relative Meaningless without velocity Difficult to get management away from calendar days Measurement of effort not duration Relative not absolute Meaningless without velocity Difficult for management to understand Ideal Days Story Points Estimating Backlog 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 8
10. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 9 Estimating Backlog Story Points
11. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 10 Expert Judgment Analogy Disaggregation Planning Poker Estimation Methods of Estimation
12. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 11 Everyone has set of cards with points on them Discuss the feature to be estimated Everyone shows card with estimate simultaneously If all cards same then you are done If there is disparity then go to 2 Estimation Planning Poker
13. Planning Poker Exercise 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 12
14. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 13 Product Backlog
15. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 14 Points completed per iteration Best determined imperially Worst case make an assumption Iteration Planning Velocity
16. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 15 P = Points per story V = Velocity Duration and Budget Estimated Duration
17. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 16 R = Run rate per iteration Duration and Budget Estimated Budget
18. Calculate Duration and Budget Exercise 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 17
19. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 18 Financial Prioritization Desirability Prioritization Not used for Mandatory features Used to trade off between optional features Prioritize Backlog Methods of Prioritization
20. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 19 Use numbers to assign priority Higher priority = higher number No 2 stories have same priority Prioritization Tips
22. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 21 Product Backlog
23. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 22 Plan 2-3 iterations out Break stories up vertically if necessary Set a commitment base goal Set a stretch goal (base + 20%) Release Planning Release Planning
24. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 23 Product Backlog
25. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 24 Always meet your commitment Always deliver a few of the stretch goals Discuss plan with entire team Release Planning Tips
26. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 How to plan an Agile project How to track an Agile project Tracking Velocity Projecting Duration and Budget Agenda
27. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 26 Iteration and team level not developer Completed features not specs or documents Tracking Progress
28. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 27 Tracking Velocity
29. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 28 Projected Duration Projected Budget Duration and Budget
30. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 29 Buffering for Risk and Uncertainty
31. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 30 Estimate average case effort estimate Estimate worst case effort estimate (worst – average)2 Total points = Sum of average + square root of sum of squares Buffering Buffering for Risk and Uncertainty
32. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 31 Product Backlog
33. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 32 Average Case = 53 Buffer = 31 Total Points = 53 + 31 = 84 Buffering
34. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 33 Results in more predictable schedule up front Identifies high risk stories Buffering Benefits
35. 7/3/2009 Tallan, Inc. Proprietary and Confidential. Copyright 2009 34 # of points are meaningless # of stories are meaningless What’s important: Velocity vs. Total Points Always complete some of the stretch goals Conclusions
Editor's Notes
5 years of data, 12 identical assignments and timelines. Shows a 10:1 difference in developer productivity.How do we account for this?
The larger a story is the more uncertainty there is thus we make the differences between them larger
Estimate stories
Estimate stories
Estimate stories
Projected Duration = (Points / Average Velocity) * Iteration LengthProjected Budget = Run Rate * Duration