Paritian

Developers

COCOMO Software Effort Estimator (Basic COCOMO)

Effort in person-months, development time, average team size, productivity and cost of a software project from its size in thousands of lines of code, using Boehm's Basic COCOMO.

Results

Effort 145.9 person-months
Development time 16.6 months
Average team size 8.8
Productivity 343 LOC/person-month
Cost of the development 875,550
How it changes
EffortSize of the software 1 – 150. Effort: 2.4 → 462.495Effort010020030040050050100150Size of the software (KLOC)

The dashed line marks the value you entered.

What this tool does

Barry Boehm's Basic COCOMO (1981) estimates effort from size alone: Effort = a × KLOC^b, with a and b depending on the kind of project, followed by Time = 2.5 × Effort^d. Because b is above 1, effort grows faster than size, a sign that large projects lose productivity to communication, and because d is only about a third, doubling the team does not halve the time. 50 KLOC in an organic project comes to about 146 person-months over some 17 months. It was calibrated on 63 projects of the 1970s; use it for order-of-magnitude planning, not as a promise.

Formula

Effort = a × KLOC^b [person-months] · Time = 2.5 × Effort^d [months] · Team = Effort ÷ Time (Basic COCOMO: organic 2.4/1.05/0.38, semi-detached 3.0/1.12/0.35, embedded 3.6/1.20/0.32)

Variables

SymbolMeaningUnit
klSize of the softwareKLOC
mdType of project—
cpmCost of one person-month—
EFEffortperson-months
DUDevelopment timemonths
TEAverage team size—
PRProductivityLOC/person-month
COCost of the development—

Worked example

  • Size of the software50 KLOC
  • Type of project1
  • Cost of one person-month6000
  • Effort145.9 person-months
  • Development time16.6 months
  • Average team size8.8
  • Productivity343 LOC/person-month
  • Cost of the development875,550

Limitations

  • The result is an estimate based only on the values you type. Real situations often include factors this calculator does not know about.
  • The default values are typical reference figures, not measurements of your situation. Replace them with your own data whenever you have it.