HOME

TheInfoList



OR:

The Putnam model is an empirical
software effort estimation In software development, effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input. Effort ...
model. The original paper by Lawrence H. Putnam published in 1978 is seen as pioneering work in the field of software process modelling. 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 An error (from the Latin ''error'', meaning "wandering") is an action which is inaccurate or incorrect. In some usages, an error is synonymous with a mistake. The etymology derives from the Latin term 'errare', meaning 'to stray'. In statistics ...
). 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 A parametric model is a set of related mathematical equations that incorporates variable parameters. A scenario is defined by selecting a value for each parameter. Software project managers use software parametric models and parametric estimation t ...
are Constructive Cost Model (
COCOMO The Constructive Cost Model (COCOMO) is a procedural software cost estimation model developed by Barry W. Boehm. The model parameters are derived from fitting a regression formula using data from historical projects (63 projects for COCOMO 81 ...
), Parametric Review of Information for Costing and Evaluation – Software (PRICE-S), and Software Evaluation and Estimation of Resources – Software Estimating Model (
SEER-SEM SEER for Software (SEER-SEM) is a project management application used to estimate resources required for software development. History 1966 System Development Corporation Model based on regressions. 1980 Don Reifer and Dan Galorath paper whic ...
).


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 In probability theory and statistics, the Rayleigh distribution is a continuous probability distribution for nonnegative-valued random variables. Up to rescaling, it coincides with the chi distribution with two degrees of freedom. The distribut ...
. Putnam used his observations about productivity levels to derive the software equation: :\frac = \text^ \cdot \text^ where: * Size is the product size (whatever size estimate is used by your organization is appropriate). Putnam uses ESLOC (Effective
Source Lines of Code Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the program's source code. SLOC is typically used to predict the am ...
) 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. In practical use, when making an estimate for a software task the software equation is solved for ''effort'': :\text = \left \frac \right3 \cdot B 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: :\text = \frac Putnam makes a sharp distinction between 'conventional productivity' : ''size'' / ''effort'' and process productivity. 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 Exponential may refer to any of several mathematical topics related to exponentiation, including: *Exponential function, also: **Matrix exponential, the matrix analogue to the above * Exponential decay, decrease at a rate proportional to value *Exp ...
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.


See also

*
Software estimation Cost estimation in software engineering is typically concerned with the financial spend on the effort to develop and test the software, this can also include requirements review, maintenance, training, managing and buying extra equipment, servers ...


References


External links

* * * * *{{cite web , last = Kemerer , first = Chris F. , title = An Empirical Validation of Software Cost Estimation Models , publisher = Communications of the ACM , date = May 1987 , url = http://www.pitt.edu/~ckemerer/CK%20research%20papers/EmpiricalValidationSwCost_Kemerer87.pdf
QSM, Inc.
Software engineering costs