180 B. Boehm et al. / Software development cost estimation approaches – A survey
Productivity, P , is the ratio of software product size S and development effort E.
That is,
P =
S
E
. (2.1)
The Rayleigh curve used to define the distribution of effort is modeled by the differ-
ential equation
dy
dt
= 2Kate
−at
2
. (2.2)
An example is given in figure 2, where K = 1.0, a = 0.02, t
d
= 0.18 where Putnam
assumes that the peak staffing level in the Rayleigh curve corresponds to development
time (t
d
). Different values of K, a and t
d
will give different sizes and shapes of the
Rayleigh curve. Some of the Rayleigh curve assumptions do not always hold in practice
(e.g., flat staffing curves for incremental development; less than t
4
effort savings for
long schedule stretchouts). To alleviate this problem, Putnam has developed several
model adjustments for these situations.
Recently, Quantitative Software Management has developed a set of three tools
based on Putnam’s SLIM. These include SLIM-Estimate, SLIM-Control and SLIM-
Metrics. SLIM-Estimate is a project planning tool, SLIM-Control project tracking and
oversight tool, SLIM-Metrics is a software metrics repository and benchmarking tool.
More information on these SLIM tools can be found at http://www.qsm.com.
2.2. Checkpoint
Checkpoint is a knowledge-based software project estimating tool from Software
Productivity Research (SPR) developed from Capers Jones’ studies [Jones 1997]. It
has a proprietary database of about 8000 software projects and it focuses on four areas
that need to be managed to improve software quality and productivity. It uses Function
Points (or Feature Points) [Albrecht 1979; Symons 1991] as its primary input of size.
SPR’s Summary of Opportunities for software development is shown in figure 3.
QA stands for Quality Assurance; JAD for Joint Application Development; SDM for
Software Development Metrics.
It focuses on three main capabilities for supporting the entire software devel-
opment life-cycle as discussed briefly at SPR’s website, http://www.spr.com/html/
checkpoint.htm, and outlined here:
• Estimation: Checkpoint predicts effort at four levels of granularity: project, phase,
activity, and task. Estimates also include resources, deliverables, defects, costs, and
schedules.
• Measurement: Checkpoint enables users to capture project metrics to perform
benchmark analysis, identify best practices, and develop internal estimation knowl-
edge bases (known as Templates).
• Assessment: Checkpoint facilitates the comparison of actual and estimated perfor-
mance to various industry standards included in the knowledge base. Checkpoint