Putnam Model: The Software Equation
Putnam Model: The Software Equation
Created by Lawrence Putnam, Sr. the Putnam model describes the time
and effort required to finish a software project of specified size. SLIM
(Software Lifecycle Management) is the name given by Putnam to the
proprietary suite of tools his company QSM, Inc. has developed based
on his model. It is one of the earliest of these types of models
developed, and is among the most widely used. Closely related
software parametric models are Constructive Cost Model (COCOMO),
Parametric Review of Information for Costing and Evaluation – Software
(PRICE-S), and Software Evaluation and Estimation of Resources –
Software Estimating Model (SEER-SEM).
While R&D projects for the Army and later at GE, Putnam noticed
software staffing profiles followed the well-known Rayleigh
distribution.
Where :
Size is the product size (whatever size estimate is used by your
organization is appropriate). Putnam uses ESLOC (Effective Source
Lines of Code) throughout his books.
B is a scaling factor and is a function of the project size.
Productivity is the Process Productivity, the ability of a particular
software organization to produce software of a given size at a
particular defect rate.
Effort is the total effort applied to the project in person-years.
Time is the total schedule of the project in years.
One of the key advantages to this model is the simplicity with which it is
calibrated. Most software organizations, regardless of maturity level
can easily collect size, effort and duration (time) for past projects.
Process Productivity, being exponential in nature is typically converted
to a linear productivity index an organization can use to track their own
changes in productivity and apply in future effort estimates.
L = P x E1/3t4/3
where E is the effort expended (in person-years) over the entire life
cycle for software development and maintenance and t is the
development time in years. The equation for development effort can be
related to development cost by the inclusion of a burdened labor rate
factor ($/person-year).
This leads to some interesting results. Consider a complex, real-time
software project estimated at 33,000 LOC, 12 person-years of effort. If
eight people are assigned to the project team, the project can be
completed in approximately 1.3 years. If, however, we extend the end-
date to 1.75 years, the highly nonlinear nature of the model described
in Equation (7-1) yields: