SlideShare a Scribd company logo
ESTIMATION 
PROTIPS 
JONATHON HILL 
NCDEVCON, SEPT. 2014
BACKGROUND 
• Self-taught 
• 5+ years of full-time development 
• Former CTO for a small web startup 
• Former Director of Development for 
a digital marketing agency 
• AtlantaPHP Steering Committee
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
I DID IT WRONG
PROTIP #1: 
ESTIMATES ARE 
NOT PROMISES
(N) ES-TIM-ATE: 
An attempt to quantify something in 
the face of the unknown. 
By definition, estimates are imprecise 
and tentative, versus
“GOOD” ESTIMATE 
A good estimation approach should 
provide estimates that are within 25% 
of the actual results 75% of the time. 
Conte, Dunsmore, and Shen (1986)
CERTAINTY 
Sadly, people asking for control or 
visibility really want certainty. 
Which doesn’t exist. 
Dan North 
https://twitter.com/tastapod/status/116271851767992320
DISTINCTIONS 
Target: a stated desirable business 
objective 
Commitment: a promise to deliver a 
specific product within a specific 
timeframe
Estimation Protips - NCDevCon 2014
DEFINITION 
A good estimate is an estimate that 
provides a clear enough view of the 
project reality to allow the project 
leadership to make good decisions 
about how to control the project to hit 
targets. 
Steve McConnell, Software Estimation
PROTIP #2: 
YOUR GUT LIES
Estimation Protips - NCDevCon 2014
HEAVIEST BLUE WHALE EVER RECORDED 
380,000 LBS
REALISTIC?
BOOK 
RECOMMENDATION
HOFSTADTER’S LAW 
“It always takes longer than you 
expect, even when you take into 
account Hofstadter’s Law.” 
Douglas Hofstadter 
Gödel, Escher, Bach: An Eternal Golden Braid
WHY?
Estimation Protips - NCDevCon 2014
IT’LL BE DIFFERENT 
THIS TIME!
THE PLANNING FALLACY 
Students estimated their senior thesis 
completion time in a 1994 study: 
27.4 
33.9 
48.6 
55.5 
60 
50 
40 
30 
20 
10 
0 
Best Case 
Expected Case 
Worst Case 
Actual 
Source: Wikipedia
Estimation Protips - NCDevCon 2014
TIME FRAMES 
“With software estimation you've only 
realistically got a choice of 5 mins, 1 
hour, 1-2 days, about a week, and then 
all bets are off.” 
Rob Bowley 
https://twitter.com/robbowley/status/115430969825181696
TIME FRAMES 
Can it be done in… 
• 5 minutes? 
• 1 hour? 
• 1-2 days? 
• 1 week?
PROTIP #3: 
PREMATURE 
ESTIMATION IS 
SABOTAGE
DEFINITION 
A good estimate is an estimate that 
provides a clear enough view of the 
project reality to allow the project 
leadership to make good decisions 
about how to control the project to hit 
targets. 
Steve McConnell, Software Estimation
CONE OF UNCERTAINTY
OVERESTIMATION 
• Inflated prices – might lose the job 
• Lack of urgency – project time fills 
up the estimate when it could have 
been done faster 
• Procrastination
UNDERESTIMATION 
• Inadequate planning 
• Missed deadlines 
• Overwork, burnout 
• More bugs 
• Technical debt 
• Damage control 
• Unplanned interim releases 
• Meetings proliferate
Estimation Protips - NCDevCon 2014
IS IT USEFUL? 
If there’s as much chance of you 
coming up with something meaningful 
by rolling some dice or rubbing the 
estimate goat then what purpose are 
you satisfying by doing so? 
Rob Bowley
PROTIP #4: 
BIG TEAMS ARE 
SLOWER THAN 
SMALL ONES
Estimation Protips - NCDevCon 2014
TIME 
= 
ESTIMATE 
÷ 
AVAILABILITY
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
TEAM EFFICIENCY 
Developers Communication 
Paths 
Individual 
Efficiency 
Team 
Capacity 
1 0 100% 1x 
2 3 75% 1.5x 
3 6 67% 2x 
4 10 63% 2.5x 
5 15 60% 3x 
6 21 58% 3.5x 
7 28 57% 4x 
8 36 56% 4.5x 
9 45 56% 5x 
10 55 55% 5.5x 
Source: Paul M. Jones, http://paul-m-jones.com/archives/1591
PROTIP #5: 
BEWARE 
UNWARRANTED 
PRECISION
“533.5 hours” 
vs 
“13 workdays” 
vs 
“3 weeks”
Estimation Protips - NCDevCon 2014
PROTIP #6: 
COUNT ALL THE 
THINGS!
TIME FRAMES 
Can it be done in… 
• 5 minutes? 
• 1 hour? 
• 1-2 days? 
• 1 week?
DECOMPOSITION AND 
RECOMPOSITION 
1. List all the features 
2. Break the features into sub-features 
3. Break the sub-features into 
components 
4. Estimate the components 
5. Add the estimates up
LAW OF LARGE NUMBERS 
The tendency for errors on the high 
side and errors on the low side to 
cancel each other out. 
i.e., 
The accuracy of the sum is greater 
than the accuracy of the individual 
estimates.
PAUL JONES’ METHOD 
1. List all the controllers required for 
each feature 
2. List all the methods required for 
each controller 
3. Estimate 1 dev-pair day per 
controller method
BRANDMOVERS 
METHOD 
1. List all the logical features required 
2. Break down each feature into small 
logical components 
3. List all the pages and modals required for 
each feature 
4. Estimate the back-end time required for 
each logical component 
5. Estimate the front-end time required for 
each page 
6. Sum up the back-end and front-end totals
Estimation Protips - NCDevCon 2014
PROTIP #7: 
WHEN IN A 
PINCH, USE A 
PROXY
PROXY ESTIMATION 
1. Assign a size classification to each 
feature 
2. Compute the average time required 
for similarly-sized features from 
actual past projects 
3. Create estimate ranges for each 
feature based on past performance 
4. Sum the result
PROS 
• Easier 
• Faster
CONS 
• Less accurate 
• Requires collection and archival of 
project historical data on a per-feature 
basis
STORY POINTS 
• Uses a point scale: 1, 2, 4, 8, 16 
• Break down the project into epics and 
stories 
• Assign a point value to each story 
• Schedule releases at regular intervals 
• The number of points completed per 
release is known as “velocity” 
• Use the velocity to plan and estimate 
the delivery dates for future releases
EXAMPLE 
Iteration 1 
• 27 story points delivered 
• 12 staff weeks expended over 3 calendar weeks 
• Effort = 27 points / 12 weeks = 2.25 points/week 
• Schedule = 27 points / 3 weeks = 9 points/week 
Iteration 2 projection 
• 33 story points scheduled 
• Effort = 33 points / 2.25 points/week = 15 staff weeks 
• Schedule = 33 points / 9 points/week = 4 calendar weeks
Estimation Protips - NCDevCon 2014
T-SHIRT SIZING 
• Assign a T-shirt size for development cost 
• Assign a T-shirt size for business value 
• Create a table of business value to 
development cost ratios 
• Look up the net business value for each 
feature based on the dev cost and 
business value T-shirt sizes 
• Prioritize the features in order of net 
business value
EXAMPLE 
Feature Business Value Dev Cost 
Feature A L S 
Feature B S L 
Feature C L L 
Feature D M M 
Feature E M L
VALUE TO COST RATIOS 
Development Cost 
XL L M S 
XL 0 4 6 7 
L -4 0 2 3 
M -6 -2 0 1 
S -7 -3 -1 0 
Business Value
BIZ VALUE EXAMPLE 
Feature Business 
Value 
Dev Cost Net Value 
Feature A L S 3 
Feature C L L 0 
Feature D M M 0 
Feature E M L -2 
Feature B S L -3
PROTIP #8: 
YOU CAN’T 
NEGOTIATE MATH
Estimation Protips - NCDevCon 2014
PROBLEM SOLVING 
When the estimate and target conflict: 
• Negotiate features 
• Negotiate time 
• Negotiate price
ATTITUDE 
• Try to be helpful, offer solutions 
• Be creative 
• Examine what can be done in 
parallel to save time 
• Be firm – you can’t change the laws 
of physics
QUESTIONS?
ONE FINAL WORD 
A HORROR STORY
THE SETTING 
• Former employer of mine 
• Start-up, naïve and inexperienced 
• Needed cash bad
THE CLIENT 
• Small company in Atlanta 
• Four separate disconnected 
systems 
• Wanted web-based workflow 
consolidation 
• Wanted online ordering and 
payments
THE ESTIMATE 
• Estimated at 1,039 man-hours 
• Normal hourly rate was $120/hr 
• We did a fixed-bid for $50k, at an 
effective hourly rate of $48/hr
THE FALLOUT 
• 18 months later… 
• 2,500 man-hours 
• 1,500+ Subversion commits 
• Lots of “unknown unknowns”, 
hidden complexities, and scope 
creep
THE MORAL 
• Don’t succumb to optimism or 
planning bias 
• Use a good estimation methodology 
• Try not to do fixed bidding 
• Always have a thorough scope 
before starting
ESTIMATION PROTIPS 
1. Estimates are not promises 
2. Your gut lies 
3. Premature estimation is sabotage 
4. Big teams are slower than small ones 
5. Beware unwarranted precision 
6. Count all the things! 
7. When in a pinch, use a proxy 
8. You can’t negotiate math
JonathonHill.net 
@compwright 
Book Recommendation: 
Software Estimation: 
Demystifying the Black Art 
by Steve McConnell

