Page 164 -
P. 164
CHAPTER 5 SOFTWARE PROJECT PLANNING 135
for different levels of developer experience and development environment maturity.
Once the productivity rate has been determined, an estimate of project effort can be
derived as
estimated effort = NOP/PROD
In more advanced COCOMO II models, 15 a variety of scale factors, cost drivers,
and adjustment procedures are required. A complete discussion of these is beyond
the scope of this book. The interested reader should see [BOE00] or visit the COCOMO
II Web site.
5.7.3 The Software Equation
The software equation [PUT92] is a dynamic multivariable model that assumes a spe-
cific distribution of effort over the life of a software development project. The model
has been derived from productivity data collected for over 4000 contemporary soft-
ware projects. Based on these data, an estimation model of the form
4
E = [LOC B 0.333 /P] 3 (1/t ) (5-3)
where E = effort in person-months or person-years
t = project duration in months or years
B = “special skills factor” 16
WebRef P = “productivity parameter” that reflects:
Information on software
cost estimation tools that • Overall process maturity and management practices
have evolved from the • The extent to which good software engineering practices are used
software equation can be • The level of programming languages used
obtained at
www.qsm.com • The state of the software environment
• The skills and experience of the software team
• The complexity of the application
Typical values might be P = 2,000 for development of real-time embedded software;
P = 10,000 for telecommunication and systems software; P = 28,000 for business sys-
tems applications. 17 The productivity parameter can be derived for local conditions
using historical data collected from past development efforts.
It is important to note that the software equation has two independent parame-
ters: (1) an estimate of size (in LOC) and (2) an indication of project duration in cal-
endar months or years.
15 As noted earlier, these models use FP and KLOC counts for the size variable.
16 B increases slowly as “the need for integration, testing, quality assurance, documentation, and
management skills grow [PUT92].” For small programs (KLOC = 5 to 15), B = 0.16. For programs
greater than 70 KLOC, B = 0.39.
17 It is important to note that the productivity parameter can be empirically derived from local proj-
ect data.