The Cocomo Model
The Cocomo Model
The Cocomo Model
• Define the resources needed to produce, verify, and validate the software
product, and manage these activities.
Cost Estimation
Software cost estimation is the process of predicting the resources required for
the software development process. For a given set of requirements, it is
desirable to know how much it will cost to develop the software to satisfy the
given requirements and how much time development will take. These estimates
are needed before development is initialised. For a software development
process accurate cost and schedule estimates are essential for managing the
project.
• Test-bed development
• Assembly, Test, & Launch Operations (ATLO) support for flight projects
• Travel and trips related to customer reviews and interfaces, vendor visits, plus
attendance at project-related conferences
• Training
The COCOMO Model (Barry Boehm 1981):
The COnstructive COst MOdel (COCOMO) is an example of regression models used for
estimating software cost and effort. These methods use a basic formula with parameters that
are determined via a historical database and current project characteristics.
The COCOMO Model is the most widely used and accepted of the cost / effort estimation
models. This model as a size-driven model is highly dependent upon the manager's ability to
estimate the size of the software system at an early stage. This method is generally used in
conjunction with one of the size estimation models such as function points.
The COCOMO exists in a hierarchy of increasingly detailed and accurate forms. The top
level model, Basic COCOMO is applicable to the large majority of software projects: small
to medium products developed in a familiar in-house software development environment.
Basic COCOMO is good for quick, early, rough order of magnitude estimates of software
costs, but its accuracy is necessarily limited because of its lack of factors to account for
difference in hardware constraints, personnel quality and experience, use of modern tools and
techniques, and other project attributes known to have a significant influence on software
costs. Intermediate COCOMO includes these factors in terms of their aggregate impact on
overall project costs. Detailed COCOMO accounts for the influence of these additional
factors on individual project phases.
There are several modes of software development .These different software development
modes have cost-estimating relationships which are similar in form, but which yield
significantly different cost estimates for software products of the same size. In the COCOMO
Model, one of the most important factors contributing to a project's duration and cost is the
Development mode. Every project is considered to be developed in one of three modes:
Organic Mode.
Semidetached Mode
Embedded Mode
To estimate the effort and development time, COCOMO use the same equations but with
different coefficients ( a, b, c, d in the effort and schedule equations ) for each development
mode. Therefore before using the COCOMO model we must be able to recognise the
development mode of our project.
1. Organic Mode:
In the organic mode the project is developed in a familiar, stable environment and the
product is similar to previously developed products. The product is relatively small,
and requires little innovation. Most people connected with the project have extensive
experience in working with related systems within the organization and therefore can
usefully contribute to the project in its early stages, without generating a great deal of
project communication overhead. An organic mode project is relatively relaxed about
the way the software meets its requirements and interface specifications. If a situation
arises where an exact correspondence of the software product to the original
requirements would cause an extensive rework, the project team can generally
negotiate a modification of the specifications that can be developed more easily.
2. Semidetached Mode:
o The team members all have an intermediate level of experience with related
systems.
o The team members have experience related to some aspects of the system
under development, but not others.
3. Embedded Mode:
SM = a * ( KDSI )b
The Basic model also presents an equation for estimating the development schedule (Time of
Develop TDEV ) of the project in months:
TDEV= c * ( SM )d
The Basic COCOMO Effort and schedule equations for organic mode software
projects are:
The Basic COCOMO Effort and schedule equations for organic mode software
projects are:
4. The Basic COCOMO Effort and schedule equations for organic mode software
projects are:
SM = EAF * a * ( KDSI )b
If we assume that the project is "Nominal" in every aspect then all adjustment factors would be 1, which
results in EAF=1, and the effort equation would have the same form as the Basic mode.
in addition to the EAF the model parameter "a" is slightly different in Intermediate COCOMO, but the "b"
parameter is the same. The effort equation for different modes of Intermediate COCOMO is given in the
following table:
Intermediate Effort
Development Mode
Equation
Organic: SM = EAF * 3.2 * ( KDSI )1.05
Semi Detached SM = EAF * 3.0* ( KDSI )1.12
Embedded SM = EAF * 2.8* ( KDSI )1.20
Product attributes
o Required software reliability
o Size of application database
o Complexity of the product
Hardware attributes
o Run-time performance constraints
o Memory constraints
o Volatility of the virtual machine environment
o Required turnabout time
Personnel attributes
o Analyst capability
o Software engineering capability
o Applications experience
o Virtual machine experience
o Programming language experience
Project attributes
o Use of software tools
o Application of software engineering methods
o Required development schedule
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.
Detailed COCOMO
In detailed COCOMO, the effort is calculated as function of program size and a
set of cost drivers given according to each phase of the life cycle. The phases
used in Detailed COCOMO are the requirements planning and product design,
detailed design, code and unit test, and the integration testing.
(Wi) is the weights of life cycle model. The life cycle activities like
requirements planning, system design, detailed design, code and unit testing,
integration and testing.
ADVANTAGES OF COCOMO'81
• COCOMO is transparent; one can see how it works unlike other models
such as SLIM
DRAWBACKS OF COCOMO'81
• COCOMO II addresses the following three phases of the spiral life cycle:
applications development, early design and post architecture
§ Added cost drivers (7): DOCU, RUSE, PVOL, PLEX, LTEX, PCON, SITE