Software Estimation
Terms
undefined, object
copy deck
 What's the difference between an estimate, a commitment, and a target
 estimate=how long it will take. commitment = when you agree to finish it. target=when they want it done
 What are the five steps that must be completed before you make a commitment?
 Initial Concept, Product Definition, Requirements Analysis, Detailed Design, UI Design
 What are the pitfalls of underestimating

Poor team coordination
more wasteful "off track" meetings
frequent reestimation
poor customer relations
preparing a demo because real software is not done
fixing issues with quick and dirty workaraounds to meet schedule pressure  What are the pitfalls of overestimating
 Student Syndrome  developers will procrastinate and then rush and probably won't finish on time
 Cardinal Rule 1 of Estimating
 Do NOT make off the cuff estimates. Even a 15minute estimate is better
 Trick of estimating
 Give estimates in a wide range and commit to expected. Give periodic updates on where you are in the range
 Cardinal Rule 2 of Estimating
 Do NOT make a commitment until detailed design is done
 What are the 3 major factors in an estimate?
 Project Size, Complexity, Personnel
 What are the estimate multipliers in the Cone of Uncertainty?

Initial Concept  16x
Approved Product Definition  4x
Requirements Complete  2.25x
UI Design Complete  1.6x
Detailed Design Complete  1.2x  What are the steps in the Count, Compute, Judge method?

Count something, i.e. lines of code, tables, etc
compute how long it will take to complete each
use judgement as your last resort  What are the steps in structured expert judgement?

have the ppl doing work estimate
break project up into features
estimate Best Case (BC), Most Like Case (MLC), and Worst Case (WC) for each feature
keep track of actual  What are the steps of decompose and recompose

break up into 5  10 pieces
estimate BC and WC for each
calc standard deviation (Sum(WC)Sum(BC))/6
calculate intervals
25% = EC (.67xSD)
50% = EC
75% = EC + (.67xSD)
98% = EC + (2xSD)  How to tell if estimate is good

1. Product clearly defined?
2. Does it include everything?
3. Is it detailed enough to expose hidden work?
4. Was it composed using historical data?
5. Was it done by the person who will do the work?
6. Is the productivity assumption realistic?
7. Does it include BC, EC, WC?
8. Is WC really the WC?
9. Have the assumption been documented?
10. Has any thing changed since the estimate was done?