Updated March 27, 2023
Definition of COCOMO Model
The COCOMO (Constructive Cost Model) is one of the most popularly used software cost estimation models i.e. it estimates or predicts the effort required for the project, total project cost and scheduled time for the project. This model depends on the number of lines of code for software product development. It was developed by a software engineer Barry Boehm in 1981.
What is COCOMO Model?
The COCOMO estimates the cost for software product development in terms of effort (resources required to complete the project work) and schedule (time required to complete the project work) based on the size of the software product. It estimates the required number of Man-Months (MM) for the full development of software products. According to COCOMO, there are three modes of software development projects that depend on complexity. Such as:
1. Organic Project
It belongs to small & simple software projects which are handled by a small team with good domain knowledge and few rigid requirements.
Example: Small data processing or Inventory management system.
2. Semidetached Project
It is an intermediate (in terms of size and complexity) project, where the team having mixed experience (both experience & inexperience resources) to deals with rigid/nonrigid requirements.
Example: Database design or OS development.
3. Embedded Project
This project having a high level of complexity with a large team size by considering all sets of parameters (software, hardware and operational).
Example: Banking software or Traffic light control software.
Types of COCOMO Model
Depending upon the complexity of the project the COCOMO has three types. Such as:
1. The Basic COCOMO
It is the one type of static model to estimates software development effort quickly and roughly. It mainly deals with the number of lines of code and the level of estimation accuracy is less as we don’t consider the all parameters belongs to the project. The estimated effort and scheduled time for the project are given by the relation:
Effort (E) = a*(KLOC)b MM
Scheduled Time (D) = c*(E)d Months(M)
Where,
- E = Total effort required for the project in Man-Months (MM).
- D = Total time required for project development in Months (M).
- KLOC = the size of the code for the project in Kilo lines of code.
- a, b, c, d = The constant parameters for a software project.
PROJECT TYPE | a | b | c | d |
Organic | 2.4 | 1.05 | 2.5 | 0.38 |
Semidetached | 3 | 1.12 | 2.5 | 0.35 |
Embedded | 3.6 | 1.2 | 2.5 | 0.32 |
Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development. Also, calculate the Average resource size and Productivity of the software for Organic project type.
Ans: Given estimated size of project is: 300 KLOC
For Organic
Effort (E) = a*(KLOC)b = 2.4*(300)1.05 = 957.61 MM
Scheduled Time (D) = c*(E)d = 2.5*(957.61)0.38 = 33.95 Months(M)
Avg. Resource Size = E/D = 957.61/33.95 = 28.21 Mans
Productivity of Software = KLOC/E = 300/957.61 = 0.3132 KLOC/MM = 313 LOC/MM
For Semidetached
Effort (E) = a*(KLOC)b = 3.0*(300)1.12 = 1784.42 MM
Scheduled Time (D) = c*(E)d = 2.5*(1784.42)0.35 = 34.35 Months(M)
For Embedded
Effort (E) = a*(KLOC)b = 3.6*(300)1.2 = 3379.46 MM
Scheduled Time (D) = c*(E)d = 2.5*(3379.46)0.32 = 33.66 Months(M)
2. The Intermediate COCOMO
The intermediate model estimates software development effort in terms of size of the program and other related cost drivers parameters (product parameter, hardware parameter, resource parameter, and project parameter) of the project. The estimated effort and scheduled time are given by the relationship:
Effort (E) = a*(KLOC)b *EAF MM
Scheduled Time (D) = c*(E)d Months(M)
Where,
- E = Total effort required for the project in Man-Months (MM).
- D = Total time required for project development in Months (M).
- KLOC = The size of the code for the project in Kilo lines of code.
- a, b, c, d = The constant parameters for the software project.
EAF = It is an Effort Adjustment Factor, which is calculated by multiplying the parameter values of different cost driver parameters. For ideal, the value is 1.
COST DRIVERS PARAMETERS | VERY LOW | LOW | NOMINAL | HIGH | VERY HIGH |
Product Parameter | |||||
Required Software | 0.75 | 0.88 | 1 | 1.15 | 1.4 |
Size of Project Database | NA | 0.94 | 1.08 | 1.16 | |
Complexity of The Project | 0.7 | 0.85 | 1.15 | 1.3 | |
Hardware Parameter | |||||
Performance Restriction | NA | NA | 1 | 1.11 | 1.3 |
Memory Restriction | NA | NA | 1.06 | 1.21 | |
virtual Machine Environment | NA | 0.87 | 1.15 | 1.3 | |
Required Turnabout Time | NA | 0.94 | 1.07 | 1.15 | |
Personnel Parameter | |||||
Analysis Capability | 1.46 | 1.19 | 1 | 0.86 | 0.71 |
Application Experience | 1.29 | 1.13 | 0.91 | 0.82 | |
Software Engineer Capability | 1.42 | 1.17 | 0.86 | 0.7 | |
Virtual Machine Experience | 1.21 | 1.1 | 0.9 | NA | |
Programming Experience | 1.14 | 1.07 | 0.95 | NA | |
Project Parameter | |||||
Software Engineering Methods | 1.24 | 1.1 | 1 | 0.91 | 0.82 |
Use of Software Tools | 1.24 | 1.1 | 0.91 | 0.83 | |
Development Time | 1.23 | 1.08 | 1.04 | 1.1 |
Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development by considering developer having high application experience and very low experience in programming.
Ans:
Given the estimated size of the project is: 300 KLOC
Developer having highly application experience: 0.82 (as per above table)
Developer having very low experience in programming: 1.14(as per above table)
EAF = 0.82*1.14 = 0.9348
Effort (E) = a*(KLOC)b *EAF = 3.0*(300)1.12 *0.9348 = 1668.07 MM
Scheduled Time (D) = c*(E)d = 2.5*(1668.07)0.35 = 33.55 Months(M)
3. The Detailed COCOMO
It is the advanced model that estimates the software development effort like Intermediate COCOMO in each stage of the software development life cycle process.
Advantages and Disadvantages of COCOMO Model
Following are some advantages and disadvantages of the COCOMO model.
Advantages
- Easy to estimate the total cost of the project.
- Easy to implement with various factors.
- Provide ideas about historical projects.
Disadvantages
- It ignores requirements, customer skills, and hardware issues.
- It limits the accuracy of the software costs.
- It mostly depends on time factors.
Conclusion
In this article, we discuss the project estimation model COCOMO, which describes the effort and development time of the software project. It describes the different projects with an estimate of the effort and scheduled time by considering multiple factors.
Recommended Articles
This is a guide to the COCOMO Model. Here we discuss the Definition and What is COCOMO model along with its types, advantages, and disadvantages. You may also have a look at the following articles to learn more –