cost22 1 question of the day u if you were the boss, what would you do for cost estimation?
TRANSCRIPT
cost22 1
Question of the day
If you were the boss, what would you do for cost estimation?
cost22 2
Cost Estimation
Estimates based on LOC
cost22 3
Prediction Formulas
E=X
>1
<1
=1
TTYP1 – which one did Henry Ford experience?
Size
cost
cost22 4
Cost Estimation Models LOC models
– Boehm's COCOMO– Putnam's Model (SLIM)
non-LOC models– Function Points
combination– COCOMO2
cost22 5
Boehm's COCOMO
Software Engineering Economics Prentice-Hall c1981 type COCOMO in a search engine - many
www sites
cost22 6
COnstructive COst MOdel
Basic– macro - overview of whole project with one
metric of KSLOC Intermediate
– multiplicative adjustment factors Detailed
– applying model to each phase
cost22 7
Modes of Software Development
Organic– detached, often batch
Semidetached– e.g. transaction processing
Embedded– e.g. os kernel
cost22 8
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
cost22 9
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
cost22 10
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
cost22 11
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
cost22 12
Average Staffing Levels
Calculate by dividing PM by TDEV
cost22 13
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
cost22 14
Productivity
The productivity is defined as LOC per time unit.
The usual units are LOC/Programmer-Day
Divide final size of project by total programmer-days of effort for the whole software development
cost22 15
TTYP2
What is the effort, productivity, staffing and delivery time for an application project that takes 82K loc?
What is the effort, productivity, staffing and delivery time for a system project that take 200K loc?
cost22 16
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
cost22 17
Putnam's Cost Estimation Model
macro-estimation model that uses LOC relationship between cost and the amount of
time available for the development effort. The model supports the 'mythical man-
month' idea
cost22 18
Putnam's Model
Uses the Rayleigh Curve– Shows Instantaneous Programmer-power vs
Time– Empirically verified on other projects
cost22 19
Rayleigh Curve
The rayleigh curve is a product of at times e raised to the -bt squared
The at dominates at first giving a steep rise and then the negative power of e lowers the value slowly
cost22 20
Rayleigh Curve
y : instantaneous programmer-power K : total lifecycle cost ( in programmer-years) t : time from beginning of project td: delivery time e= 2.71828...
y Kt
te
d
ttd
22
22
cost22 21
Software Equation
There must be a relationship between the lifecycle development effort, the development time and the size of the project.
This relationship is given in the Software Equation
cost22 22
Software Equation
Ss = C*K1/3 td4/3
– where:
– Ss is the estimated size of the software system
– K is the total lifecycle effort in programmer-years
– C is the technology constant
– td is the development time (in years)
cost22 23
Putnam by spread-sheet
S td (years) K .4K ProgProd100000 1 100000 40000 0.0125100000 1.5 19753 7901 0.0633100000 2 6250 2500 0.2000100000 2.5 2560 1024 0.4883100000 3 1235 494 1.0125100000 3.5 666 267 1.8758100000 4 391 156 3.2000100000 4.5 244 98 5.1258100000 5 160 64 7.8125100000 5.5 109 44 11.4383100000 6 77 31 16.2000100000 6.5 56 22 22.3133100000 7 42 17 30.0125
cost22 24
Summary
What could you do as a manager to improve cost estimation?