More Related Content

What's hot (20)

PDF
Agile Estimating & Planning by Amaad Qureshi
Amaad Qureshi
 
PPTX
Agile planning
Kshitij Agrawal
 
PDF
Twelve Risks to Enterprise Software Projects—And What to Do about Them
TechWell
 
PPTX
Xanpan - What do you get if you cross XP and Kanban?
allan kelly
 
PDF
Estimation Agile Projects
Ram Srivastava
 
PPTX
Basics of Agile
Namrata Datta
 
PDF
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...
Atlassian
 
PPTX
Initial sprint velocity problem
Dejan Radic
 
PPTX
Agile Australia 2017 - Memories from the Trenches
Marcio Sete
 
PDF
How To Build Scrum Task Boards that Radiate Information
mikedep01
 
PDF
An introduction to agile estimation and release planning
James Whitehead
 
PPTX
Agile Outside Software
allan kelly
 
PDF
Limiting WIP - Music City Tech 2021
Wm. Hunter Tammaro
 
PPTX
Monte Carlo presentation for FM
Wm. Hunter Tammaro
 
PDF
Tools for better storytelling
Atlassian
 
PPT
Agile Planning
Robert Dempsey
 
PDF
Building a Software Development Team - MaRS Best Practices
MaRS Discovery District
 
