200 likes | 223 Views
Explore various software cost estimation techniques, tools, and models. Learn about effort prediction, duration estimation, and associated costs. Recommended reading for cost estimation professionals. Detailed examples and COCOMO effor...
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