Lessons in Estimating
Agile vs. Waterfall
Agile and Waterfall
2
• Why do we estimate?
• Developing Waterfall estimates • Developing Agile estimates
• When to use each technique
Workshop Overview
• When to use each technique • Keys to success
4
Estimating vs. Planning
Develop Project Framework Determine Resource Requirements Prepare a Budget Plan a Plan a Project Project Develop Work Plan Develop a Schedule Develop Project Controls • TasksWhy Develop Work Plan?
• Funding
• Resources • Expectations
It’s management’s job to vet our plan! “Realistic & Defensible”
6
Why Develop Work Plan?
• Who needs to be involved? • What will each person do?
What Do We Estimate?
• Work Effort
• Elapsed Time • Cost
8
Levels of Estimates
Project level estimate
Construct Deploy Design Analyze Top Down Construct Design Analyze
Bottom Up Bottom Up Bottom Up
Phase level estimates
10
Bottom Up Estimating Technique
WBS - Example
PREPARE FOR TRIP MAKE TRAVEL ARRANG’TS PACK MAKE “HOUSE” ARRANG’TS TRAVEL TO AIRPORT COLLECT CANCEL ARRANGE CONFIRM MAKE RESERV’NS COLLECT TRAVEL DOCUMENTS CANCEL NEWSPAPER ARRANGE HOUSE CHECK PREPARE FIND SUITCASE PACK CLOTHES DECIDE WHAT TO TAKE WASH CLOTHES IRON CLOTHES CONFIRM DATES 12Bottom Up Estimating Technique
1. Break job into tasks (WBS) 2. Develop a task list
Estimating Spreadsheet
Task Deliverable
Confirm Dates Dates
Confirmed Make Reservations Reserv’ns Collect Travel Docs Passport, E-ticket …(Etc.) 14
Bottom Up Estimating Technique
1. Break job into tasks (WBS) 2. Develop a task list
3. For each task, estimate:
S – shortest effort S – shortest effort L – longest effort
M – most likely effort
Estimating Spreadsheet
Task Deliverable Assumptions S L M
Confirm Dates Dates
Confirmed
Boss in office 5 20 5 Make
Reservations
Res’ns In-house travel agent 15 30 20 Collect Travel Docs Passport, E-ticket …(Etc.) 16
Bottom Up Estimating Technique
4. Calculate the best estimate, E
E = S + L + 4M 6
Estimating Spreadsheet
Task Deliverable Assumptions S L M E
Confirm Dates Dates
Confirmed
Boss in office 5 15 5 7 Make
Reservations
Res’ns In-house travel agent 15 30 20 21 Collect Travel Docs Passport, E-ticket …(Etc.) 18
Bottom Up Estimating
4. Calculate the best estimate, E
E = S + L + 4M 6
5. Add contingency (10-20%) 5. Add contingency (10-20%)
Contingency Factors
• Project size • Project duration • Project organization • Technical complexity • Technical complexity• Stability of business area • Project team experience
20
Levels of Estimates
Project level estimate
Construct Deploy Design Analyze Top Down Construct Design Analyze
Bottom Up Bottom Up Bottom Up
Top Down Estimating
• All Top Down estimates are a range • Techniques
– Equation
• % of effort for each phase
– Comparison
• similarity to another company project
– Analogy
• similarity to a database of projects
22
Top Down Estimating
Equation Approach – “Ball Park” Example
% of Total Time Initiate Initiate Analyze 5 - 15% Design 15 - 30%
Top Down Estimating
Equation Approach – “Ball Park” Example
Initiate 2 days
Analyze (est’d) 8 days
10 days 10 days
5% of total project = 10 days total project = 200 days 15% of total project = 10 days total project = 67 days
“Ball Park” Estimate = 70 – 200 days
24
Keys to Success
• Start with a “ball park” and compare to your bottom up estimate
• Use your team • Ask for input
• Estimate next phase as part of current phase
• Agile Manifesto • Many versions
• Focused on software development • Incorporates many best practices
What is Agile?
• Incorporates many best practices • Focus on “features”
• Business needs to be very involved • Iterative delivery of features
26
Construct Deploy Design Analyze WATERFALL AGILE
Agile Iterations
AGILE• Developing Agile Estimates
• What is Velocity and how do you use it
Agile Estimating
• What is Velocity and how do you use it for Planning & Refining Estimates?
28
Law of Diminishing Returns
• The more effort we put into something, the better result. Right?
• Law of Diminishing Returns – additional estimation effort yields very little value beyond a certain point.
Estimating: Accuracy vs. Effort
30
Agile Assumptions
• Estimates are shared • Core team is dedicated • Complete a feature/user
story in one iteration
• Final product details are • Final product details are
not completely known • Business support
User Stories, Epics & Themes
32
Point Estimating Scales
• Fibonacci Sequence – 1,2,3,5,8 – (+ 13,20,40,100 for epics, themes) • T-Shirt Sizing • T-Shirt Sizing– Small, Med, Large, X-Large
• 1,2,4,8
34
Points Example
• Feature 1 - 8 points (M) • Feature 2 - 8 points (M) • Feature 3 - 3 points (S) • Feature 4 - 13 points (L) • Feature 5 - 3 points (S) • Feature 6 - 40 points (XL) ... • ETC - NN points _______________________________ TOTAL = 500 points for project36
Validating Story Point Estimates
• Time Estimates
– Pick some sample user stories – Break down to task level
– Estimate hours – Estimate hours
– Calculate how long it will take, in real hours, to develop a small, a medium, etc.
Agile Estimating: Results
• Master Story List with points for each story • Apply the real estimates to get an overall
estimate of the size of the project • Build in some contingency
• Build in some contingency
• Relatively accurate estimates for next few iterations
• Minimized time estimating
38
What is Velocity?
• Velocity determination • Self-correcting
Watch for Velocity Trends
• Example:
– Estimated 500 points for a project
– Team initially estimates they can complete 50 points per iteration
– Initial estimate = 500/50 = 10 iterations to – Initial estimate = 500/50 = 10 iterations to
complete project
– If first iterations average at 75 points, then team was too cautious and 500/75 = 7
iterations
– If first iterations average at 40 points, then team was too optimistic and 500/75 = 13 iterations
40
Track Progress Using Points
• Total Points Completed, Points Remaining
• Percent of Points completed
• Number of iterations to Complete
• Number of weeks/months to complete • Number of weeks/months to complete • Impact of changing resources to velocity • PM can add in factors once trends
Using Velocity to Plan
• Reduce scope
– deselect some specific stories (features)
• Increase capacity (size) of team
– add to team velocity
• Reduce cost by reducing resources • Reduce cost by reducing resources
– slow down velocity
42
PROS
• Fail Fast
• Working deliverables provided frequently
• Don’t need fully detailed requirements to start
• Tight feedback loop allows for requirement changes throughout the project
Agile: Pros & Cons
CONS
• No detailed design phase makes it difficult to
estimate the cost and duration of the whole project • Best applied to software development
44
PROS
• Detailed design phase gives better understanding to estimate the duration of the whole project
• Detailed design done by the experienced developers allow for more inexperienced developers (or
outsourcing of development)
• Enforced discipline by clear phasing with defined start and end points (milestones)
Waterfall: Pros & Cons
• Enforced discipline by clear phasing with defined start and end points (milestones)
CONS
• Big overhead caused by detailed early-phase planning, as plans tend to change
Choosing an Approach
46
Buy vs. Build (Waterfall, Agile, Blended) • Business Availability • Organization Maturity • Technical Complexity
How Do We Choose?
• Technical Complexity • Understood vs. New • Market Maturity • Competitive Advantage • Logical Feature SetsSelection Criteria
Buy Build Waterfall Build Agile Don’t Do It Business Availability Very Low Low / Medium Medium / High Business Maturity Start-Up Organization Mature Organization 48Selection Criteria
Buy Build Waterfall Build Agile Don’t Do It Technical Complexity Low Medium High Understood vs. New New TerritorySelection Criteria
Buy Build Waterfall Build Agile Don’t Do It Market Maturity No packages available Some packages available Many packages availableCompetitive Advantage
Not required
Required
50
Selection Criteria
Buy Build Waterfall Build Agile Don’t Do ItLogical Feature Sets
Small discrete groups
Big – Need All
• Look at all the aspects before selecting the appropriate approach
• Both techniques have pros & cons
• Agile and Waterfall –
know when to use each technique
Conclusions
technique
• “Buy” when you can!
52
Some PM Truths Don’t Change…
• The more ridiculous the deadline the more
money will be wasted trying to meet it.
• The first 90% of a
project takes 90% of the time the last 10% takes the other 90%.
54
jrichardson @ethier.ca sthaker