PDF
Building Culture In Remote Teams
Michael Overell
 
PPTX
Flow, the Universe and Everything
Clint Edmonson
 
PPTX
Madhur Kathuria Release planning using feature points
India Scrum Enthusiasts Community
 
Agile Estimating & Planning by Amaad Qureshi
Amaad Qureshi
 
Agile planning
Kshitij Agrawal
 
Twelve Risks to Enterprise Software Projects—And What to Do about Them
TechWell
 
Xanpan - What do you get if you cross XP and Kanban?
allan kelly
 
Estimation Agile Projects
Ram Srivastava
 
Basics of Agile
Namrata Datta
 
Cutting Through the Noise: Breaking Down Hierarchical Communication Channels ...
Atlassian
 
Initial sprint velocity problem
Dejan Radic
 
Agile Australia 2017 - Memories from the Trenches
Marcio Sete
 
How To Build Scrum Task Boards that Radiate Information
mikedep01
 
An introduction to agile estimation and release planning
James Whitehead
 
Agile Outside Software
allan kelly
 
Limiting WIP - Music City Tech 2021
Wm. Hunter Tammaro
 
Monte Carlo presentation for FM
Wm. Hunter Tammaro
 
Tools for better storytelling
Atlassian
 
Agile Planning
Robert Dempsey
 
Building a Software Development Team - MaRS Best Practices
MaRS Discovery District
 
Building Culture In Remote Teams
Michael Overell
 
Flow, the Universe and Everything
Clint Edmonson
 
Madhur Kathuria Release planning using feature points
India Scrum Enthusiasts Community
 

Viewers also liked (17)

PPTX
Building for success and failure with Disqus
Jonathon Hill
 
PDF
Travel Ticker 2010
kperalta
 
PDF
Barrier Electric Commercial Solar
SolarAndy67
 
PPTX
smart & tech clothing, is the future near?
Cecilia Rocha
 
PPTX
Amazon: deal or debacle?
Jonathon Hill
 
PPTX
Wolfgang Weil - Xi’an Xianyang International Airport
Matthew Willey
 
PDF
Guy Stephenson - Gatwick Airport
Matthew Willey
 
