200 likes | 219 Views
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.
E N D
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.
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 • 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 • 10K 26.9 39.5 57.1 • 15K 41.2 62.2 92.8 • 20K 55.8 86.0 131.1 • 25K 70.5 110.4 171.3 • 30K 85.3 135.3 213.2 • 35K 100.3 160.8 256.6 • 40K 115.4 186.8 301.1 • 45K 130.6 213.2 346.9 • 50K 145.9 239.9 393.6
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