COCOMO Estimation
COCOMO (Constructive Cost Model) is an algorithmic software cost estimation model developed by Barry Boehm. It uses a regression formula with parameters derived from historical project data to estimate effort, development time, and team size.
COCOMO Basic Model
+---------------------------------------------------------+
| COCOMO BASIC MODEL |
+---------------------------------------------------------+
| |
| Effort = a * (KDSI)^b person-months |
| Time = c * (Effort)^d months |
| |
| where KDSI = Kilo Delivered Source Instructions |
| |
| Project Type | a | b | c | d |
| ------------- | ----- | ---- | ---- | ---- |
| 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 |
| |
+---------------------------------------------------------+
Project Classifications
COCOMO classifies projects into three types based on complexity and team experience:
- Organic: Small teams with good experience working on familiar projects with relaxed requirements
- Semi-Detached: Medium-sized teams with mixed experience, moderate complexity, and some new technology
- Embedded: Complex projects tightly coupled to hardware, with strict constraints and novel algorithms
Example Calculation
// Organic project with 32 KDSI (32,000 lines of code)
KDSI = 32
Effort = 2.4 * (32)^1.05
= 2.4 * 35.13
= 84.3 person-months
Time = 2.5 * (84.3)^0.38
= 2.5 * 6.07
= 15.2 months
Average team size = 84.3 / 15.2 โ 6 people
COCOMO II โ The Modern Extension
COCOMO II is an updated model that accounts for modern software practices like reuse, rapid development, and distributed teams. It includes three sub-models: Application Composition, Early Design, and Post-Architecture.
Key Takeaways
- COCOMO provides a systematic approach to cost estimation
- The Basic model uses KDSI as the primary input
- Project type (organic, semi-detached, embedded) affects the estimate
- COCOMO II is the modern evolution for contemporary projects