PPTX
Sanjay Khanna - Mumbai International Airport Limited
Matthew Willey
 
PPTX
Nicola Wells - Aer Rianta International
Matthew Willey
 
PDF
Francis Gros - Luxottica
Matthew Willey
 
PPT
Cissy Chan - HKIA
Matthew Willey
 
PDF
Multi-tasking in PHP
Jonathon Hill
 
PDF
Sang J. Ahn - Bangalore International Airport Limited
Matthew Willey
 
PPTX
Julian Diaz - Dufry
Matthew Willey
 
PPTX
Debates foro humanismo tercero A
Martín De La Ravanal
 
PPTX
Debates foro humanismo
Martín De La Ravanal
 
PPTX
Qué es el amor
Martín De La Ravanal
 
Building for success and failure with Disqus
Jonathon Hill
 
Travel Ticker 2010
kperalta
 
Barrier Electric Commercial Solar
SolarAndy67
 
smart & tech clothing, is the future near?
Cecilia Rocha
 
Amazon: deal or debacle?
Jonathon Hill
 
Wolfgang Weil - Xi’an Xianyang International Airport
Matthew Willey
 
Guy Stephenson - Gatwick Airport
Matthew Willey
 
Sanjay Khanna - Mumbai International Airport Limited
Matthew Willey
 
Nicola Wells - Aer Rianta International
Matthew Willey
 
Francis Gros - Luxottica
Matthew Willey
 
Cissy Chan - HKIA
Matthew Willey
 
Multi-tasking in PHP
Jonathon Hill
 
Sang J. Ahn - Bangalore International Airport Limited
Matthew Willey
 
Julian Diaz - Dufry
Matthew Willey
 
Debates foro humanismo tercero A
Martín De La Ravanal
 
Debates foro humanismo
Martín De La Ravanal
 
Qué es el amor
Martín De La Ravanal
 
Ad

Similar to Estimation Protips - NCDevCon 2014 (20)

PDF
Scoping and Estimating WordPress Projects as an Agency
Kara Hansen
 
PPTX
Eric Naiburg (Scrum.org)
AgileNZ Conference
 
PDF
The Kanban Retrospective
Colleen Johnson
 
PDF
Optimize Portfolio Performance with Simple Agile Techniques and Jira - Part 1
Cprime
 
PDF
Measure what matters for your agile project
Munish Malik
 
PPT
Time management
Dibyajyoti Laha
 
PPSX
Agile Methodologies
Gurdeep Singh
 
PDF
Introduction to agile and scrum
Anat (Alon) Salhov
 
PPTX
Analytics in Action: Project Analytics: Visibility that Aids Risk Management
Hannah Flynn
 
PDF
Project Analytics: Visibility that Aids Risk Management
Aggregage
 
PPTX
The Business Case for DevOps - Justifying the Journey
XebiaLabs
 
PDF
The Dashlane Agile Journey
Dashlane
 
PDF
Managing Work
Jez Humble
 
PDF
Retrospective and different ways to run it
Liandra Bassiane
 
PDF
SCRUM Intro
Bermon Painter
 
PPTX
The art of execution
Crystal Taggart
 
PPTX
Chapter 5,6,7 (group 1 project man)
Arvin Dela Cruz
 
PDF
Short Intro to Agile-Scrum for NCA-CPA
LeanAgileTraining
 
PDF
Scrum training day 1
Elad Sofer
 
PDF
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
Kacper Gunia
 
Scoping and Estimating WordPress Projects as an Agency
Kara Hansen
 
Eric Naiburg (Scrum.org)
AgileNZ Conference
 
The Kanban Retrospective
Colleen Johnson
 
Optimize Portfolio Performance with Simple Agile Techniques and Jira - Part 1
Cprime
 
Measure what matters for your agile project
Munish Malik
 
Time management
Dibyajyoti Laha
 
Agile Methodologies
Gurdeep Singh
 
Introduction to agile and scrum
Anat (Alon) Salhov
 
Analytics in Action: Project Analytics: Visibility that Aids Risk Management
Hannah Flynn
 
Project Analytics: Visibility that Aids Risk Management
Aggregage
 
The Business Case for DevOps - Justifying the Journey
XebiaLabs
 
The Dashlane Agile Journey
Dashlane
 
Managing Work
Jez Humble
 
Retrospective and different ways to run it
Liandra Bassiane
 
SCRUM Intro
Bermon Painter
 
