Software Estimating Technology: A Survey Richard Stutzke Crosstalk, May96 text pp204-215
Cost Estimation An estimate of the effort and duration, associated costs of equipment, travel and training and the rationale for the calculations
Problem “The estimator must estimate the effort (person-hours) and duration (calendar-day) for the project to enable managers to determine improtant business measures such as product costs, return on investment, and time to market.”
Recommendation If you are involved with cost estimation, I recommend the following book Tom DeMarco, Controlling Software Projects, Yourdon Press, NY c1982
Definition of Estimate (DeMarco) Default: "An estimate is the most optimistic prediction that has a non-zero probability of coming true" Proposed: "An estimate is a prediction that is equally likely to be above or below the actual result"
Estimates should not become goals DeMarco argues that the estimation and the management decision about pricing or goals should be separate.
Estimate
Parametric Cost Estimation LOC models Boehm's COCOMO Putnam's Model (SLIM) non-LOC models Function Points combination COCOMO2
Prediction Formulas b>1 E=aXb b<1
Boehm's COCOMO Software Engineering Economics – article (1983) pp216-233 in text Software Engineering Economics – (book) Prentice-Hall c1981 type COCOMO in a search engine - many www sites
COnstructive COst MOdel Basic macro - overview of whole project with one metric of KSLOC Intermediate multiplicative adjustment factors Detailed applying model to each phase
Modes of Software Development Organic detached, often batch Semidetached e.g. transaction processing Embedded e.g. os kernel
Programmer Effort Application Programs Utility Programs PM = 2.4 * (KDSI)1.05 Utility Programs PM = 3.0 * (KDSI)1.12 Systems Programs PM = 3.6 * (KDSI)1.20 Note A’s in text are different from later versions of COCOMO
Example for effort Size Appl Util Sys 5K 13.0 18.2 24.8
Development Time (Months) Application Programs TDEV = 2.5 * (PM) 0.38 Utility Programs TDEV = 2.5 * (PM) 0.35 Systems Programs TDEV = 2.5 * (PM) 0.32
Example for development time size appl util sys 5K 6.63 6.90 6.99 10K 8.74 9.06 9.12 15K 10.27 10.62 10.66 20K 11.52 11.88 11.90 25K 12.60 12.97 12.96 30K 13.55 13.93 13.91 35K 14.40 14.80 14.75 40K 15.19 15.59 15.53 45K 15.92 16.33 16.25 50K 16.61 17.02 16.92
Average Staffing Levels Calculate by dividing PM by TDEV
Example for staffing levels size appl util sys 5K 1.96 2.63 3.55 10K 3.08 4.37 6.26 15K 4.01 5.87 8.71 20K 4.84 7.23 11.02 25K 5.60 8.51 13.21 30K 6.30 9.72 15.33 35K 6.97 10.87 17.39 40K 7.60 11.98 19.39 45K 8.20 13.05 21.35 50K 8.79 14.09 23.27
COCOMO Effort Multipliers product attributes required reliability 0.75 - 1.40 data-base size 0.94 - 1.16 product complexity 0.70 - 1.65 computer attributes execution time constraint 1.00 - 1.66 main storage constraint 1.00 - 1.56 virtual machine volatility 0.87 - 1.30 computer turnaround time 0.87 - 1.15
The Cocomo 2.0 Software Cost Estimation Model Barry Boehm, etal See web pages