Cost9a 1
Software Estimating Technology:A Survey
Richard Stutzke
Crosstalk, May96
text pp204-215
Cost9a 3
Cost Estimation
An estimate of the effort and duration, associated costs of equipment, travel and
training and the rationale for the calculations
Cost9a 4
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.”
Cost9a 5
Recommendation
If you are involved with cost estimation, I recommend the following book
Tom DeMarco, Controlling Software Projects, Yourdon Press, NY c1982
Cost9a 6
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"
Cost9a 7
Estimates should not become goals
DeMarco argues that the estimation and the management decision about pricing or goals should be separate.
Cost9a 8
Estimate
cost
estimate price
Cost9a 9
Parametric Cost Estimation LOC models
– Boehm's COCOMO– Putnam's Model (SLIM)
non-LOC models– Function Points
combination– COCOMO2
Cost9a 10
Prediction Formulas
E=X
>1
<1
Cost9a 11
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
Cost9a 12
COnstructive COst MOdel
Basic– macro - overview of whole project with one
metric of KSLOC Intermediate
– multiplicative adjustment factors Detailed
– applying model to each phase
Cost9a 13
Modes of Software Development
Organic– detached, often batch
Semidetached– e.g. transaction processing
Embedded– e.g. os kernel
Cost9a 14
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
Cost9a 15
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
Cost9a 16
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
Cost9a 17
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
Cost9a 18
Average Staffing Levels
Calculate by dividing PM by TDEV
Cost9a 19
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
Cost9a 20
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
Cost9a 21
The Cocomo 2.0 Software Cost Estimation Model
Barry Boehm, etal
See web pages