The art of execution
Crystal Taggart
 
Chapter 5,6,7 (group 1 project man)
Arvin Dela Cruz
 
Short Intro to Agile-Scrum for NCA-CPA
LeanAgileTraining
 
Scrum training day 1
Elad Sofer
 
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
Kacper Gunia
 
Ad

Recently uploaded (20)

PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PPTX
Cutting Optimization Pro 5.18.2 Crack With Free Download
cracked shares
 
PPTX
SAP Public Cloud PPT , SAP PPT, Public Cloud PPT
sonawanekundan2024
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
TexSender Pro 8.9.1 Crack Full Version Download
cracked shares
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PPTX
ChessBase 18.02 Crack + Serial Key Free Download
cracked shares
 
PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Cutting Optimization Pro 5.18.2 Crack With Free Download
cracked shares
 
SAP Public Cloud PPT , SAP PPT, Public Cloud PPT
sonawanekundan2024
 
Activate_Methodology_Summary presentatio
annapureddyn
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
TexSender Pro 8.9.1 Crack Full Version Download
cracked shares
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
ChessBase 18.02 Crack + Serial Key Free Download
cracked shares
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Brief History of Python by Learning Python in three hours
adanechb21
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 

Estimation Protips - NCDevCon 2014

  • 1. ESTIMATION PROTIPS JONATHON HILL NCDEVCON, SEPT. 2014
  • 2. BACKGROUND • Self-taught • 5+ years of full-time development • Former CTO for a small web startup • Former Director of Development for a digital marketing agency • AtlantaPHP Steering Committee
  • 6. I DID IT WRONG
  • 7. PROTIP #1: ESTIMATES ARE NOT PROMISES
  • 8. (N) ES-TIM-ATE: An attempt to quantify something in the face of the unknown. By definition, estimates are imprecise and tentative, versus
  • 9. “GOOD” ESTIMATE A good estimation approach should provide estimates that are within 25% of the actual results 75% of the time. Conte, Dunsmore, and Shen (1986)
  • 10. CERTAINTY Sadly, people asking for control or visibility really want certainty. Which doesn’t exist. Dan North https://twitter.com/tastapod/status/116271851767992320
  • 11. DISTINCTIONS Target: a stated desirable business objective Commitment: a promise to deliver a specific product within a specific timeframe
  • 13. DEFINITION A good estimate is an estimate that provides a clear enough view of the project reality to allow the project leadership to make good decisions about how to control the project to hit targets. Steve McConnell, Software Estimation
  • 14. PROTIP #2: YOUR GUT LIES
  • 16. HEAVIEST BLUE WHALE EVER RECORDED 380,000 LBS
  • 19. HOFSTADTER’S LAW “It always takes longer than you expect, even when you take into account Hofstadter’s Law.” Douglas Hofstadter Gödel, Escher, Bach: An Eternal Golden Braid
  • 20. WHY?
  • 22. IT’LL BE DIFFERENT THIS TIME!
  • 23. THE PLANNING FALLACY Students estimated their senior thesis completion time in a 1994 study: 27.4 33.9 48.6 55.5 60 50 40 30 20 10 0 Best Case Expected Case Worst Case Actual Source: Wikipedia
  • 25. TIME FRAMES “With software estimation you've only realistically got a choice of 5 mins, 1 hour, 1-2 days, about a week, and then all bets are off.” Rob Bowley https://twitter.com/robbowley/status/115430969825181696
  • 26. TIME FRAMES Can it be done in… • 5 minutes? • 1 hour? • 1-2 days? • 1 week?
  • 27. PROTIP #3: PREMATURE ESTIMATION IS SABOTAGE
  • 28. DEFINITION A good estimate is an estimate that provides a clear enough view of the project reality to allow the project leadership to make good decisions about how to control the project to hit targets. Steve McConnell, Software Estimation
  • 30. OVERESTIMATION • Inflated prices – might lose the job • Lack of urgency – project time fills up the estimate when it could have been done faster • Procrastination
  • 31. UNDERESTIMATION • Inadequate planning • Missed deadlines • Overwork, burnout • More bugs • Technical debt • Damage control • Unplanned interim releases • Meetings proliferate
  • 33. IS IT USEFUL? If there’s as much chance of you coming up with something meaningful by rolling some dice or rubbing the estimate goat then what purpose are you satisfying by doing so? Rob Bowley
  • 34. PROTIP #4: BIG TEAMS ARE SLOWER THAN SMALL ONES
  • 36. TIME = ESTIMATE ÷ AVAILABILITY
  • 41. TEAM EFFICIENCY Developers Communication Paths Individual Efficiency Team Capacity 1 0 100% 1x 2 3 75% 1.5x 3 6 67% 2x 4 10 63% 2.5x 5 15 60% 3x 6 21 58% 3.5x 7 28 57% 4x 8 36 56% 4.5x 9 45 56% 5x 10 55 55% 5.5x Source: Paul M. Jones, http://paul-m-jones.com/archives/1591
  • 42. PROTIP #5: BEWARE UNWARRANTED PRECISION
  • 43. “533.5 hours” vs “13 workdays” vs “3 weeks”
  • 45. PROTIP #6: COUNT ALL THE THINGS!
  • 46. TIME FRAMES Can it be done in… • 5 minutes? • 1 hour? • 1-2 days? • 1 week?
  • 47. DECOMPOSITION AND RECOMPOSITION 1. List all the features 2. Break the features into sub-features 3. Break the sub-features into components 4. Estimate the components 5. Add the estimates up
  • 48. LAW OF LARGE NUMBERS The tendency for errors on the high side and errors on the low side to cancel each other out. i.e., The accuracy of the sum is greater than the accuracy of the individual estimates.
  • 49. PAUL JONES’ METHOD 1. List all the controllers required for each feature 2. List all the methods required for each controller 3. Estimate 1 dev-pair day per controller method
  • 50. BRANDMOVERS METHOD 1. List all the logical features required 2. Break down each feature into small logical components 3. List all the pages and modals required for each feature 4. Estimate the back-end time required for each logical component 5. Estimate the front-end time required for each page 6. Sum up the back-end and front-end totals
  • 52. PROTIP #7: WHEN IN A PINCH, USE A PROXY
  • 53. PROXY ESTIMATION 1. Assign a size classification to each feature 2. Compute the average time required for similarly-sized features from actual past projects 3. Create estimate ranges for each feature based on past performance 4. Sum the result
  • 54. PROS • Easier • Faster
  • 55. CONS • Less accurate • Requires collection and archival of project historical data on a per-feature basis
  • 56. STORY POINTS • Uses a point scale: 1, 2, 4, 8, 16 • Break down the project into epics and stories • Assign a point value to each story • Schedule releases at regular intervals • The number of points completed per release is known as “velocity” • Use the velocity to plan and estimate the delivery dates for future releases
  • 57. EXAMPLE Iteration 1 • 27 story points delivered • 12 staff weeks expended over 3 calendar weeks • Effort = 27 points / 12 weeks = 2.25 points/week • Schedule = 27 points / 3 weeks = 9 points/week Iteration 2 projection • 33 story points scheduled • Effort = 33 points / 2.25 points/week = 15 staff weeks • Schedule = 33 points / 9 points/week = 4 calendar weeks
  • 59. T-SHIRT SIZING • Assign a T-shirt size for development cost • Assign a T-shirt size for business value • Create a table of business value to development cost ratios • Look up the net business value for each feature based on the dev cost and business value T-shirt sizes • Prioritize the features in order of net business value
  • 60. EXAMPLE Feature Business Value Dev Cost Feature A L S Feature B S L Feature C L L Feature D M M Feature E M L
  • 61. VALUE TO COST RATIOS Development Cost XL L M S XL 0 4 6 7 L -4 0 2 3 M -6 -2 0 1 S -7 -3 -1 0 Business Value
  • 62. BIZ VALUE EXAMPLE Feature Business Value Dev Cost Net Value Feature A L S 3 Feature C L L 0 Feature D M M 0 Feature E M L -2 Feature B S L -3
  • 63. PROTIP #8: YOU CAN’T NEGOTIATE MATH
  • 65. PROBLEM SOLVING When the estimate and target conflict: • Negotiate features • Negotiate time • Negotiate price
  • 66. ATTITUDE • Try to be helpful, offer solutions • Be creative • Examine what can be done in parallel to save time • Be firm – you can’t change the laws of physics
  • 68. ONE FINAL WORD A HORROR STORY
  • 69. THE SETTING • Former employer of mine • Start-up, naïve and inexperienced • Needed cash bad
  • 70. THE CLIENT • Small company in Atlanta • Four separate disconnected systems • Wanted web-based workflow consolidation • Wanted online ordering and payments
  • 71. THE ESTIMATE • Estimated at 1,039 man-hours • Normal hourly rate was $120/hr • We did a fixed-bid for $50k, at an effective hourly rate of $48/hr
  • 72. THE FALLOUT • 18 months later… • 2,500 man-hours • 1,500+ Subversion commits • Lots of “unknown unknowns”, hidden complexities, and scope creep
  • 73. THE MORAL • Don’t succumb to optimism or planning bias • Use a good estimation methodology • Try not to do fixed bidding • Always have a thorough scope before starting
  • 74. ESTIMATION PROTIPS 1. Estimates are not promises 2. Your gut lies 3. Premature estimation is sabotage 4. Big teams are slower than small ones 5. Beware unwarranted precision 6. Count all the things! 7. When in a pinch, use a proxy 8. You can’t negotiate math
  • 75. JonathonHill.net @compwright Book Recommendation: Software Estimation: Demystifying the Black Art by Steve McConnell

