COnstructive COst MOdel (COCOMO) developed by Barry Boehm for estimation of software project
COCOMO: Basic Effort and Schedule Estimating Formulas
P1 Effort = C1 EAF (Size) Effort = number of staff-months EAF = product of 15 effort adjustment factors (Table B-1) Size = 1.05 1 Organic mode: Effort = 3.2 EAF (Size) 1.12 2 Semidetached mode: Effort = 3.0 EAF (Size) 1.2 3 Embedded mode: Effort = 2.8 EAF (Size) Table-B-1 COCOMO project characterization parameters Identifier 1 RELY Required realibility 2 DATA Database size 3 CPLX Product complexity 4 TIME Execution time constraint 5 STOR Main storage constraint number of delivered source instructions (in units of thousands of line of code) Effort Adjustment Factor - EAF 6 VIRT Virtual machine volatility 7 TURN Computer turnaround time 8 ACAP Analyst capability 9 AEXP Applications experience 10 PCAP Programmer capability 11 VEXP Virtual machine experience 12 LEXP Language experience 13 MODP Use of modern practices 14 TOOL Use of software tools 15 SCED Required development schedule Each parameter is assessed as "very low", "low", "nominal", "high", and "very high" ASSUMPTIONS in COCOMO formulas 1 The development life cycle starte at the beginning of product design and ends with acceptance test at the conclusion of the integration and test phase 2 The requirements analysis effort and schedules are estimated seperately as an additional percentage of the development estimate 3 The activities include directly charged project efforts & exclude typical overhead activities such as; administrative support, facilities, and capital equipment 4 A staff-month consiste of 152 hours say 19 working days/month @ 8 staff-hours/working day 5 The project will be well managed 6 The project will experience stable requirements COCOMO Life-cycle description Phase-1 Plans and Requirements Phase Phase-2 Product Design Phase Phase-3 Detailed Design Phase Phase-4 Code and Unit Test Phase Phase-5 Integration and Test Phase Table B-2: Effort and Schedule partition across conventional life-cycle phases Effort % Sch. % Plans & requirements (+)8% (+)36% Product design 18% 36% Detailed design 25% 18% Code & unit test 26% 18% Integration & test 31% 28% COCOMO software WBS Table B-3: Default effort allocations across COCOMO WBS activities (at top level) Requirement analysis Product design Programming (incl: detailed design, coding, unit testing, & integration Test planning Verification & validation Project office functions (management & administration) Configuration management & quality assurance Manuals A typical COCOMO Project Profile Example: 100,000 SLOC - Control of power plant project Identifier 1 RELY Required realibility 2 DATA Database size 3 CPLX Product complexity Effort Adjustment Factor - EAF Activity Activity 4 TIME Execution time constraint 5 STOR Main storage constraint 6 VIRT Virtual machine volatility 7 TURN Computer turnaround time 8 ACAP Analyst capability 9 AEXP Applications experience 10 PCAP Programmer capability 11 VEXP Virtual machine experience 12 LEXP Language experience 13 MODP Use of modern practices 14 TOOL Use of software tools 15 SCED Required development schedule 1.2 Effort = 2.8 EAF (K.Size) Staff months 1.2 Effort = 2.8 1.28 100 Effort = 2.8 1.28 251.19 Effort = 900 Staff months Effort for Plans & requirements phase is + 8% of Effort= Project Effort = 972 Staff months 0.32 Time = 2.5 (Effort) months 0.32 2.5 900 months 2.5 8.818 Time = 22.04 months Time for Plans & requirements phase is + 36% of Time= Project Time = 30 months Staffing Profile and Activity Mix: Activity Budget % Requirement analysis 4% Product design 12% Programming (incl: detailed design, coding, unit testing, & integration 44% Test planning 6% Verification & validation 14% Project office functions (management & administration) 7% Configuration management & quality assurance 7% Manuals 6% Planned Effort % Effort Sch. % (+)8% 72 (+)36% 18% 162 36% 25% 225 18% 26% 234 18% 31% 279 28% month efforts 1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 20 10 20 11 20 12 20 13 20 Detailed design Code & unit test Integration & test Plans & requirements Activity Plans & requirements Product design Product design 30 40 50 60 70 E f f o r t
/
d a y
Staffing Profile & Activity Mix 14 20 15 20 16 20 17 57 18 57 19 57 20 57 21 59 22 59 23 59 24 59 25 45 26 45 27 45 28 45 29 45 30 45 Project END Code & unit test Integration & test Detailed design 0 10 20 30 1357 E f f o r t
/
d a y COnstructive COst MOdel (COCOMO) developed by Barry Boehm for estimation of software project 1980's P2 Time = C2 (Effort) product of 15 effort adjustment factors (Table B-1) 0.38 Time = 2.5 (Effort) 0.35 Time = 2.5 (Effort) 0.32 Time = 2.5 (Effort) 1.87 1.23 2.36 1.66 1.56 0.94 - 1.16 0.70 - 1.65 1.00 - 1.66 1.00 - 1.56 number of delivered source instructions (in units of thousands of line of code) Potential Range 0.75 - 1.40 Parameter Range Setting 1.49 1.32 2.06 1.57 2.03 1.34 1.20 1.51 1.49 1.23 Each parameter is assessed as "very low", "low", "nominal", "high", and "very high" The development life cycle starte at the beginning of product design and ends with acceptance test at the conclusion of the integration and test phase The requirements analysis effort and schedules are estimated seperately as an additional The activities include directly charged project efforts & exclude typical overhead activities such as; administrative support, facilities, and capital equipment A staff-month consiste of 152 hours say 19 working days/month @ 8 staff-hours/working day Table B-2: Effort and Schedule partition across conventional life-cycle phases 1.24 - 0.83 1.23 - 1.10 1.42 - 0.70 1.21 - 0.90 1.14 - 0.95 1.24 - 0.82 0.87 - 1.30 0.87 - 1.15 1.46 - 0.71 1.29 - 0.82 Table B-3: Default effort allocations across COCOMO WBS activities (at top level) Budget % 4% 12% 44% 6% 14% 7% 7% 6% 1.00 1.00 1.00 normal normal normal Parameter Potential Range Range Setting 1.00 1.00 1.00 0.88 1.00 1.00 1.10 1.00 1.15 1.15 1.00 1.00 72 Staff months (refer Table B-2) 8 months high normal normal normal low normal high normal normal high normal normal Staff-months 36 108 396 54 126 63 63 54 900 Planned Schedule Effort/day 8 9 8 20 4 57 4 59 6 45 Staffing Profile & Activity Mix Series1 79 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 Month Ada COCOMO: Basic Effort and Schedule Estimating Formulas based on the use of Ada process model P Effort = 2.8 EAF (Size) Effort = number of staff-months EAF = product of 19 effort adjustment factors (Table B-4) Size = Time = P = Table-B-4 Ada COCOMO improvememnts in Effort Adjustment factors Identifier 1 RELY Required realibility 2 DATA Database size 3 CPLX Product complexity 4 RUSE Required level of reuse 5 SECU Security constraints 6 TIME Execution time constraint 7 STOR Main storage constraint 8 VIRT Virtual machine volatility 9 VMVH Host VM volatility 10 VMVT Target VM volatility 11 TURN Computer turnaround time 12 ACAP Analyst capability 13 AEXP Applications experience 14 PCAP Programmer capability 15 VEXP Virtual machine experience number of delivered source instructions (in units of thousands of line of code) Effort Adjustment Factor - EAF Total number of months Process exponent ranged from 1.04 to 1.24 16 LEXP Language experience 17 MODP Use of modern practices 18 TOOL Use of software tools 19 SCED Required development schedule Each parameter is assessed as "very low", "low", "nominal", "high", and "very high" Critical strategy of the Ada process model emphasis on the Preliminary Design Review (PDR) milestone, as per military standard Substrategies of the Ada process model 1 Formation of core design team with expertize in software architecture & applications domain 2 An early focus on executable architechture skeltons for exposing risk 3 Build detail design walkthroughs rather than Critical Design Review (CDR) across the whole system P (1.04 - 1.24) was defined from the combined effects of the following 4 parameters 1 2 Design thoroughness at PDR. "little thoroughness (20%)" to "complete thoroughness (100%)" 3 Risks eliminated at PDR. "little risk resolution (20%)" to "complete risk resolution (100%)" 4 Requirements volatility during development. "many large changes" to "no changes" This corrosponds to: 1 Little familiarity with the Ada process model 2 Some design thoroughness at PDR (40%) 3 Some risks eliminated by PDR (40%) 4 Frequent but moderate requirements changes By keeping the design team smaller, and establishing a more tangible architecture description at PDR, the Ada process model attempted to: 1 optimize interpersonal communications 2 avoid late downstream rework 3 encouraged ealier requirements convergence Ada process model experience from "no-familirity" with the process to "successfully employed on multiple projects". 20 30 40 50 60 70 E f f o r t
/
d a y
Staffing Profile & Activity Mix 0 10 20 1357 1985 First used to bid for defense software such as;next generation missile warning system 0.32 Time = 2.5 (Effort) product of 19 effort adjustment factors (Table B-4) Ada COCOMO improvememnts in Effort Adjustment factors No change Deleted & split into 9, & 10 New effect number of delivered source instructions (in units of thousands of line of code) Ada COCOMO Potential Range Perturbations Changes to have +ve impact New effect No change New effect No change Changes to have less impact No change New level of +ve impact Changes to have +ve impact Process exponent ranged from 1.04 to 1.24 Changes to have +ve impact No change New effect Each parameter is assessed as "very low", "low", "nominal", "high", and "very high" emphasis on the Preliminary Design Review (PDR) milestone, as per military standard Formation of core design team with expertize in software architecture & applications domain An early focus on executable architechture skeltons for exposing risk Build detail design walkthroughs rather than Critical Design Review (CDR) across the whole system P (1.04 - 1.24) was defined from the combined effects of the following 4 parameters Design thoroughness at PDR. "little thoroughness (20%)" to "complete thoroughness (100%)" Risks eliminated at PDR. "little risk resolution (20%)" to "complete risk resolution (100%)" Requirements volatility during development. "many large changes" to "no changes" By keeping the design team smaller, and establishing a more tangible architecture description Ada process model experience from "no-familirity" with the process to "successfully employed on multiple projects". Changes to have more impact Changes to have more impact Changes to have less impact New level of automation support Staffing Profile & Activity Mix Series1 79 1 1 1 3 1 5 1 7 1 9 2 1 2 3 2 5 2 7 2 9 Month First used to bid for defense software such as;next generation missile warning system Series1 COCOMO - II: is an Effort and Schedule Estimating Formulas Objectives: 1 Provides range estimates rather than point estimates 2 Range estimates vary over the project life cycle (refer figure B-2) 3 Figure B-3 maps these models to these phases of an iterative life cycle P Effort = C1 EAF (Size) Effort =number of staff-months E Arch =product of 7 early design effort adjustment factor (Table B-5) Size: E App =product of 17 post architecture effort adjustment factor (Table B-6) Size: 1 Early design model: Effort = 2.45 E Arch 2 Post-architecture model Effort = 2.5 E App Figure: B-2 Software estimation over Project Life Cycle number of function points (preferred) or KSLOC number of KSLOC (preferred) or function points Overestimated Figure: B-3 COCOMO II estimation over a Project Life Cycle 1 2 3 4 Table B-5: Early Design Model Effort Adjustment Factors 1 Product complexity RELY-DATA-CPLX-DOCU 2 Required reuse REUSE Well understood requirements Well understood architecture Prototyping Model Early Design Model IDENTIFIER Composite Effort Adjustment Factors Coarse inputs Low-fedility estimates Rough estimates Architecture concept Well understood project Moderate fidelity estimates Underestimated Inception Elaboration Cunstruction Elaboration Inception 3 Platform difficulty TIME-STOR-PVOL 4 Personnel experience AEMP-PEXP-LTEX 5 Personnel capability ACAP-PCAP-PCON 6 Facilities TOOL-SITE 7 Schedule SCED Table-B-6 COCOMO II post-architecture model updates to Ada COCOMO & COCOMO Identifier 1 RELY Required realibility 2 DATA Database size 3 CPLX Product complexity 4 RUSE Required reuse 5 DOCU Documentation 6 TIME Execution time constraint 7 STOR Main storage constraint 8 PVOL Platform volatility 9 ACAP Analyst capability 10 AEXP Applications experience 11 PCAP Programmer capability 12 PEXP Platform experience 13 PCON Personnal continuity 14 LTEX Language / Tool experience 15 SITE Multiple-site development, Team communications 16 TOOL Use of software tools 17 SCED Required development schedule Effort Adjustment Factor - EAF The effect of each parameter setting very-low, low, nominal, high, very-high is a multiplier ranges from 0.5 to 1.5. The product of these 17 effects is used to compute the effort in the cost equation. Table B-7 COCOMO II uses the same exponent (P) for the Early-design and the Post-architecture models. The process exponent (P) can range from 1.01 .. 1.26) and is defined as the combined effects of the following 5 parameters Table B-7 summarizes the parameter ratings. The actual exponent for COCOMO II is determined by summing the effects for each parameter. The combined impact of these process parameters can be very high (value of P is never be less than 1) The economy of scale is achieved through corresponding reductions in size resulting from use of commercial components, resuable components, CASE tools, and Object-oriented technologies. Very Low Low (0.00) (0.01) 1 Application precedentedness 2 Process flexibility 3 Architecture risk resolution Little 20% Some 40% 4 Team cohesion Some difficult interactions the degree of technical feasibility demonstrated before commitment to full scale production Largely unprecented Occasional relaxation the degree of cooperation and shared visonamong stakeholders (buyers, developers, users, and maintainers, and among others. Thorougly unprecented Rigorous the degree of domain experience of the development organization the degree of contractual rigor, ceremony, & change freedom inherent in the project contract, life-cycle activities & stakeholder communications Very difficult interactions Parameter 5 Process maturity Level 1 Level 2 the maturity level of the development organization by CMM COCOMO - II: is an Effort and Schedule Estimating Formulas 1997 Provides range estimates rather than point estimates Range estimates vary over the project life cycle (refer figure B-2) Figure B-3 maps these models to these phases of an iterative life cycle P Time = C2 (Effort) product of 7 early design effort adjustment factor (Table B-5) product of 17 post architecture effort adjustment factor (Table B-6) P P (Size) Time = 2.5 (Effort) P P (Size) Time = 2.5 (Effort) Figure: B-2 Software estimation over Project Life Cycle number of function points (preferred) or KSLOC number of KSLOC (preferred) or function points Figure: B-3 COCOMO II estimation over a Project Life Cycle Table B-5: Early Design Model Effort Adjustment Factors RELY-DATA-CPLX-DOCU Well understood requirements Well understood architecture Stable architecture baseline Construction Transition Post-Architecture Model Detailed project characterization High fidelity estimates Early Design Model Composite Effort Adjustment Factors Well understood project Moderate fidelity estimates Stable requirements baseline Elaboration Cunstruction Transition TIME-STOR-PVOL AEMP-PEXP-LTEX ACAP-PCAP-PCON COCOMO II post-architecture model updates to Ada COCOMO & COCOMO Multiple-site development, Team communications No change from COCOMO Changed to include both tool & language exp. No change from COCOMO No change from COCOMO Expanded platform experience New parameter New parameter No change from COCOMO Combined VMVH & VMVT of Ada COCOMO No change from COCOMO No change from COCOMO No change from COCOMO No change from Ada COCOMO Added, suitability to PLC No change from COCOMO Effort Adjustment Factor - EAF COCOMO II Perturbations No change from COCOMO No change from COCOMO The effect of each parameter setting very-low, low, nominal, high, very-high is a multiplier ranges from 0.5 to 1.5. The product of these 17 effects is used to compute the effort in the COCOMO II uses the same exponent (P) for the Early-design and the Post-architecture models. The process exponent (P) can range from 1.01 .. 1.26) and is defined as the Table B-7 summarizes the parameter ratings. The actual exponent for COCOMO II is determined by summing the effects for each parameter. The combined impact of these process parameters can be very high (value of P is never be less than 1) The economy of scale is achieved through corresponding reductions in size resulting from use of commercial components, resuable components, CASE tools, and Object-oriented technologies. Nominal High Very Extra High High (0.02) (0.03) (0.04) (0.05) Often 60% Generally 75% Mostly 90% Full 100% Basically cooperative Largely cooperative Highly cooperative Seemless interactions Generally familiar Largely familiar Thoroughly familiar Somewhat unprecented Some relaxation General conformity Some conformity General Goals Level 2+ Level 3 Level 4 Level 5