Jump to content

Putnam model

From Wikipedia, the free encyclopedia
(Redirected from Software equation)

The Putnam model is an empirical software effort estimation model[1] created by Lawrence H. Putnam in 1978. Measurements of a software project is collected (e.g., effort in man-years, elapsed time, and lines of code) and an equation fitted to the data using regression analysis. 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).

SLIM (Software LIfecycle Management) is the name given by Putnam to the proprietary suite of tools his company QSM, Inc. developed, based on his model. It is one of the earliest of these types of models developed. 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).

A claimed advantage to this model is the simplicity of calibration.

The software equation

[edit]

While managing R&D projects for the Army and later at GE, Putnam noticed software staffing profiles followed the 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.
  • B is a scaling factor 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.

Time-Effort Curve

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.

See also

[edit]

References

[edit]
  1. ^ a b Putnam, Lawrence H.; Ware Myers (September 2003). Five core metrics: the intelligence behind successful software management. Dorset House Publishing. ISBN 0-932633-55-2.
  2. ^ "Focus on Lawrence Putnam: A CAI State of the Practice Interview" (PDF). Computer Aid, Inc. September 2006.
  3. ^ Putnam, Lawrence H.; Ware Myers (October 1991). Measures for Excellence: Reliable Software on Time, Within Budget. Prentice Hall. p. 234. ISBN 978-0-13-567694-3. The special skills factor, B, is a function of system size: .16 for 5-15 KSLOC, .18 for 20 KSLOC, .28 for 30 KSLOC, .34 for 40 KSLOC, .37 for 50 KSLOC and .39 for > 70 KSLOC
[edit]