Constructive Cost Model COCOMO Adapted from Allan Caine
Outline � COCOMO in a Coconut-shell � Complete Examples � Intermediate COCOMO: Cost Drivers � Advantages and Limitations of COCOMO
COCOMO in a Coconut-shell = b E a ( KLOC ) � Where � E is the Effort in staff months � a and b are coefficients to be determined � KLOC is thousands of lines of code
The Constants Mode a b Organic 2.4 1.05 Semi-detached 3.0 1.12 Embedded 3.6 1.20
The Modes � Organic � 2-50 KLOC, small, stable, little innovation � Semi-detached � 50-300 KLOC, medium-sized, average abilities, medium time-constraints � Embedded � > 300 KLOC, large project team, complex, innovative, severe constraints
Examples � Suppose size is 200 KLOC, � Organic � 2.4(200) 1.05 = 626 staff-months � Semi-Detached � 3.0(200) 1.12 = 1,133 staff-months � Embedded � 3.6(200) 1.20 = 2,077 staff-months
Project Duration = d TDEV c ( E ) � Where � TDEV is time for development � c and d are constants to be determined � E is the effort
Constants for TDEV Mode c d Organic 2.5 0.38 Semi-detached 2.5 0.35 Embedded 2.5 0.32
Example � Picking up from the last example, � Organic � E = 626 staff months � TDEV = 2.5(626) 0.38 = 29 months � Semi-detached � E = 1,133 � TDEV = 2.5(1133) 0.35 = 29 months � Embedded � E = 2077 � TDEV = 2.5(2077) 0.32 = 29 months
Average Staff Size E [staff - months] = TDEV = = SS [staff] [ months]
Productivity Size [KLOC] KLOC = = = P staff - month E [staff - months]
Complete Example, Organic � Suppose an organic project has 7.5 KLOC, � Effort 2.4(7.5) 1.05 = 20 staff–months � Development time 2.5(20) 0.38 = 8 months � Average staff 20 / 8 = 2.5 staff � Productivity 7,500 LOC / 20 staff-months = 375 LOC / staff-month
Complete Example, Embedded � Suppose an embedded project has 50 KLOC, � Effort 3.6(50) 1.20 = 394 staff–months � Development time 2.5(394) 0.32 = 17 months � Average staff 394 / 17 = 23 staff � Productivity 50,000 LOC / 394 staff-months = 127 LOC / staff-month
Comparison Item Organic Embedded Effort (staff- 20 394 months) Development 8 17 Time Average Staff 2.5 23 Productivity 375 127
Intermediate COCOMO b × = E a ( KLOC ) C � Where New � E is the effort � a and b are constants (as before) � KLOC is thousands of lines of code � C is the effort adjustment factor
Cost Drivers � Intermediate COCOMO introduces Cost Drivers � They are used because � they are statistically significant to the cost of the project; and � they are not correlated to the project size (KLOC).
Categories � I. Product Attributes � II. Computer Attributes � III. Personnel Attributes � IV. Project Attributes
I. Product Attributes � RELY Required Software Reliability � DATA Data Base Size � CPLX Product Complexity
II. Computer Attributes � TIME Execution Time Constraint � STOR Main Storage Constraint � VIRT Virtual Machine Volatility 1 � TURN Computer Turnaround Time 1 The hardware and software in combination.
III. Personnel Attributes � ACAP Analyst Capability � AEXP Application Experience � PCAP Programming Capability � VEXP Virtual Machine Experience 1 � LEXP Programming Language Experience 1 The hardware and software in combination.
IV. Project Attributes � MODP Modern Programming Practices � TOOL Use of Software Tools � SCED Required Development Schedule
Example � Suppose the following assumptions are made: 1.17
Example ..2 � So, the nominal amount of staff-months will be increased by 17% for organic, semi- detached, or embedded projects. � Suppose it is estimated that a project will take 51 nominal staff-months at $5,000 / staff-month. � The cost: � Nominally, $255,000 (51 X $5,000) � Adjusted, $298,350 (51 X $5,000 X 1.17)
The “Proof”
Advantages � Based on history � Repeatable � Unique adjustment factors � Has different modes � Works well on similar projects � Highly calibrated � Well-documented � Easy to use
Limitations � Ignores requirements volatility � Ignores documentation � Ignores customer’s “skill” � Oversimplifies security � Ignores software safety � Ignores personnel turnover � Ignores many hardware issues � Personnel experience may be obsolete � Must know the cost drivers � Must be able to predict project size
Final Word � “The models are just there to help, not to make the management decisions for you.” -- Barry Boehm
Recommend
More recommend