You are on page 1of 19

COCOMO

Guided By:
Prajwalit Jain
Prepared By:
Vaibhav M. Pawar -36
Darshana Patil -33
COCOMO
(COnstructive COst MOdel)
• Originally developed by Dr. Barry Boehm in 1981.
• One of the most widely used model in the Software
Development Industry.
• Original COCOMO (also termed as COCOMO I) had 3
varieties:
1. Basic COCOMO;
2. Intermediate COCOMO;
3. Advanced COCOMO.
• Currently “COCOMO II” is used.
Original COCOMO
• COCOMO classifies Projects into three different modes:

1. Organic: A simple project with small teams working


with an informal set of requirements and constraints.

2. Semi-Detached: A project with mixed team working


with a mix of rigid and less rigid set of requirements
and constraints.

3. Embedded: A project that must operate within a tight


set of constraints.
Original COCOMO
• COCOMO consists of a hierarchy of three increasingly
detailed and accurate forms.

• The 3 forms of Original COCOMO are:


1. Basic COCOMO
2. Intermediate COCOMO
3. Advanced COCOMO
1. Basic COCOMO
• The first level, Basic COCOMO is good for quick,
early, rough order of magnitude estimates of
software costs.

• But its accuracy is limited due to its lack of factors to


account for difference in project attributes (Cost
Drivers).

• Basic COCOMO computes software development


effort (and cost) as a function of software size in
thousand lines of code (KLOC).
Continued…
• The Equation for Basic COCOMO is:
Effort Applied = ab × (KLOC)bb [ man-months ]
Development Time = cb × (Effort Applied)db [months]
People required = Effort Applied / Development Time  [count]

• The coefficients ab, bb are given in the following table.

Software Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
2. Intermediate COCOMO
• Intermediate COCOMO takes these Cost Drivers into
account.

• Intermediate COCOMO computes software development


effort as function of program size and a set of "cost
drivers" that include subjective assessment of product,
hardware, personnel and project attributes.

• This extension considers a set of four "cost drivers“


1. Product Attributes 3. Personnel Attributes
2. Hardware Attributes 4. Project Attributes
Continued…

• Each of the 15 attributes receives a rating on a six-


point scale that ranges from "very low" to "extra high"
(in importance or value).

• An effort multiplier from the table below applies to the


rating. The product of all effort multipliers results in an
effort adjustment factor (EAF).

• Typical values for EAF range from 0.9 to 1.4.


Ratings
Very Very Extra
Cost Drivers Low Low Nominal High High High
Product attributes :
Required software reliability 0.75 0.88 1.00 1.15 1.40  
Size of application database   0.94 1.00 1.08 1.16  
Complexity of the product 0.70 0.85 1.00 1.15 1.30 1.65
Hardware attributes :
Run-time performance constraints     1.00 1.11 1.30 1.66
Memory constraints     1.00 1.06 1.21 1.56
Volatility of the virtual machine environment   0.87 1.00 1.15 1.30  
Required turnabout time   0.87 1.00 1.07 1.15  
Personnel attributes :
Analyst capability 1.46 1.19 1.00 0.86 0.71  
Applications experience 1.29 1.13 1.00 0.91 0.82  
Software engineer capability 1.42 1.17 1.00 0.86 0.70  
Virtual machine experience 1.21 1.10 1.00 0.90    
Programming language experience 1.14 1.07 1.00 0.95    
Project attributes :
Application of software engineering methods 1.24 1.10 1.00 0.91 0.82  
Use of software tools 1.24 1.10 1.00 0.91 0.83  
Required development schedule 1.23 1.08 1.00 1.04 1.10
Continued…
• The Intermediate COCOMO formula now takes the form:
E = ai × (KLOC) ( bi ) × EAF
where E is the effort applied in person-months, KLOC
is the estimated number of thousands of delivered lines
of code for the project, and EAF is the factor calculated
above.
• The coefficient ai and the exponent bi are given in the
next table
Software Project ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
3. Advanced (or Detailed)
COCOMO
• Advanced or Detailed COCOMO additionally accounts
for the influence of individual project phases.

• It incorporates all characteristics of the intermediate


version with an assessment of the cost driver's impact on
each step (analysis, design, etc.) of the software
engineering process.

• It applies intermediate model at Component Level and


then a phase-based approach is used to consolidate the
estimate.
Continued…
• The advance COCOMO defines 6 project phases:
1. Plan and Requirement Phase;
2. System design or Product Design Phase;
3. Detailed design phase;
4. Module code and unit test phase;
5. Integration and test phase;
6. Maintenance Phase.
• The maintenance phase falls outside the scope of the
Software Development Life Cycle, though it certainly
forms a part of Software Life Cycle.
• Advanced COCOMO breaks down cost drivers into each
of these phases for all 15 cost drivers.
Merits of COCOMO
• COCOMO is factual and easy to interpret. One can
clearly understand how it works unlike other models
such as SLIM.

• Drivers are particularly helpful to the estimator to


understand the impact of different factors that affect
project costs.

• Works on historical data and hence is more predictable


and accurate. 
Demerits of COCOMO
• It is hard to accurately estimate KLOC early on in the
project, when most effort estimates are required.
• KLOC, actually, is not a size measure it is a length
measure.
• Extremely vulnerable to mis-classification of the
development mode.
• Success depends largely on tuning the model to the
needs of the organization, using historical data which is
not always available.
• COCOMO model ignores requirements and all
documentation.
Continued…
• It ignores customer skills, cooperation, knowledge and
other parameters.
• It oversimplifies the impact of safety/security aspects.
• It is dependent on the amount of time spent in each
phase.
COCOMO II
• COnstructive COst MOdel II (COCOMO II) is a model
that allows one to estimate the cost, effort, and schedule.
• When planning a new software development activity.
COCOMO II is the latest major extension to the original
COCOMO model published in 1981.
• It consists of three sub-models, each one offering
increased fidelity the further along one is in the project
planning and design process.
• Listed in increasing fidelity, these Sub-models are called
the Applications Composition, Early Design, and Post-
architecture models.
Continued…
• COCOMO II can be used for the following major
decision situations

1. Making investment or other financial decisions


involving a software development effort.

2. Setting project budgets and schedules as a basis for


planning and control.

3. Deciding on or negotiating tradeoffs among software


cost, schedule, functionality, performance or quality
factors.
Continued…
5. Making software cost and schedule risk management
decisions.
6. Deciding which parts of a software system to develop,
reuse, lease, or purchase.
7. Making legacy software inventory decisions: what parts
to modify, phase out, outsource, etc.
8. Setting mixed investment strategies to improve
organization's software capability, via reuse, tools,
process maturity, outsourcing, etc.
9. Deciding how to implement a process improvement
strategy, such as that provided in the SEI CMM.
Thank You

You might also like