The Putnam Resource Allocation Model, also known as the Putnam Model, is a mathematical model used to predict the effort required to complete a software project. It was developed in the 1960s by Lawrence Putnam and was initially used to estimate the effort required for large, complex defense projects. The model is based on the principle that the effort required to complete a project is directly proportional to the number of delivered lines of code and the number of people working on the project. The Putnam Model has been widely used in software engineering to estimate project cost and duration, and it has been used in a variety of domains, including aerospace, finance, and government.
Putnam estimates project effort, schedule, and defect rate by using a tool known as The Norden/ Rayleigh Curve.
The software equation was derived by Putnam after he observed that the productivity levels of software staffing profiles followed the Rayleigh distribution.
The Putnam model involves the following terms:
- K, which represents the total effort expended (in PM) in product development
- L, the product estimate in KLOC.
- td, which correlates to the time of system and integration testing and can be relatively considered as the time required for developing the product.
- Ck, the state of technology constant that reflects requirements that impede the development of the program.
- Ck has typical values of 2 for a poor development environment
- 8 for a good software development environment
- 11 for an excellent environment where software engineering principles, automated tools, and techniques are used.
The exact value of Ck for a specific task can be calculated from the historical data of the organization developing it.
Putnam’s model proposes that an ideal number of staff required to develop a project should follow the Rayleigh distribution. Initially, only a few engineers are needed to perform planning and specification tasks. As the project progresses and more detailed work is required, the number of engineers needed reaches a peak. After implementation and unit testing, the number of project staff reduces.
Impact of Schedule Modifications on Project Cost
The following expression has been derived by Putnam
The formula involves several variables for estimating the effort expended in product development.
- K represents the total effort in person-months (PM).
- L denotes the product size in KLOC.
- td correlates with the time required for system and integration testing.
- Ck reflects the state of technology and constraints that may impede the progress of the program.
By using the above formula, one can calculate the estimated effort required for a project.
For the same product size, C =L3 / Ck3 is a constant.
The given expression indicates that when a project schedule is condensed, the development effort and cost of the project will rise in proportion to the fourth power of the compression degree. This implies that even a minor compression in the delivery timeline can lead to a considerable increase in human effort and development cost.