STAFFING LEVEL ESTIMATION
Once the effort required to complete a software project has been estimated, the staffing requirement for the project can be determined.
Putnam was the first to study the problem of determining a proper staffing pattern for software projects.
He extended the classical work of Norden who had earlier investigated the staffing pattern of general research and development (R&D) type of projects.
In order to appreciate the uniqueness of the staffing pattern that is desirable for software projects, we must first understand both Norden’s and Putnam’s results.
Norden studied the staffing patterns of several R&D projects. He found that the staffing pattern of R&D type of projects is very different from that of manufacturing or sales.
In a sales outlet, the number of sales staff does not usually vary with time.
For example, in a supermarket the number of sales personnel would depend on the number of sales counters and would be approximately constant over time.
However, the staffing pattern of R&D type of projects needs to change over time.
At the start of an R&D project, the activities of the project are planned and initial investigations are made.
During this time, the manpower requirements are low.
As the project progresses, the manpower requirement increases, until it reaches a peak. Thereafter, the manpower requirement gradually diminishes.
Norden concluded that the staffing pattern for any R&D project starting from a low level, increases until it reaches a peak value. It then starts to diminish.
This pattern can be approximated by the Rayleigh distribution curve.
Norden represented the Rayleigh curve by the following equation:
E is the effort required at time t.
E is an indication of the number of developers (or the staffing level) at any particular time during the duration of the project
K is the area under the curve, and
td is the time at which the curve attains its maximum value.
It must be remembered that the results of Norden are applicable to general R&D projects and were not meant to model the staffing pattern of software development projects.
Putnam studied the problem of staffing of software projects and found that the staffing pattern for software development projects has characteristics very similar to any other R&D projects.
Only a small number of developers are needed at the beginning of a project to carry out the planning and specification tasks.
As the project progresses and more detailed work is performed, the number of developers increases and reaches a peak during product testing.
After implementation and unit testing, the number of project staff falls.
Putnam found that the Rayleigh-Norden curve can be adapted to relate the number of delivered lines of code to the effort and the time required to develop the product.
By analysing a large number of defence projects, Putnam derived the following expression:
where the different terms are as follows:
• K is the total effort expended (in PM) in the product development and L is the product size in KLOC.
• t d corresponds to the time of system and integration and testing. Therefore, td can be approximately considered as the time required to develop the software.
• Ck is the state of technology constant and reflects constraints that impede the progress of the programmer. Typical values of C k =2 for poor development environment (no methodology, poor documentation, and review, etc.)
C k =8 for good software development environment (software engineering principles are adhered to)
Ck =11 for an excellent environment (in addition to following software engineering principles, automated tools and techniques are used).
The exact value of Ck for a specific project can be computed from historical data of the organisation developing it.
Putnam suggested that optimal staff build-up on a project should follow the Rayleigh curve.
For efficient resource utilisation as well as project completion over optimal duration, starting from a small number of developers, there should be a staff build-up and after a peak size has been achieved, staff reduction is required.
However, the staff build-up should not be carried out in large installments.
The team size should either be increased or decreased slowly whenever required to match the Rayleigh-Norden curve.
Experience reports indicate that a very rapid build up of project staff any time during the project development correlates with schedule slippage. It should be clear that a constant level of manpower throughout the project duration would lead to wastage of effort and as a result would increase both the time and effort required to develop the product. If a constant number of developers are used over all the phases of a project, some phases would be overstaffed and the other phases would be understaffed causing inefficient use of manpower, leading to schedule slippage and increase in cost.
If we examine the Rayleigh curve, we can see that approximately 40 percent of the area under the Rayleigh curve is to the left of td and 60 per cent area is to the right o f t d
This has been verified mathematically by integrating the expression provided by Putnam. This implies that the effort required to develop the product to its maintenance effort is approximately in 40:60 ratio.
Effect of schedule change on cost according to Putnom method Putnam’s method can be used to study the effect of changing the duration of a project from that computed by the COCOMO model. By using the Putnam’s expression Eq.
From this expression, it can easily be observed that when the schedule of a project is compressed, the required effort increases in proportion to the fourth power of the degree of compression.
It means that a relatively small compression in delivery schedule can result in substantial penalty on human effort. For example, if the estimated development time using COCOMO formulas is 1 year, then in order to develop the product in 6 months, the total effort required (and hence the project cost) increases 16 times.
It is a common intuition that the effort required to develop a product should not depend on the time over which it is developed. Why then does the effort requirement increase so much when the schedule is compressed by 50 per cent? After all, it is the same product that is being developed? The answer to this can be the following. The extra effort can be attributed to the idle times of the developers waiting for work. The project manager recruits large number of developers hoping to complete the project early, but it becomes very difficult to keep those additional developers continuously occupied with work. Implicit in the schedule and cost estimation arrived at using the COCOMO model, is the fact that all developers can be continuously assigned work. However, when more number of developers are hired to decrease the duration, it becomes to keep all developers busy all the time. After all, the activities in the project which can be carried out simultaneously are restricted. As a corollary of this observation, it can be remarked that benefits can be gained by using fewer people over a somewhat longer time span to accomplish the same objective. Thus, the Putnam’s model indicates an extreme manpower penalty for schedule compression and an extreme reward for expanding the schedule. However, increasing the development time beyond the duration computed by COCOMO has been found to be not very helpful in reducing the cost. The Putnam’s estimation model works reasonably well for very large systems, but seriously overestimates the required effort on medium and small systems. This is also corroborated by Boehm[Boehm 81]. Boehm states that there is a limit beyond which a software project cannot reduce its schedule by buying any more personnel or equipment. This limit occurs roughly at 75 per cent of the nominal time estimate for small and medium sized projects. Thus, if a project manager accepts a customer demand to compress the development schedule of a typical project (medium or small project) by more than 25 per cent, he is very unlikely to succeed. The main reason being that every project has only a limited amount of activities which can be carried out in parallel and the sequential activities cannot be speeded up by hiring any number of additional developers.
Jensen model is very similar to Putnam model.
However, it attempts to soften the effect of schedule compression on effort to make it applicable to smaller and medium sized projects. Jensen proposed the equation:
where, Cte is the effective technology constant, td is the time to develop the software, and K is the effort needed to develop the software. In contrast to Putnam’s model, Jensen’s model considers the increase in effort (and cost) requirement to be proportional to the square of the degree of compression.