|
The first COCOMO
(the COnstructive COst MOdel) is widely used to estimate the costs for
a software project.
- for a simple project (an "organic"), developed by a small team, the
formula is PM - 2.4(KDSI)^1.05*M, where PM is person-months, KDSI is
thousands
of
delivered source instructions, and M dependent on project complexity
and is usually 1.0.
- for a moderately sized project ("semi-detached"), PM = 3.0(KDSI)^1.12*M
- for a complex project (e.g. "embedded"), PM = 3.6(KDSI)^1.20*M
Elapsed time is calculated similarly:
- Organic mode: TDEV = 2.5(PM )^0.38
- Semi-detached mode: TDEV = 2.5(PM
)^0.35
- Embedded mode: TDEV = 2.5(PM )^0.32
Examples:
- Organic mode project, 32KLOC
*
PM = 2.4(32)^1.05 = 91 person months
* TDEV = 2.5(91)^0.38 = 14 months
* N = 91/14 = 6.5 people
- Embedded mode project, 128KLOC
* PM = 3.6(128)^1.2 = 1216 person-months
* TDEV = 2.5(1216)^0.32 = 24 months
* N = 1216/24 = 51 people
A more sophisticated model is COCOMO II which takes into account three
phases of a project:
- early prototyping: PM = (NOP*(1 %reuse/100))/PROD, where NOP is the
number of "object points" and PROD is the productivity which varies
from 4 for developers with very low experience to 50 when their experience
is very high. %reuse is the percentage of a project which can come through
reuse of an already finished project.
- early design: PM = A*SIZE^B*M + PMm, where A=2.5, SIZE is thousands
of lines of code, B varies from 1.1 to 1.24 depending on project complexity,
and M is the product of estimates of reliability level desired, platform
difficulty, experience and capabilities of personnel, required schedule
and team
support facilities.
- post-architecture: same formula as early design, but SIZE is an estimate
of new lines of code, depending on how much of the design has been modified,
and how much the code has been modified.
|