Intermediate COCOMO Cost Drivers and Multipliers

In Intermediate COCOMO, the Effort Adjustment Factor (EAF) is calculated based on 15 cost drivers. Each driver has a rating that corresponds to a multiplier. These cost drivers are categorized into four groups.

1. Product Attributes

Cost DriverVery LowLowNominalHighVery HighExtra High
Required Software Reliability (RELY)0.750.881.001.151.40-
Database Size (DATA)-0.941.001.081.16-
Product Complexity (CPLX)0.700.851.001.151.301.65

2. Hardware Attributes

Cost DriverVery LowLowNominalHighVery HighExtra High
Execution Time Constraint (TIME)--1.001.111.301.66
Main Storage Constraint (STOR)--1.001.061.211.56
Virtual Machine Volatility (VIRT)0.870.941.001.101.15-
Turnaround Time (TURN)-0.871.001.071.15-

3. Personnel Attributes

Cost DriverVery LowLowNominalHighVery HighExtra High
Analyst Capability (ACAP)1.461.191.000.860.71-
Programmer Capability (PCAP)1.421.171.000.860.70-
Application Experience (AEXP)1.291.131.000.910.82-
Platform Experience (PEXP)1.191.091.000.910.85-
Language and Tool Experience (LTEX)1.201.091.000.910.84-

4. Project Attributes

Cost DriverVery LowLowNominalHighVery HighExtra High
Use of Modern Software Practices (MODP)1.241.101.000.910.82-
Use of Software Tools (TOOL)1.241.101.000.910.83-
Required Development Schedule (SCED)1.231.081.001.041.10-

Example of Calculating EAF:

For example, assume the following ratings for the cost drivers:

  • Required Software Reliability (RELY) = 1.15 (High)
  • Database Size (DATA) = 1.00 (Nominal)
  • Product Complexity (CPLX) = 1.15 (High)
  • Programmer Capability (PCAP) = 0.86 (High)
  • Use of Software Tools (TOOL) = 0.91 (High)

The EAF is calculated by multiplying the values of these drivers:

\[ \text{EAF} = 1.15 \times 1.00 \times 1.15 \times 0.86 \times 0.91 \approx 1.01 \]


Questions

You are tasked with estimating the effort for a small Organic software project with an estimated size of 10 KLOC (thousand lines of code).

Cost Drivers:

  • Required Software Reliability (RELY): 1.15 (High)
  • Programmer Capability (PCAP): 0.86 (High)
  • Use of Software Tools (TOOL): 0.91 (High)

The Effort Adjustment Factor (EAF) is calculated as:

\[\text{EAF} = 1.15 \times 0.86 \times 0.91 \approx 0.90\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Organic projects:

  • a = 2.4
  • b = 1.05

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 2.4 \times (10)^{1.05} \times 0.90 \approx 22.8 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (22.8)^{0.38} \approx 10.4 \text{ months}\]


A medium-sized Semi-Detached project is estimated to have 50 KLOC.

Cost Drivers:

  • Product Complexity (CPLX): 1.30 (Very High)
  • Analyst Capability (ACAP): 0.86 (High)
  • Required Development Schedule (SCED): 1.10 (Very High)

The EAF is calculated as:

\[\text{EAF} = 1.30 \times 0.86 \times 1.10 \approx 1.23\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Semi-Detached projects:

  • a = 3.0
  • b = 1.12

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 3.0 \times (50)^{1.12} \times 1.23 \approx 207.3 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (207.3)^{0.35} \approx 18.9 \text{ months}\]


A large Embedded project is estimated at 200 KLOC.

Cost Drivers:

  • Platform Volatility (PVOL): 1.15 (Very High)
  • Programmer Capability (PCAP): 0.88 (High)
  • Application Experience (AEXP): 0.91 (High)

The EAF is calculated as:

\[\text{EAF} = 1.15 \times 0.88 \times 0.91 \approx 0.92\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Embedded projects:

  • a = 3.6
  • b = 1.20

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 3.6 \times (200)^{1.20} \times 0.92 \approx 1412.1 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (1412.1)^{0.32} \approx 32.3 \text{ months}\]


A tiny Organic project is estimated at 2 KLOC.

Cost Drivers:

  • Required Software Reliability (RELY): 1.10 (High)
  • Use of Modern Software Tools (TOOL): 0.91 (High)
  • Team Cohesion (TEAM): 0.92 (High)

The EAF is calculated as:

\[\text{EAF} = 1.10 \times 0.91 \times 0.92 \approx 0.92\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Organic projects:

  • a = 2.4
  • b = 1.05

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 2.4 \times (2)^{1.05} \times 0.92 \approx 4.8 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (4.8)^{0.38} \approx 6.3 \text{ months}\]


A Semi-Detached project has an estimated size of 30 KLOC.

Cost Drivers:

  • Required Development Schedule (SCED): 1.04 (High)
  • Analyst Capability (ACAP): 0.86 (High)
  • Language and Tool Experience (LTEX): 0.91 (High)

The EAF is calculated as:

\[\text{EAF} = 1.04 \times 0.86 \times 0.91 \approx 0.81\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Semi-Detached projects:

  • a = 3.0
  • b = 1.12

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 3.0 \times (30)^{1.12} \times 0.81 \approx 79.6 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (79.6)^{0.35} \approx 13.7 \text{ months}\]


An Embedded project has an estimated size of 150 KLOC.

Cost Drivers:

  • Required Software Reliability (RELY): 1.15 (High)
  • Product Complexity (CPLX): 1.30 (Very High)
  • Programmer Capability (PCAP): 0.86 (High)

The EAF is calculated as:

\[\text{EAF} = 1.15 \times 1.30 \times 0.86 \approx 1.28\]

\( \text{Effort (person-months)} = a \times (KLOC)^b \)

Constants for Embedded projects:

  • a = 3.6
  • b = 1.20

Tasks:

Calculate the effort (in person-months).

Effort (in person-months):

\[\text{Effort} = 3.6 \times (150)^{1.20} \times 1.28 \approx 1552.7 \text{ person-months}\]

Estimate the development time (in months).

Development Time:

\[\text{Development Time} = 2.5 \times (1552.7)^{0.32} \approx 33.5 \text{ months}\]