Putnam Resource Allocation Model for Software Cost Estimation: A Dynamic Approach

Learn about the Putnam resource allocation model, a dynamic software cost estimation model that uses a Rayleigh curve to model effort, schedule, and project size. This guide explains the model's equation, its parameters, and its application in software project planning.



Putnam Resource Allocation Model for Software Cost Estimation

Introduction to the Putnam Model

The Lawrence Putnam model is a dynamic software cost estimation model. Unlike static models that use simple formulas based on a single variable (like lines of code), the Putnam model uses a Rayleigh curve to model the relationship between project effort, schedule, and size. This model accounts for the typical staffing profile of software projects, where the number of personnel increases during development and then declines towards project completion.

The Putnam Model Equation

The Putnam model uses the following equation to estimate project effort and schedule:

K = Ck(1/3) * L3 * td-4

Where:

  • K: Total effort (person-months).
  • L: Software size (KLOC).
  • td: Development time (months, including system and integration testing).
  • Ck: A technology constant reflecting constraints on the development process.

Typical values for Ck are: 2 (poor environment), 8 (good environment), and 11 (excellent environment). The value of Ck can be determined from historical project data.

Relationship between Schedule and Cost in the Putnam Model

The Putnam model shows that compressing the development schedule significantly increases the required effort and cost. This relationship is expressed as:

C = L3 / Ck3

This formula indicates that for a given software size (L), if the development time is reduced, the effort (and therefore cost) increases proportionally to the fourth power of the compression ratio. This means even a small reduction in schedule can dramatically increase the cost.

(An example showing the impact of reducing a one-year project to six months is given in the original text and would be included here.)

Rayleigh Curve in Software Staffing

(An illustration of the Rayleigh curve, showing its relationship to typical software project staffing levels throughout different project phases, would be included here.)

COCOMO vs. Putnam Model

(A comparison of the COCOMO model and the Putnam model would be included here, highlighting their key differences and similarities. The provided text cuts off before doing this. This would include an explanation of the COCOMO model's assumptions and how they relate to the assumptions of the Putnam model.)