Beruflich Dokumente
Kultur Dokumente
ARTICLES
THE DYNAMICS OF
SOFTWARE PROJECT
SCHEDULING
TAREK K, ABDEL.HAMID and STUART E, MADNICK Massachusetts Institute of Technology
could be made by trying to formulate empirically the In the r e m a i n d e r of this p a p e r we will elaborate the
nature of the interactions between cost drivers, using above a r g u m e n t further. We will a t t e m p t to d e m o n s t r a t e
functional forms which reflected the best available per- how the modeling, simulation, and analysis techniques
spectives and data on software life-cycle phenomenology. of system d y n a m i c s (SD) can be powerful tools in study-
Because the c u r r e n t l y available quantitative techniques ing the c o m p l e x area of software project m a n a g e m e n t in
are usually tailored to a limited set of p r o j e c t / o r g a n i z a - general, and the scheduling issues discussed above in
tional types and are still imperfect, the developers of particular.
such techniques emphasize the necessity to c o n t i n u o u s l y
collect project data via the p l a n n i n g and control activi- 2. COMPUTER MODELING OF SOCIAL SYSTEMS:
ties, compare estimates to actuals, and use the results to THE SYSTEM DYNAMICS PERSPECTIVE
improve the estimating tools. People would never attempt to send a sp/lceship to the
F u r t h e r m o r e , research findings over the past few years moon without first testing the equipment by constructing
have clearly shown that the decisions that people m a k e prototype models and by computer simulation of the an-
in organizations and the actions t h e y choose to take are ticipated space trajectories. No company would put a new
kind of household appliance or electronic computer into
s i g n i f i c a n t l y influenced by the pressures, perceptions,
production without first making laboratory tests. Such
and incentives p r o d u c e d by the organization's p l a n n i n g models and laboratory tests do not guarantee against fail-
and control system(s) [9]. In particular, knowledge of ure, but they do identify many weaknesses which can
pr oj e c t schedules was found to affect the real progress then be corrected before they cause full-scale disasters.
rate that is achieved, as well as the progress and prob- Our social systems are far more complex and harder to
lems that are reported u p w a r d in the organization. understand than our technological systems. Why, then,
What this implies is the existence of a feedback loop do we not use the same approach of making models of
(see Figure 1): an estimation t e c h n i q u e produces project social systems and conducting laboratory experiments on
schedules, w h i c h affect the decisions and actions of the those models before we try new laws and government
programs in real life? The answer is often stated that our
technical performers and their managers, w h i c h in t u r n
knowledge of social systems is insufficient for construct-
I'-stimotion ing useful models. But what justification can there be for
y Method the apparent assumption that we do not know enough to
construct models but believe we do know enough to di-
rectly design new social systems by passing laws and
Performonce Schedules starting new social programs? I am suggesting that we
now do know enough to make useful models of social
systems. Conversely, we do not know enough to design
Actions,Y the most effective social systems directly without first
Decisions going through a model-building experimental phase. But I
FIGURE 1. SchedulingFeedback Loop. am confident, and substanci~ ! supporting evidence is be-
ginning to accumulate, that the proper use of models of
affect work performance, w h i c h e v e n t u a l l y is fed into social systems can lead to far better systems, laws, and
programs [4].
the organization's projects' database to influence future
estimations. Indeed, it is now possible to use the modeling, simula-
But w h a t does the existence of such a feedback loop tion, and system analysis techniques of system d y n a m i c s
mean? Is it good or bad? To most of us, the answers to in the laboratory to construct models of managerial sys-
such questions will not be i n t u i t i v e l y obvious, that is, we tems. Such models are obviously simplifications of the
cannot a n s w e r t h e m with confidence m e r e l y on the basis actual social systems but can be far more c o m p r e h e n s i v e
of our private mental models. The h u m a n m i n d is not than the m e n t a l models that are otherwise used.
a d a p t e d to correctly anticipate the d y n a m i c conse- System Dynamics (SD) is the application of feedback
quences of interactions b e t w e e n the parts of a c o m p l e x control systems principles and techniques to managerial
societal system [4], such as that of software project m a n - and organizational problems. The SD philosophy rests on
agement. The most familiar e x a m p l e in the literature is a belief that the b e h a v i o r (or time history) of an organi-
perhaps "Brooks' Law.' W h e n a project falls b e h i n d zational entity is principally caused by its structure. The
schedule, managers often attempt to speed up the project structure includes, not only the physical aspects, but
by adding more people. Brooks suggests that managers more importantly, the policies and traditions, both tangi-
fail to anticipate the d y n a m i c consequences of such an ble and intangible, that d o m i n a t e decision m a k i n g in the
action, for example, the increase in the c o m m u n i c a t i o n organizational entity. Such a structural f r a m e w o r k con-
o v e r h e a d and the need to divert p r o d u c t i v e time of the tains sources of amplification, time lags, and information
current personnel to the training of the n e w people. The feedback similar to those found in complex engineering
net effect is that the project m a y actually fall further systems.
b e h i n d schedule. The system d y n a m i c s approach begins w i t h an effort
A Systems Dynamics Model is i m p o r t a n t because "Un- to u n d e r s t a n d the system of forces that has created a
like a mental model, a system d y n a m i c s c o m p u t e r model p r o b l e m and continues to sustain it. Relevant data are
can reliably trace through time the implications of any gathered usually from a variety of sources, for example,
messy maze of assumptions and interactions" [6]. It can literature, informed people, etc. As soon as a r u d i m e n -
do so without s t u m b l i n g over phraseology, emotional tary m e a s u r e of u n d e r s t a n d i n g has been achieved, a for-
bias, or gaps in intuition. Even for those gifted few w h o mal model is developed. This model is initially in the
can correctly a n s w e r the above questions on the basis of format of a set of logical diagrams showing cause-and-
m e r e intuition, a formal system d y n a m i c s m o d e l can effect relationships. As soon as is feasible, the visual
provide a powerful c o m m u n i c a t i o n tool that can mini- m o d e l is translated into a m a t h e m a t i c a l version. The
mize m i s u n d e r s t a n d i n g and m i s c o m m u n i c a t i o n . model is exposed to criticism, revised, expressed again,
and so on, in an iterative process that continues as long budget. In all these cases a "closing of the loop" occurs.
as it proves to be useful. Just as the model is i m p r o v e d as A delay, w h e t h e r short or long, i n t e r v e n e s b e t w e e n ini-
a result of successive exposures to critics, a successively tial action and feedback results. Closed loops and time
better u n d e r s t a n d i n g of the p r o b l e m is a c h i e v e d by the delays in consequences are characteristic of all feedback
people who participate in the process. processes.
Such an approach forces those involved in system de- It is apparent from the above that the m a n a g e m e n t of
sign to m a k e explicit and thoroughly test the assump- software d e v e l o p m e n t is a prime c a n d i d a t e for applica-
tions that u n d e r l i e their design decisions: the n a t u r e of tion of the system d y n a m i c s method. It clearly is com-
problems, their causes, the consequences of alternative plex, it is d y n a m i c , and it does exhibit feedback behav-
actions, and how various h u m a n , managerial, economic, ior.
and operational factors interrelate. Weil reports that his In [2] we discuss, in some detail, a system d y n a m i c s
e x p e r i e n c e has shown that this is a very valuable proc- model we d e v e l o p e d of software project m a n a g e m e n t .
ess; people are really quite surprised w h e n it turns up The model was d e v e l o p e d to be a tool in investigating
things no one had thought of before, incorrect assump- the m a n y managerial problems that seem to be plaguing
tions, and differences of opinion about cause and effect software d e v e l o p m e n t activities in most organizations,
[9]. for example, cost and s c h e d u l e overruns. In particular,
Roberts has stated that people's the model serves as a " s k e l e t o n " on top of w h i c h "cus-
... intuition about the probable consequences of pro- t o m " models can be built to fit different o r g a n i z a t i o n a l /
posed policies frequently proves to be less reliable than project settings.
the model's meticulous mathematical approach ... This is In Sec. 4 we use the model to a n a l y z e the d y n a m i c s of
not surprising as it may first appear. Management systems software project scheduling, an exercise we hope will
contain as many as 100 or more variables that are known p r o d u c e some insights into the issues raised in Sec. 1. To
to be related to one another in various nonlinear fashions. set the stage for this discussion, we will characterize,
The behavior of such a system is complex far beyond the next in Sec. 3, the software project (which we will sim-
capacity of intuition. Computer simulation is one of the ply call EXAMPLE) to be used in our analysis.
most effective means available for supplementing and
correcting human intuition [7].
3. C H A R A C T E R I Z I N G THE "EXAMPLE" S O F T W A R E
System d y n a m i c s is suitable for addressing certain PROJECT
kinds of c o m p l e x problems. In addition to complexity, One of the attractive features of a c o m p u t e r model is its
such problems have at least two features in common. high versatility. By simply changing a few model p a r a m -
First, they are d y n a m i c , that is, they involve quantities eters, for example, one can easily s i m u l a t e a wide range
that change over time and that can, therefore, be ex- of software project types. The software project EXAM-
pressed in terms of graphs of variables over time. Oscil- PLE involves the d e v e l o p m e n t of a 400,000 DSI system.
lating levels of e m p l o y m e n t in an industry, a decline in a (DSI stands for "Delivered Source Instructions." See [3]
city's tax base and quality of life, and the d r a m a t i c a l l y for a complete definition.) All of the m o d e l ' s graphical
rising p a t t e r n of health care costs are all d y n a m i c prob- output, will be in terms of the unit, task, w h e r e a task is
lems [6]. Cost overruns, slippages in s c h e d u l e d comple-
tion dates, and the variability in p r o d u c t i v i t y are some of
o0OOO
the d y n a m i c problems that can arise in a software pro- c~O 0(5
~oOoo
ject. ooooo I ~ I
-~o at}- Currently Perceived
A second feature of the p r o b l e m s to w h i c h the system P r o j e c t Size
O
Time (months)
indirect in p e r c e i v e d results, for example, w h e n a deci- o
sion to increase the software d e v e l o p m e n t budget leads
W Workforce (people)
to the hiring of higher quality managers and a n a l y s t s / C , Cumulotlve
D ~ Discovered
T a s k s WorWed (TosWs)
Rework (Tosks)
programmers, who m a y then develop i m p r o v e d products, S ~ Scheduled Ouraflon (months)
T ' C o s t ($1,OOO)
w h i c h m a y e n h a n c e the c o m p a n y ' s competitive position, P : Currently Perceived Project Size ( T a s k s )
equivalent to 400 DSI. (Our project is, thus, of size 1000 (if ever) realized in real organizations. It will, therefore,
tasks.) The development period modeled begins at the only serve us as a reference point for further analysis.
beginning of the product design phase and ends at the
end of the integration and test phase. We deliberately Step (2): Introducing Rework
excluded the requirements definition/specification Not all work done in the course of a large software pro-
phase so we could incorporate the use of TRW's COn- ject is errorless. Some fraction of the work will be less
structive COst MOdel (COCOMO) [3]. That is, we assume than satisfactory (e.g., inconsistent design, defective
that management will use COCOMO to estimate the ef- code, etc.) and must be redone. The unsatisfactory work
fort in man-months (MM), the total development time in may not be discovered right away, however. For some
months (TDEV), and the staff size (SS). time it passes unrecognized, until the need for reworking
In this section we characterize our EXAMPLE software the tasks shows up. The discovery of unsatisfactory work
project. We will do it in a stepwise fashion. We will start that needs reworking can, of course, cause major disrup-
with an "ideal" project situation and then, step-by-step, tions in a software project (e.g., people are diverted from
add increments of "reality." new tasks to redoing old ones) and is, therefore, a signifi-
cant element of the software development environment.
Step (1): The "Flawless" Project In the model, the generation of rework is regulated by
In the ideal case, managemenrs estimate of the project's FERR, which is the fraction of work that is erroneous.
size will be exactly on target, that is, 400,000 DSI or 1000 For example, a value of FERR equal to 0.1 means that 10
tasks. Using the (Basic form of the) COCOMO model, an percent of the tasks completed in a particular unit of
estimate of the effort in man-months (MM) can then be time will be defective, and will thus require reworking.
made. FERR is not modeled as a constant, however. It is a
MM = 2.4 (DSI/1000) '.'~ variable that changes during the life of the project. Fig-
= 2.4 (400,000/1000) 15
= 1295 man-months oooo~o
o
o O o. o~ od
From this an estimate of the project's total develop- oOddo
~0-~0- - 1 ,~ I I I
Currently Perceived
ment time (TDEV) can be calculated. Project Size
so S' /
TDEV = 2.5 (MM)":m /,///
= 2.5 (1295)"38 oooO~
o .oo o /s ,/
Q~Q
= 38 months Scheduled p/
8oo~o
oo0
OOoO o
0]
For this run, we assume that management initially
Cur rently Perceived . estimates the system's size to be 320,000 DSI or 800
tasks, that is, 20 percent lower than the real size of
8 Oo8 o
400,000 DSI or 1000 tasks. The resulting project behavior
ooo~o is shown in Figure 6. The project completes in 51
Scheduled
~/, C)UTOtlOn ~'/ months but at the slightly higher cost of $9,757,200.
." / Notice that the "currently perceived project size"
. . . .
oo8~o starts at 800 tasks, but as the project progresses and the
8ooo8 .-" ,/ ~. ~. level of uncertainty decreases, it is adjusted upwards
/" /
until at about month 35 "currently perceived project
Cumula,,ve
Tasks ."
.
~"
/ size" is in fact equal to 1000 tasks--the true project size.
oo o Oo ~o .o
Worke d " ~ s " /.f As management learns about the upward adjustments in
o" / the project's size, it adjusts its workforce upwards to the
level it perceives is sufficient to complete the project
within the scheduled 35 months. However, unexpected
ooo
o do8o problems arise, for example, a system integration test
o ooo o
o oo
o
I0 OOO 20 OO0 50000 4O000 50O00 fails miserably, which will necessitate the reworking of
Time (months)
tasks believed to be successfully completed. When such
FIGURE 5. Introducing Personnel Turnover. disruptions occur towards the end of the project, man-
agement is reluctant to hire new employees, and there is
ily. After month 13 enough rework is discovered to cause almost no other alternative but to extend the scheduled
management to start hiring more people in order to meet completion date, as shown in Figure 6.
the initial scheduled completion date. This policy con- In the next section we will use EXAMPLE to analyze
tinues until month 29, when management chooses in- the dynamics of software project scheduling. In all our
stead to extend the project's target completion date and subsequent simulation runs we will maintain our pro-
slow down the hiring of new people. The project eventu- ject's present level of "realism," that is, include rework,
ally completes after 41.5 months, at a total cost of personnel turnover, and underestimation.
$9,024,700.
8.0
.
o
.%
. --
/ Scheduled ~.~ J~
.-2." --
software projects, all identical to project EXAMPLE of
Sec. 3. On the first such project, EXAMPLE1, the com-
pany (lacking the experience) underestimates the size of
. /s// the project by 20 percent, that is, estimates the project's
size to be only 800 tasks. Using the (TRW calibrated)
/ -/ />
Oo o o
o o8
08 COCOMO model, the project's total effort and duration
are then estimated to be 1025 man-months and 35
months, respectively. But as we have already seen in
Cu~ulahve sJ
Tosks #" Sec. 3 (Figure 6), the project actually consumes 1626
ooo~o
oo ~0,.d "~."
s / man-months and is completed in 51 months.
oo~8 / I/
/ 5 / " ~ CS##
ost
After completing project EXAMPLE1, the following is
~N~N~ /Rework
O,scove,ea
learned:
project, for example, management would be very reluc- managing its software projects. Our own research efforts,
tant to bring in new people, even though the perceived as well as those of others, have convinced us that the
time and effort remaining imply more people are needed. project management of software development is a very
It would just take too much time to acquaint new people complex undertaking in which a complex network of
with the mechanics of the project, integrate them into interrelationships and interactions exists. It is, therefore,
the project team, and train them in the necessary techni- essential that software project managers adopt an inte-
cal areas. grative perspective or model of software project dynam-
While such a policy may sound perfectly reasonable, ics in order to effectively answer the difficult questions
and may in fact be successfully employed in many areas they need to raise when assessing their organizations'
of managerial endeavour, it does pose certain risks (our health, selecting improvement interventions, and imple-
model reveals) when applied to the software develop- menting their choices. Such an integrative model would
ment area. As was mentioned in Sec. 3, not all work be useful to alert managers to all the important elements
done in the course of a large software project is errorless. or aspects of a problematic situation, and to help them
Some fraction of the work will be less than satisfactory assess the second- and third-order consequences of some
and must be redone. The unsatisfactory work is not dis- set of actions.
covered right away, however. For some time it passes However, such an integrative model will undoubtedly
unrecognized, until the need for reworking the tasks in- contain a large number of components with a complex
volved shows up. When the unsatisfactory work does get network of interrelationships: What would still be
discovered, it usually causes major disruptions. The needed is an effective means to determine both accu-
problems, however, are particularly devastating when rately and efficiently the dynamic behavior implied by
this happens towards the end of the project, for example, such component interactions. We feel (and hopefully
at system integration testing, when management (under have demonstrated) that the computer-based simulation
the above hiring/firing policy) is very reluctant to hire techniques of system dynamics can be a powerful tool to
new employees. When this happens, management will do just that.
have almost no other alternative but to extend the pro-
ject's scheduled completion date. REFERENCES
There is still, though, an interesting and as yet unan- 1. Aaron, J. D. Estimating resources for large programming systems. Soft-
ware Engineering: Concepts and Techniques. Edited by J. M. Buxton,
swered question: Why was the system so "unresponsive" P. Naur, and B. Randell. Litton Educational Publishing, Inc., 1976.
to the "schedule relaxing policy?" The answer is because 2. Abdel-Hamid, T. K. and Madnick, S. E. A model of software project
of the compensating property of complex societal sys- management dynamics. The Sixth lnt'l Computer Software and Appli-
tems. Changes in most (but certainly not all) parameters cations Conference (COMPSAC), November 8-12, 1982.
3. Boehm, B. W. Software Engineering Economics, Prentice-Hall, Inc., En-
in one part of such systems may weaken or strengthen glewood Cliffs, New Jersey, 1981.
some feedback loop, but the multiloop nature of complex 4. Forrester, J. W. Counterintuitive behavior of social systems. Technol-
feedback systems will, in most cases, "naturally" ogy Review, January, 1971.
strengthen or weaken other loops to compensate [6]. In 5. Putnam, L. H. Software cost estimation and life-cycle control: Getting
the software numbers. IEEE Computer Society, IEEE Catalog No.
our particular software project situation, extending the EHO 165-1, 1980.
project's schedule weakens the strength of the schedule 6. Richardson, G. P. and Pugh lIl, A. L. Introduction to System Dynamics
pressure in the system, to which the hiring loop (for one) Modeling with Dynamo. The MIT Press, Cambridge, Massachusetts,
simply compensates by causing the project to start with a 1981.
7. Roberts, E. B.,'Ed. Managerial Applications of System Dynamics. The
smaller workforce. For example, in EXAMPLE2, on the MIT Press, Cambridge, Massachusetts, 1981.
basis of an estimated project duration of 51 months, 8. Thayer, R. H., Pyster, A. B., and Wood, R. C. Major issues in software
management starts the project with 32 people. When engineering project management. IEEE Trans. on Software Engineer-
supplied with the more generous and presumably more ing, July, 1981, pp. 333-342.
9. Weil, H. B. Industrial dynamics and management information systems.
accurate estimate of 56 months for EXAMPLE3, manage- Managerial Applications of System Dynamics. Edited by E. B. Rob-
ment simply (and rationally) factors that in the decision erts. The MIT Press, Cambridge, Massachusetts, 1981.
h~aking process, and then determines that a workforce of
29 people (1626 MM/56 months) is needed. CR Categories and Subject Descriptors: D.2.9 [Software Engineering]:
Management--cost elimination; K.6.1 [Management of Computing and
5. CONCLUSIONS Information Systems]: Project and People Management--management
techniques
It is clear from the above discussion that viewing the General Terms: Management
problem of software project scheduling as simply a prob- Additional Key Words and Phrases: software project scheduling, com-
lem of generating improved schedules is too limited a puter simulation, system dynamics
view, and one which can in fact lead to a serious long
term deterioration in an organization's effectiveness in Received 6/82; revised 9/82; accepted 10/82