Putnam model
From Wikipedia, the free encyclopedia
The Putnam model is an empirical software effort estimation model.[1] As a group, empirical models work by collecting software project data (for example, effort and size) and fitting a curve to the data. Future effort estimates are made by providing size and calculating the associated effort using the equation which fit the original data (usually with some error).
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, but is not the most widely used. Closely related 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).
[edit] The Software Equation
While managing R&D projects for the Army and later at GE, Putnam noticed software staffing profiles followed the well-known Rayleigh distribution.[2]
Putnam used his observations about productivity levels to derive the software equation:
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.
- The term β is a scaling term and is a function of the project size.[3]
- 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.
In practical use, when making an estimate for a software task the software equation is solved for effort:
An estimated software size at project completion and organizational process productivity is used. Plotting effort as a function of time yields the Time-Effort Curve. The points along the curve represent the estimated total effort to complete the project at some time. One of the distinguishing features of the Putnam model is that total effort decreases as the time to complete the project is extended. This is normally represented in other parametric models with a schedule relaxation parameter.
This estimating method is fairly sensitive to uncertainty in both size and process productivity. Putnam advocates obtaining process productivity by calibration: [1]
Putnam makes a sharp distinction between 'conventional productivity' : size / effort and process productivity (Five Core Metrics, pg 97).
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 productivty index an organization can use to track their own changes in productivity and apply in future effort estimates.[4]
[edit] References
- ^ a b Putnam, Lawrence H.; Ware Myers (2003). Five core metrics : the intelligence behind successful software management. Dorset House Publishing. ISBN 0-932633-55-2.
- ^ Focus on Lawrence Putnam : A CAI State of the Practice Interview. Computer Aid, Inc. (September, 2006).
- ^ US Government (August 20, 1997). Putnam Special Skills Factor Table. Data & Analysis Center for Software.
- ^ US Government (August 20, 1997). Putnam Productivity Parameter Table. Data & Analysis Center for Software.
[edit] See also
- Putnam, Lawrence H.; Ware Myers (1991). Measures for excellence : reliable software On time, within budget. Yourdon Press. ISBN 0-135676-94-0.
- Jensen, Dr. Randall W.; Lawrence H. Putnam Sr. and William Roetzheim (February, 2006). Software Estimating Models: Three Viewpoints. Software Technology Support Center.
- Jones, Casper (October, 2004). Software Project Management Practices: Failure Versus Success. Software Technology Support Center.
- US Government (August 20, 1997). Modern Empirical Cost and Schedule Estimation Tools. Data & Analysis Center for Software.
- US Government (October, 2005). FAA Pricing Handbook. Feberal Aviation Administration.
- Sultanoğlu, Sencer; Ümit Karakaş (October 12, 1998). Cost Estimation Models.
- Kemerer, Chris F. (May, 1987). An Empirical Validation of Software Cost Estimation Models. Communications of the ACM.