The Putnam model allows the dynamic behaviour of a software project to be examined, informing the strategic choices of project management.
In the trade-off between staffing levels and development time the model exhibits behaviour similar to many other cost models. It shows that reduction in development time is an expensive option causing a disproportionate rise in staffing levels and costs.
The Putnam method utilises the model, based upon a Rayleigh/Norden distribution, which is applied to the software life-cycle, hence the method is often known as the Putnam, Norden, Rayleigh (PNR) method.
The model takes account of both development and project activities (which include management, configuration control, etc), as well as the maintenance phase. It was developed from an extensive examination of some 19 projects developed for the US Army's Computer Systems Command. It was then validated against some 200 other project / systems.
The generic cycle for a typical project
The technical bit
Essentially, the Putnam model describes the behaviour of a software development project in terms of a set of software state variables linked by what he calls the 'software equation' which is given as
S = E K1/3td4/3
S = Non-Comment Source Statements (NCSS)
td = The time to peak staffing
K = Total manpower cost of the Generic Cycle (see below)
E = The environmental factor, which is calculated from past projects by a rearrangement of the software equation thus:
Generic Cycle is the term used by Putnam to describe the general life-cycle model of a project and is generalised by the Rayleigh function (an example of the generic cycle is given below) for the expenditure of manpower over the whole project thus:
|m(t) = Dt exp ||( ||S ||) |
D = the gradient of the manpower curve at time t(0) and is considered to be an indication of the difficulty of a project.
The difficulty D of a project is considered by this model to increase if the project requires more manpower or an earlier completion time and is given by: