estimating copyright © 2006 patrick mcdermott uc berkeley extension [email protected] mcconnell,...
TRANSCRIPT
EstimatingCopyright © 2006 Patrick McDermott
UC BerkeleyExtension
McConnell, Steve, Software Estimation: Demystifying the Black Art, Redmond, Washington: Microsoft Press (978-0-7356-0535-0 0-7356-0535-1), 2006.
Resources
• CoCoMo• Function Points• CPM Critical Path• Various Estimating Tools• Microsoft ® Project
• I recommend: Voodoo, or Zen!
Co$t Function
Time
The Tradeoff Triangle
You May Choose Only 2
Emergence in Estimation
• My Economic Crystal Ball– Knowing a Lot Can Help
• Rules of Thumb aren’t all that Dumb• Law of Large Numbers
– A lot of inaccurate guesses can add up to a very accurate estimate
• The Proof: Las Vegas– They don’t know who will win– But they know how many will win
Techniques
• Count, Compute, Judge• Decomposition & Recomposition• Calibration & Historic Data
– Industry Average– Organizational Data– Project Specific Data
• Expert Judgment– Individual– Delphi Technique
• Estimation by Analogy
Politix
• What Gets Done• The Incredible Shrinking Estimate• Is it a Lie if Nobody Believes it?• Low Ball It
– Government Contracts– Auto Industry
• The Estimate is inversely proportional to the estimator’s desire to do the project
Strange Attractors
• The Earth is 4,600,000,006 Years Old• T-Shirt Size
– S M L XL
• The Cone of Uncertainty• It’s not the average, it’s the variance from
expectation, that causes disappointment• The calendar can affect acceptability
– January 10 can be a harder sell than June 30!– Bonus!
Critical Path
Paint Interior
Paint Exterior
Put UpWalls
InspectorLayFoundation
2.0
3.0
5.5
3.5 1.0
On theCriticalPath
Function Points4I 5O 4E 10L 7F
van Vliet, Hans, Software Engineering, Principles and Practices, Chichester, England: John Wiley & Sons (0-471-93611-1), 1993 , p. 111.
Type Simple Average Complex
Input (I) 3 4 6
Output (O) 4 5 7
Inquiry Types (E) 3 4 6
Logical Internal (L) 7 10 15
Interfaces (F) 5 7 10
Complexity Level
McConnell’s Sanity Check
1. Was a standardized procedure used to create the estimate?
2. Was the estimation process free from pressure that would bias the results?
3. If the estimate was negotiated, were only the inputs to the estimate negotiated, not the outputs or the estimation process itself?
4. Is the estimate expressed with precision that matches its accuracy? (For example, is the estimate expressed as a range or coarse number if it’s early in the project?) …
McConnell’s Sanity Check II
5. Was the estimate created using multiple techniques that converged to similar results?
6. Is the productivity assumption underlying the estimate comparable to productivity actually experienced on past projects of similar sizes?
7. Is the estimated schedule at least 2.0 x StaffMonths⅓? (That is, is the estimate outside of the Impossible Zone?)
8. Were the people who are going to do the work involved in creating the estimate?
…
McConnell’s Sanity Check III9. Has the estimate been reviewed by an expert
estimator?
10. Does the estimate include a nonzero allowance for the impact that project risks will have on effort and schedule?
11. Is the estimate part of a series of estimates that will become more accurate as the project moves into the narrow part of the cone of uncertainty?
12. Are all elements of the project included in the estimate, including creation of setup program, creation of data conversion utilities, cutover from old system to new system, etc.?
Remember
Don’t Confuse an Estimate with a TargetDon’t let them confuse a Target with a
Commitment
• Executives are trained negotiators, Engineers are not
• Just Say “No” to Bill Gates