Page 200 -
P. 200
CHAPTER 7 PROJECT SCHEDULING AND TRACKING 171
The one-year project on which the team is working falls behind schedule, and with
two months remaining, two additional people are added to the team. The number of
communication paths escalates to 14. The productivity input of the new staff is the
The relationship equivalent of 840 x 2 = 1680 LOC for the two months remaining before delivery. Team
between the number productivity now is 20,000 + 1680 (250 x 14) = 18,180 LOC/year.
of people working on a
software project and Although the example is a gross oversimplification of real-world circumstances,
overall productivity is it does illustrate another key point: The relationship between the number of people
not linear. working on a software project and overall productivity is not linear.
Based on the people/work relationship, are teams counterproductive? The answer
is an emphatic "no," if communication improves software quality. In fact, formal
technical reviews (see Chapter 8) conducted by software teams can lead to better
analysis and design, and more important, can reduce the number of errors that go
undetected until testing (thereby reducing testing effort). Hence, productivity and
quality, when measured by time to project completion and customer satisfaction, can
actually improve.
7.2.2. An Empirical Relationship
Recalling the software equation [PUT92] that was introduced in Chapter 5, we can
demonstrate the highly nonlinear relationship between chronological time to com-
plete a project and human effort applied to the project. The number of delivered
lines of code (source statements), L, is related to effort and development time by
the equation:
L = P x E 1/3 4/3
t
where E is development effort in person-months, P is a productivity parameter that
reflects a variety of factors that lead to high-quality software engineering work (typ-
ical values for P range between 2,000 and 12,000), and t is the project duration in cal-
endar months.
Rearranging this software equation, we can arrive at an expression for develop-
ment effort E:
3
3 4
E = L /( P t ) (7-1)
As the deadline
becomes tighter and where E is the effort expended (in person-years) over the entire life cycle for software
tighter, you reach a
point at which the development and maintenance and t is the development time in years. The equation
work cannot be for development effort can be related to development cost by the inclusion of a bur-
completed on dened labor rate factor ($/person-year).
schedule, regardless of This leads to some interesting results. Consider a complex, real-time software proj-
the number of people ect estimated at 33,000 LOC, 12 person-years of effort. If eight people are assigned
doing the work. Face
reality and define a to the project team, the project can be completed in approximately 1.3 years. If, how-
new delivery date. ever, we extend the end-date to 1.75 years, the highly nonlinear nature of the model
described in Equation (7-1) yields:
3 4
3
E = L /( P t ) ~ 3.8 person-years.