Introduction to COCOMO Model
Introduction to COCOMO Model
The COCOMO model is a widely used software cost estimation model that helps predict the effort, time, and cost required to develop a software project. It was developed by Dr. Barry Boehm in 1981 and is based on historical data from past projects. The model is especially useful for planning and budgeting in software engineering.
COCOMO stands for COnstructive COst MOdel.
COCOMO Model Explained
The model is based on the size of the software (in terms of lines of code) and considers several factors that affect the cost of development. The COCOMO model estimates software development effort based on the size of the project (measured in lines of code) and other factors. It has three variants:
- Basic COCOMO: Estimates effort and schedule using project size and mode (Organic, Semi-Detached, Embedded).
- Intermediate COCOMO: Adds adjustment factors like team experience and complexity.
- Detailed COCOMO: Includes phase-wise effort distribution and more detailed adjustments.
Formulas
Different levels of the model (Basic, Intermediate, Detailed) allow for more precise estimates depending on the project’s needs.
Basic COCOMO Formula
Effort (E) = a * (KDSI)<sup>b</sup> person-months
Time (T) = c * (E)<sup>d</sup> months
Where KDSI = Thousands of Delivered Source Instructions (code size).
Coefficients a, b, c, d depend on project mode (Organic, Semi-Detached, Embedded).
Intermediate COCOMO Formula
Effort (E) = a * (KDSI)<sup>b</sup> * EAF
Where EAF = Effort Adjustment Factor (A multiplier based on various cost drivers. product of 15 cost drivers).
Detailed COCOMO Formula
Effort (E) = a * (KLOC)^b * EAF * StageFactor
Where StageFactor represents the specific costs for each phase of the project (like design, coding, and testing).
Examples
Basic COCOMO Example
For an Organic project with 10 KDSI:
Effort = 2.4 * (10)1.05 ≈ 26.5 person-months
Time = 2.5 * (26.5)0.38 ≈ 8.7 months
Intermediate COCOMO Example
If EAF = 1.15 (due to high complexity):
Effort = 26.5 * 1.15 ≈ 30.5 person-months
Time = 2.5 * (30.5)0.38 ≈ 9.1 months
Advantages of the COCOMO Model
Some of the advantages of the CoCoMo model are as follows:
- Simple to use: Especially the basic model is easy to understand and apply with just lines of code as the input. Provides a systematic approach to cost estimation.
- Helps in early project planning and resource allocation.
- Adjustable to project complexity via cost drivers.
- Supports different project types (small to large).
Disadvantages of the COCOMO Model
Some of the disadvantages of the CoCoMo model are as follows:
- Relies heavily on accurate lines-of-code (LOC) estimation.
- Less effective for modern Agile or iterative development.
- Does not account for team motivation or external risks.
- Historical data dependency may limit the accuracy of new technologies.
- Requires accurate inputs: Accurate input data for parameters like the Effort Adjustment Factor (EAF) is crucial; incorrect values can lead to poor estimates.
- Does not consider external factors: It doesn’t account for factors like changing requirements or market conditions, which can affect the actual cost.