0% found this document useful (0 votes)
11 views3 pages

Estimating Staffing Levels for Software Projects

The document discusses staffing level estimation for software projects. It describes Norden's work on modeling staffing patterns for R&D projects and Putnam's extension of this work to model optimal staffing levels for software projects using the Rayleigh distribution curve. Putnam suggested staffing should follow this curve, peaking at system integration testing. The document also discusses how compressing a project's schedule significantly increases required effort and costs.

Uploaded by

anushka gupta
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views3 pages

Estimating Staffing Levels for Software Projects

The document discusses staffing level estimation for software projects. It describes Norden's work on modeling staffing patterns for R&D projects and Putnam's extension of this work to model optimal staffing levels for software projects using the Rayleigh distribution curve. Putnam suggested staffing should follow this curve, peaking at system integration testing. The document also discusses how compressing a project's schedule significantly increases required effort and costs.

Uploaded by

anushka gupta
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Staffing level estimation

Once the effort required to develop a software has been determined, it is necessary to
determine the staffing requirement for the project. Putnam first studied the problem of what
should be a proper staffing pattern for software projects. He extended the work of Norden who
had earlier investigated the staffing pattern of research and development (R&D) type of
projects. In order to appreciate the staffing pattern of software projects, Norden’s and
Putnam’s results must beunderstood.

Norden’s Work

Norden studied the staffing patterns of several R & D projects. He found that the staffing
pattern can be approximated by the Rayleigh distribution curve. Norden represented the
Rayleigh curve by the following equation:

E = K/t²d * t * e-t² / 2 t² d
Where E is the effort required at time t. E is an indication of the number of engineers (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.

Effort (e)

td (time)
Putnam’s Work

Putnam studied the problem of staffing of software projects and found that the software development
has characteristics very similar to other R & D projects studied by Norden and that the Rayleigh-Norden
curve can be used to relate the number of delivered lines of code to the effort and the time required to
develop the project. By analyzing a large number of army projects, Putnam derived the following
expression:

L = Ck K1/3td 4/3
The various terms of this expression are as follows:

• K is the total effort expended (in PM) in the product development and L is the product size in
KLOC.

• td corresponds to the time of system and integration 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 Ck = 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), C k = 11 for
an excellent environment (in addition to following software engineering principles,
automated tools and techniques are used). The exact value of C k for a specific project
can be computed from the historical data of the organization developing it.

Putnam suggested that optimal staff build-up on a project should follow the Rayleigh
curve. Only a small number of engineers are needed at the beginning of a project to
carry out planning and specification tasks. As the project progresses and more detailed
work is required, the number of engineers reaches a peak. After implementation and
unit testing, the number of project staff falls. 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 shows 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 through out the project duration
would lead to wastage of effort and increase the time and effort required to develop the
product. If a constant number of engineers 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.
Effect of schedule change on cost

By analyzing a large number of army projects, Putnam derived the following expression:

L = CkK1/3td4/3

Where, K is the total effort expended (in PM) in the product development and L is the
product size in KLOC, td corresponds to the time of system and integration testing and C k
is the state of technology constant and reflects constraints that impede the progress of
the programmer

Now by using the above expression it is obtained that,

K = L 3/C k 3 td 4
OR

K = C/td 4
For the same product size, C = L3 / C k 3 is a constant

or, K1/K2 = td24 /t d1 4

or, K ∝ 1/td 4

or, cost ∝ 1/td


(as project development effort is equally proportional to project development cost)

From the above expression, it can be easily observed that when the schedule of a project is
compressed, the required development effort as well as project development cost 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 of human effort as well as
development cost. For example, if the estimated development time is 1 year, then in order to
develop the product in 6 months, the total effort required to develop the product (and hence
the project cost) increases 16 times.

Common questions

Powered by AI

Aligning staffing levels with the Rayleigh curve ensures resource optimization throughout project phases, reducing work inefficiencies. Proper alignment prevents staffing from becoming a bottleneck during critical work periods and avoids slack during less intensive phases, thus minimizing excess cost and schedule delays. This adaptive staffing helps maintain project momentum and enables smoother transitions between phases .

Norden's approach, which focused on R&D projects, introduced the concept of approximating staffing patterns with the Rayleigh distribution curve. This approach was not initially specific to software projects but provided a framework for understanding staffing needs over time. Putnam expanded on Norden's work by applying the Rayleigh-Norden curve specifically to software projects. He established a relationship between the number of delivered lines of code, effort, and development time, showing how the same curves could model software project staffing patterns. Putnam found that optimal staff build-up follows the Rayleigh curve, requiring gradual increases and decreases in staff to avoid schedule slippages and inefficiencies .

The state of technology constant (Ck) in Putnam's model reflects constraints that impede the programmer's progress, including the development environment quality. It distinguishes between poor, good, and excellent environments, denoting how they impact productivity. For instance, poor environments (Ck = 2) lack formal methodologies and documentation, while excellent environments (Ck = 11) leverage automated tools and adhere to software engineering principles. Understanding Ck helps organizations gauge their development capability and adjust staffing and timelines accordingly .

The Rayleigh distribution curve models staffing level changes by mapping effort over time. Initially, few engineers are needed in planning, with staffing peaking as detailed work begins. This demand drop after implementation and testing phases uses a ‘bell-like’ distribution to depict the rise and fall of resource needs. Hence, the curve advises on staffing strategy changes as projects progress to maintain efficiency and timeliness .

Increasing team size too rapidly can correlate with schedule slippage. This disrupts the natural staffing pattern recommended by the Rayleigh-Norden approach, leading to misaligned workloads and project inefficiency. Smooth incremental changes in team size better accommodate workload variations and keep the project on schedule and budget .

In Putnam's formula, 'K' represents the total effort expended in person-months on the product development, while 'td' is the time corresponding to system and integration testing. The two are directly related through the formula L = Ck K1/3td4/3, where L is the product size. The relationship indicates that effort (K) is affected by the project’s schedule (td), and compressing 'td' demands much higher effort, reflecting the project's complexity and resource requirements .

Putnam identified that compressing the schedule of a software project increases the required development effort and the project cost, in proportion to the fourth power of the degree of compression. This implies that even small reductions in schedule time can significantly inflate costs and human effort, highlighting the inefficiency and risks of overly aggressive timelines .

A constant level of manpower is inefficient because it does not account for varying workload across different project phases. During some phases, excessive staffing can lead to understimulated engineers, while other phases may suffer from understaffing, causing delays. The Rayleigh-Norden staffing pattern recommends adjusting staffing levels to match the workload curve, ensuring optimal resource allocation. Failing to do so leads to wasted effort, increased costs, and potential schedule slips .

The expression implies that for a fixed product size, any reduction in development time 'td' must be compensated by increased effort 'K', which escalates due to the td4 term. This insight is critical for project managers assessing the trade-offs between timeline compression and resource allocation, as it cautions against overly ambitious scheduling that could exponentially increase costs and operational stress .

The Rayleigh-Norden model mitigates delays and costs by promoting gradual and strategic adjustments in staffing levels to match project progression. By avoiding rapid changes and constant staffing, the model aligns workforce with workload, reducing idle periods and stressful crunch times, both of which can lead to inefficiency and schedule slippages. This dynamic alignment minimizes the risk of unforeseen challenges and cost overruns .

You might also like