Editor's Notes

  • #11: Dan North sez…
  • #12: Targets: “We need v2.1 ready to demo at a trade show in May.” “Our budget is $2mm, we must limit the cost of the next release to that budget.”
  • #13: Here’s the problem: estimates and targets often collide. Good estimates are probability statements based on what is known about the project and available resources, and targets are specific business objects that are sometimes quite solid. At Brandmovers, if we’re building a promotion to help generate buzz and excitement for the next Avengers movie, and that movie launches on a particular date, it isn’t really an option to delay launching the promotion if the project runs over. So if an estimate isn’t a promise, what is a good estimate?
  • #15: Ever been asked for a “gut estimate?” It’s not at all uncommon to be asked to estimate something about which you have next to no knowledge. To illustrate the point, I’d like to do a little exercise.
  • #16: I’d like you to estimate the weight, in pounds, of the heaviest blue whale ever recorded. No cheating, don’t Google it. Give a high and a low estimate. Here’s the catch: I want you to estimate this with a wide enough range so that you are 90% confident that the correct answer is in the range that you set. You’ve got one minute. Go.
  • #17: Now, I’d like to get a show of hands of how many of you captured the correct answer in your range. Almost everyone gets this wrong.
  • #18: You might be thinking, “c’mon, this is not a realistic exercise.” Folks, estimating in the face of this kind of uncertainty is business as usual for software estimators. Fortunately, there are techniques that will help you get within 25% of the actual number 75% of the time. The other takeaway here is unless you are into statistics and you have have a mathematical reason for saying so, don’t use terms like “90% confident” or “75% confident.”
  • #19: Before we go any further, I’d like to share a book recommendation. The exercise we just did comes from chapter 2 of the book Software Estimation, by Steve McConnell. Steve is a former Microsoft employee and also authored the book Code Complete. Software Estimation is pretty much required reading for anyone who is responsible for estimating software projects. This book really helped me to understand why good estimation practices work, and what I had been doing wrong for years before.
  • #20: Hofstadter’s Law illustrates why estimation is so hard, and why so many people get it wrong. In fact, the difficulties with producing even a ballpark estimate and the the tendency to misunderstand and abuse estimation have led some to seek workflows which eliminate estimation altogether. Some agile methodologies do this. Sadly, the dynamics and business models of many companies do not allow such a luxury.
  • #46: We’ve talked about a lot of theory, what estimates are, what they’re good for. Now let’s talk about some practical methodology.
  • #47: Remember Rob Bowley’s timeframes?
  • #48: This is the underlying idea behind estimation by decomposition. Essentially, you break down the project features, and then you break down those sub-features down even further to the individual components that must be built. Estimate each component, and sum the individual estimates to produce the overall estimate.
  • #50: There are a few different ways to do this. The first way was pretty hard for me to swallow at first. I learned it from Paul Jones and in practice it works very well. This method includes front-end, back-end, and QA time built in and was created based on his personal observations from working on many different projects. Notice the large unit of measure (1 day), and the fact that it assumes two people will be pair programming. I never understood why this method worked so well until I learned about the law of large numbers. Simple methods are often quite effective! It doesn’t take complex mathematics or estimation modeling software to produce a useful estimate. A spreadsheet and a good method are all you need.
  • #71: Had four separate systems in place for managing customer data, billing, inventory, and fulfillment
  • #72: Did I mention we needed the money?
  • #73: $25-30/hr effectively