Document 11066707

advertisement
>aVEV
HD28
.M414
IMAR 16 1988
U ,^$0-U
ALFRED
P.
WORKING PAPER
SLOAN SCHOOL OF MANAGEMENT
MODELING THE DYNAIIICS OF
SOFTWARE PROJECT MANAGEMENT
Tarek K. Abdel-Hamid
Stuart E. Madnick
February 1988
#WP 1980-88
MASSACHUSETTS
INSTITUTE OF TECHNOLOGY
50 MEMORIAL DRIVE
CAMBRIDGE, MASSACHUSETTS 02139
MODELING THE DYNAMICS OF
SOFTWARE PROJECT MANAGEMENT
Tarek K. Abdel-Hamid
Stuart E. Madnick
February 1988
#WP 1980-88
MODELING THE DYNAMICS OF SOFTWARE PROJECT MfiNRGEMENT
By
Tarek K. Obdel-Hamid
Naval Postgraduate School
Stuart E. Madnick
Massachusetts Institute of Technology
January,
1988
Submitted for publication to the Cornrnunication5_of_the_QCM
.
ARIES
1
MODELING THE DYNAMICS OF SOFTWARE PROJECT MANAGEMENT
Abstract
The development of software systems has been marked by cost
overruns, late deliveries, poor reliability, and users' dissatisfaction.
The problems persist in spite of significant advances in the software
engineering field to tackle the technological hurdles of software
production. In recent years, the managerial aspects of software
development have been gaining increasing recognition as being at the
cores of both the problem and the solution.
The objective of this paper is twofold. First, we present a research
paradigm for the study of software project management that is grounded in
the feedback systems principles of system dynamics. Feedback processes
are universal in social systems in general, and we show how, when applied
to software project management, they do provide a powerful lens to view
and understand software project behavior.
Second, we summarize the stream of research findings obtained to
date. A system dynamics model of software project management has been
developed and is being used to study and predict the dynamic implications
of an array of managerial policies and procedures pertaining to the
management of software development.
,
;
INTRODLJCTigN
i
,
The impressive improvements that are continuously being made in the
cost-effect -veness of computer hardware are causing an enormous expansion in
the number of applications for which computing is becoming a feasible and
^
economical solution. This,
in turn,
is placing greater and greater demands
for the development and operation of computer software systems.
conservative estimate indicates
software each decade, or
(Musa,
a
a
A
"tenfold increase in the demand for
hundred fold increase between 1965 and 1985"
1985).
The growth of the software industry has not, however,
been painless.
The
record shows that the development of software has been marked by cost
overruns,
late deliveries,
[(Buckley and Poston,
poor reliability,
198A),
and users'
(Ramamoorthy et al.,
1984),
dissatisfaction
and
(Newport,
1986)3.
In an effort to bring discipline to the development of software systems.
attempts have been made since the early 1970s to apply the rigors of science
and engineering to the software production process.
This lead to significant
advances in the technol^ogy of software production (e.g., structured
programming,
structured design,
formal verification,
language design for more
reliable coding, diagnostic compilers, and so forth).
The fnaDi9§!!i§i aspects of software development,
on the other hand,
have
attracted much less attention from the research community [(Thayer et al.
1981),
(Zmud,
and
1960),
(Beck and Perkins,
19S3)].
,
Cooper (1976) provides an
insightful explanation for the reasons why:
Perhaps this is so because computer scientists believe that management
per se is not their business, and the management professionals assume
that it is the computer scientists' responsibility.
This "deficiency" in the field's research repertoire is being blamed by
a
growing number of researchers and practitioners for the £§!!iiitence of the
difficulties in producing software systems [(Pooch and Gehring,
(Thomsett,
1980),
and
(Weinberg,
1982)].
fl
1980),
chief concern expressed is that,
as of yet, we still lack a fundamental understanding of the software
development process,
find
without such an understanding the possibility or
likelihood of any significant gains on the managerial front is questionable
[(Basili,
1982)
and
(McKeen,
1983):.
This paper reports on a stream of research designed to address the above
Specifically,
concerns.
our goal
is to develop a comprehensive system
dynamics model of the software development process that enhances our
understanding
of,
provide insight into,
and make predictions about the
process by which software development is managed. The following examples
illustrate some of the critical management decisions that have been addressed
in this research effort:
1.
ft
project is behind schedule.
roviBB completion date,
staff,
Possible management actions include:
hold to planned completion date but hire more
hold to planned completion date but work current staff overtime.
etc.
£.
What are the implications of these alternatives?
How much effort should be expended on quality assurance and how does
that affect completion time and total cost?
3.
The impact of different effort distributions among project phases
(e.g.,
should the division of effort between' development and testing be
60:20 or 60:A0 percent?)
A.
The reasons for and implications of the differences between
productivity,
5.
actual, productivity,
potent ial^
and Be!2£?ived productivity.
Why does the "90>i syndrome" chronically recur?
In the remaining parts of this paper we present and discuss the
integrative dynamic model of software project management that has been,
developed.
We will provide an overview of both the model's structure and its
behavior followed by
presentation,
a
however,
discussion of the insights gained. We begin our
by first
presenting arguments for the utility of the
system dynamics modeling approach in the study of software project
management.
t
Ib!i_yiEH_CDMPLEXITY_gF_THE_SDFTWqRE_PRDJECT_MflN9^
Project management is often based on the simplistic "mental picture"
captured by the single-loop model shown in Figure
1
(Roberts,
1981).
The
model portrays how project work is accomplished through the utilization of
(1)
project resources (manpower,
accomplished on the project,
system.
forecast
it
facilities,
is reported
equipment),
(3)
fls
(2)
through some project control
Such reports cumulate and are processed to create the
cor.Tplet icr. tirr.E
remaining on the job.
work is
(A)
project's
by adding to the current date the indicated time
Assessing the job's remaining time involves figuring
out the magnitude of the effort
(e.g.,
be remaining to complete the project,
in man-days)
believed by management to
the level of manpower working on the
(c.)
SCHELULED COMPLETION
DATE
(1)
1
(6)
PEOPLE & OTHER
PROJECT RESOURCES
RESOURCE CHANGE &
ALLOCATION DECISION
t
WORK RATE
(2)
P^PORTED PROGPJISS
FORECAST COMPLETION
DATE
(3)
(A)
Figure (1)
A MODEL OF SOFTWARE PROJECT MANAGEMENT
.
and the perceived productivity of the project team.
project,
loop 15 completed
as the difference,
(closed)
scheduled completion date and the
adjustments
What
simple,
is
(6)
(A)
if any,
The feedback
between the
(5)
forecast completion date causes
in the magnitude or allocation of the project's resources.
attractive about the above model is that
and manageable.
But
is
it
it
is reasonable,
an adequate model of the dynamics of
software project management?
The software project management system is a far more complex conglomerate
of interdependant variables that are interrelated in various nonlinear
fashions.
By excluding vital aspects of the real software project
environment,
the above model could seriously misguide the unsuspecting
software manager. To see how,
decisions pondered in
a
let
us consider just a few of the many typical
software project environment.
8^^iD3_[22!Z§_E?2Ei§_t2_§_i§t§_BC2i?£i'
mental picture of Figure
"^^^
suggests a direct relationship between adding people resources
the rate of work on the project,
i.e.,
arid
1
increasing
the highnr the level of project
resources the higher the work rate. This ignores one vital aspect of software
' project
dynamics,
namely,
that adding more people often leads to higher
communication and training overheads on the project, which can in turn dilute
the project team's productivity.
Lower productivity trarislates into lower
progress rates, which can, therefore, delay the late project even further.
This,
in turn,
can trigger an additional round of workforce additions and
another pass around this "vicious cycle.
"
These dynamic forces create the
phenomenon often referred to as "Brooks' Law",
to a late software project makes
In Figure £a we,
therefore,
it
i.e.,
later (Brooks,
amend Figure
1
that adding more people
1978).
by incorporating the vital
link between the workforce level and productivity.
B^iyiliD3_tLl£_i£!:?^yl?_2f_»_t**?_E!:?i?Ei' finothtr p«rt of tht rt*l •yetam
that is ignored by Figure
1
concerns the impact of intangible project
SCHEDULED COMPLETION DATE
SCHEDULED COMPLETION DA'E
i
i
= ?00l£ & 0'"E9
PROJECT RESOURCES
RESOURCE CHANGE &
ALLOCATION OECiSiON
PEOPLE & OTHER
PROJECT resource:
RESOURCE CHANGE 8
ALLOCATION DECISION
A
PRODUCTIVITY
SCHEDULE
PRESSURE
-
/
PRODUCTIVITY
t
WORK RATE
FORECAST COMPLETION
.*DATE
WORK
FORECAST COMPLETION
-*DATE
PE'ORTEO PROGRESS
RATE
REPORTED PROGRE
(a)
\
SCHEDULEDCOMPLETiON DATE
,
SCHEDULEDCOMPLETiON DAT;
PEOPLE & OTHER
PPO.ECT RESOURCES
RESOURCE CHANGE &
ALLOCATION DECISION
A
i
RESOURCE CHANGE &
ALLOCATION DECISION
PEOPLE &OT"ER
PROJECT RESOURCES
'
TURNOVER
T
SCHEDULE
SC-iEDULE
-PRODUCTIVITY
PRESSURE
PRESSURE
A
WORK
RATE
REWORK
REWORK
PERCEIVED
^
REAL PROGRESS
PROGRESS
=
ORECAST COMPLETION
DATE
<-
REPORTED PROGRESS
FORECAST COMPLETION
DATE
^
"REPORTED PROGRESS
BIAS'DELAY
(0
id)
Ficure
(2 )
AMEND>!ENTS TO THE PROJECT MANAGEMENT MODEL
pressures (e.g.,
schedule pressures) on the software developers'
For example,
decisions.
actions and
when faced with schedule pressures that arise as a
software developers typically respond by
project falls behind schedule,
putting in longer hours and by concentrating more on the essential tasks of
the job (Ibrahim,
1978).
In one experiment,
Boehm (1981) found that the
devoted to project work increased by as much as
number of man-hours
100/'.
This additional link between schedule pressure and productivity is captured
in Figure 2b.
The impact of schedule pressures on software development
to the above relatively direct role.
visible roles. For example,
Schedule pressures
as Figure 2c suggests,
cari
is not
limited
also play less
schedule pressures can
increase the error rate of the project team and thus the amount of rework on
t
the project
[(Radice,
1982)
and
1983)].
(Mills,
People under time pressure don't work better, they just work faster ...
In the struggle to deliver any software at all, the first casuality has
been consideration of the quality of the software delivered (DeMarco,
1SB2).
The rework necessary to correct such software errors obviously diverts
the project team'
can have
Also,
a
effort from making progress on new project tasks,
s
and thus
significant negative impact on the project's progress rate.
consider the impact of schedule pressure on the workforce turnover
rate (Figure 2c).
There is evidence to suggest that workforce turnover
increases when scheduling pressures persist in an organization (Freedland,
1987).
This can be quite costly,
since
a
higher turnover rate translates into
lower productivity on the project.
EiniiiY:
bi2y_B§§iiY_U§t§_i§_a_Late_Software_Project ? Because software
remains largely intangible during most of the development process (Saber,
1982),
it
is often
the project.
difficult for project managers to assess real progress on
To the extent that the perceived progress rate differs from the
real progress rate,
an error
m
perceivec cumulative progress will gradually
accumulate (Figure 2d). Furthermore,
bias,
often in the form of overopt
and delay in gathering and processing control
imisrn,
information additionally
distorts the reported progress. This undoubtedly poses yet another
complication that is too real for the software project manager to exclude
from
a
model of the process.
'
e!^_Ib!Ii§BBII!^i_iYSTEM_DYN9MICS_PERSPECTIVE_DF_SgFTW9RE_DEVEL
The above discussion illustrates that there are
variables,
process.
both tangible and intangible,
Furthermore,
that
a
large number of
impact the software development
these variables are not independent,
one another in complex fashions.
Perhaps most importantly,
but are related to
understanding the
^iba^iSr o^ such systems is complex far beyond the capacity of human
intuition (Roberts,
fl
1S81).
major deficiency in much of the research to date on software project
management has been the inability to integrate our knowledge of the micro
components of the software development process such as scheduling,
productivity,
and staffing to derive implications about the behavior of the
total socio-technical system
(Thayer,
1979).
In the research effort
in this paper we build upon and extend what has been learnt
described
about the micro
components,
to construct a holistic model of the software development
process.
integrates the multiple functions of software development,
It
including both the management-type functions (e.g.,
staffing)
designing,
fi
planning,
as well as the software production-type activities
coding,
reviewing,
controlling,
(e.g.,
testing).
second unique feature of our modeling approach is the use of the
feedback principles of system dynamics to structure and clarify the complex
web of dynamically interacting variables. Feedback is the process in which
action taken by
thing.
a
ar\
person or thing will eventually affect that person or
Examples of such feedback systems in the software project environment
have alreaay been demonstrated in the above discussion and are evident in
Figures
1
and 2.
The significance and applicabilty of the feedback systems concept to
managerial systems has been substantiated by a large number of studies
(Roberts,
1981).
For example,
Weick (1979) observes that,
The cause-effect relationships that exist in organizations are dense and
often circular. Sometimes these causal circuits cancel the influences of
one variable on another, and sometimes they amplify the effects of one
variable on another. It is the network of causal relationships that
impose many of the controls in organizations and that stabilize or
disrupt the organization. It is the patterns of these causal links that
account for much of what happens in organizations. Though not directly
visible, these causal patterns account for more of what happens in
organizations than do some of the more visible elements such as
machinery, timeclocks, ...
One of the pioneering works in the field is Roberts'
doctoral dissertation,
which involved the development of
(1964)
a
published
comprehensive
system dynamics model of R&D project management. The model traces the full
lifecycle of
a
single
project,
RfiD
the R&D product, the firm,
atid
incorporates the interactions between
and the customer.
Roberts'
work spurred a large
number of system dynamics studies of project management phenomena. For
example.
Nay (1965)
and Kelly
on multi-project environments.
(1970)
extended Roberts'
work in their research
Richardson (1982) took a different tack,
focusing on the development group.
His model reproduces the dynamics of a
development group over an eight year period as
a
continuous stream of
products are developed and placed into production.
While the bulk of the system dynamics modeling work in the project
management area has been devoted to the R&D environment,
the applicability of
the methodology to the domain of software production has been alluded to in
the literature [e.g.,
(Snyder and Cox,
(Graham,
1985)].
1962),
(Lehman,
1978),
(Putnam,
1980),
Perhaps this should come as no surprise,
and
since "the
stages of research and development are similar in many respects to the stages
of software analysis and design (Gehring and Pooch,
1977).
In the remaining sections of this paper we demonstrate how the system
dynamics modeling technique was extended to the software project domain.
MQDEL_STRLICTLIRE_PND_BEH«VigR
Before describing the model and experiments performed,
there are several
points that are important to clarify. First, due to its length and complexity
only
a
paper.
portion of the entire model can be presented and explained in this
For more details the reader is referred to
(fibdel-Hamid and Madnick,
d;^narni_cs
of software projects;
the project,
Second,
1988)3.
that
[
(fibdel-Hamid,
198A)
the focus of this research is on the
aspects that change during the life of
is,
such as workforce level and productivity,
rather than aspects that
are decided once and usually remain constant throughout the project,
choice of programming language.
about what the model
is and
Third,
is not
relevant because this research,
is
it
necessary to have
intended to accomplish.
a
such as
perspective
This is particularly
as is most system dynamics work,
is primarily
intended to provide understanding of the dynamic behavior of a project
how variables like workforce-level and productivity change over time
'
rather than to provide goint^gred i_ct
and
i_on5
(e. g.
,
(e.-g.
arid
,'
why)
of the number of errors
generated).
The model was developed on the basis of field interviews of software
project managers in five organizations.
This was complemented by an extensive
database of empirical findings from the literature. Figure
model's four subsystems, namely:
(2)
(1)
depicts the
the Human Resource Management Subsystem;
the Software Production Subsystem;
the Planning Subsystem.
3
(3)
the Controlling Subsystem; and
(4)
The figure also illustrates some of the
intcrrclct icr.ships among the four subsystems.
iyi_yyMBN_5iSDyRCE_MflN0GEMENT_SyBSYSTEM
The Human Resource Management Subsystem,
shown in Figure
4,
captures the
Human
resource
management
WofK
force
avaiiacie
Work
force
neecaed
Software
proauction
SciTeduie
Planning
Controlling
tftcrt
V.
remaining
Figure
(3)
THE SYSTEM DYNAMICS MODEL'S FOUR SUBSYSTEMS
HIRING
tvEKACe
DtLAT
ASSIMILATION
HIREDY
o
AVERACC
EMPLOYMENT
OELAT
TIME
ASIMDY
AVEMPT
:UL
WFNEW
:^
HiRERT
i
HIRING
'
RATE
«>.
WFEXP
NEv.LV
HIRED
WORKFORCE
'
\,
z_
WORKFORCE
/iSlMRT
OUITRT
workforce
OUIT RATE
ASSimilAIIC^
RATE
NEWTRR
NEWLl" HIRED
TRANSFER HATE
EXPTRR
/
EKPERifNCEO
TRANSFER RATE
.V-^
-^
TRNSDY
TRANSFER
DELAT
TRNSDY
TRANSFER
DELAT
o
/
"^
^
Ficure
THE
r
ExPEPiE>KEO
HU>L\N'
WI-NLtU
WORKFORCE
LEVEL NEEDED
\
)
/
(A)
RESOURCE MANAGEMENT SUBSYSTEM
-o
"
i3
hiring,
training,
assimilation,
and transfer of the human resource.
The schematic converitions used in Figure
used in system dynamics models,
A
are the standard conventions
the quantities appearing in such models
fill
can be classified in two broad groups: constants, whose values cannot change
at all
in the course of a simulation,
whose values can. The
and variables,
symbol for a constant is shown below:
constant
\
\
Model variables are one of three types,
"auxiliary" variables,
fl
ieyel^
namely,
is an accumulation,
"level," "rate," and
or
ar\
integration,
time of flows or changes thkt come into and go out of the level.
increasing and decreasing
WORKFORCE" is
a
decreased by the
a
level are called rates.
level of people that
is
Thus,
over
The flows
"NEWLY HIRED
increased by the "HIRING RATE" and
"WORKFORCE flSSIMILflTION ROTE.
Rates and levels are represented as shown below:
SOURCE
*
LEVEL
-g
RATE
'^^^^
RATE
The cloud-like symbols represent sources and si^nks for the "stuff" that
flowc
ir.tc
and out of levels.
For example,
for a level of workforce these
cloudlike symbols represent where people come from when they are hired and
where they go after leaving the project.
Their presence indicate that the
real-world accumulations they represent lie outside the boundary of the
syEtern being modeled.
The flows that are controlled by the rates are either information flows
or physical
flows.
We will use the two types of arrow designators shown
below:
INFORMATION FLOWS
>
OTHER FLOWS
(e. g.
,
People)
Levels and rates are sufficient,
in a system dynamics model.
Usually,
in principle,
however,
it
is
to represent all variables
very difficult to write
rate equation without first doing some (often complex) algebraic
computations.
These additional algebraic computations are termed
"auxiliaries." Thus,
auxilikry variables, as their name implies,
aid in the
formulation of rate equations. For example, the "HIRING RATE" equals the
"WORKFORCE GAP"
(an
auxiliary which is equal to the difference between the
"WORKFORCE LEVEL NEEDED" and the current "TOTAL WORKFORCE") divided by the
"HIRING DELAY". Auxiliary variables are represented by
Finally,
a
circular symbol.
variables that are defined in sectors of the model other than
the one(s) diagrammed are represented by enclosing the variable name in
parentheses as shown,
bclcv-;.
VARIABLE
FROM
ANOTHER SECTOR
a
Returning to Figure
A,
notice that the project's total workforce is
comprised of two workforce levels, namely,
"Experienced Workforce,"
version. of the model,
(In the current
more finely divided into four,
not two,
"Newly Hired Uorkforce" and
levels.
workforce is
for this
However,
presentation the simpler structure of Figure 4 is quite sufficient to
demonstrate the basic ideas.) Segregating the workforce into these two
categories of employees is necessary for two reasons.
First,
newly added team
members are less productive (on the average) than the "old timers"
1980).
and Zawacki,
Secondly,
it
(Cougar
allows us to capture the training processes
involved in assimilating the new members into the project team.
On deciding upon the total workforce level desired,
consider
number of factor^.
a
One important factor,
project managers
of course,
is the
project's completion date. Os part of the planning subsystem (to be discussed
later),
management determines the workforce level that
necessary to complete the project on time.
'.
In addition,
is also given to the stability of the workforce.
project members,
Thus,
it
believes is
though,
consideration
before adding new
management contemplates the duration for which the new
members will be needed.
In general,
the relative weights given to workforce
stability versus on-time completion change with the stage of project
completion.
For example,
toward the end of the project there could be
considerable reluctance to bring in new people.
This reluctance arises from
the realization that there just wouldn't be enough time to acquaint the new
people with the mechanics of the project,
team,
ar.d
tram
thErr,
;r.
integrate them into the project
the necessary technical areas.-
Figure 5 demonstrates the workforce staffing pattern in an example model
output.
(NfiSR,
It
depicts the model's simulation of NASA's DE-0 software project
1963).
The project was conducted at the Gocdard Space Flight Center
—
p^
^
1/1
> >
>
>
r>«
u w u o u
O
O
OC
C
O *y
'-^
rsi
(1)
ESTIMATED SCHEDIUJ: IN
DAYS
^
^-f
C)
PERCEIVED PROJECT SIZE
IN KESl
c o o c
O
O—
o
^..
^
/
X
.
^
rs.
fN
-
ESTIMATED PROJECT COST
IN MAN-DAYS
^-.--"
(3>
(5)
WORKFORCE
^
ACTUAL FRACTION OF /
MA.N-DAY ON PROJECT^'
/
(PEOPLE)
V
.''
o ooo o
100
:oo
DESICN PHASE-
^
^
(^
300
•COOINC PHASE
DE-fi'
H
"Estimated Schedule in Days"
5 actual "Estimated Project Cost in Man-Days"
f ul 1-t itne-equi valent people)
s actual "Workforce"
DE-R' 5 actual
DE-ft'
380
(
MODEL SIMULfiTION OF THE
DE-fl
PROJECT
TL'iE
(DAYS)
I?
<GSFC)
to design,
implement,
and test
a
software system for processing
telemetry data and providirig attitude aet errninat ion and control for the
The project's size was £A, 000 delivered source instruction (£A
satellite.
KDSI),
DE-fl
the development and target operations machines were the IBM S/360-95
and the programming language was FORTRfiN»
and -75,
Initially,
the project was
estimated to require 1,100 man-days and to be completed in 320 working days.
The actual results were 2,200 man-days and 560 days,
respectively.
The model's results conformed quite accurately to the project's actual
behavior (represented by the
points in the figure).
Notice that the
project's workforce pattern differs from the "typical" pattern discussed in
the literature,
the concave type curve that rises,
i.e.,
peaks,
and then
drops back to lower levels as the project proceeds towards the system testing
phase (Boehm,
1981).
Because
NflSfi'
s
the completion of the DE-fi sbftware,
Specifically,
tolerated.
90 days before launch,
fls
launch of the DE-fl satellite was tied to
serious schedule slippages were not
all software was required to be accepted and frozen
this date was approached,
pressures developed that
overrode normal workforce stability considerations. That
is,
project
'.management became increasingly willing to "pay any price" necessary to avoid
overshooting the 90-day-bBf ore-launch date.
as the figure
into a management that was increasingly willing to add more
indicates,
people.
This translated,
[In
(flbdel-Hamid,
1986a)
we investigate whether such a staffing
policy did or did not contribute to the project's late completion.]
Id£_iQEiy85£_?RQDyCTION_SL!PSYSTEM
This subsystem models the software devel_o2rnent process.
maintenance phases of the -cftwarc lifecyclc arc,
thus,- not
The operation and
included.
development lifecycle phases incorporated include the designing,
testing phases.
excluded.
The
coding,
and
Notice that the initial recuirementi d»finltlon phaeg i§ al§a
There are two reasons for this.
The primary reason relates to the
desire to focus this study on the "eriOogerious" software develC'pmerit
orgariizat ion i.e.,
professionals,
the project mariagers and the software development
and how the2.r policies,
decisions,
actions,
etc.
affect the
success/failure of software development. The requirements definition phase
was,
thus,
excluded since in many enviroriment s the definition of user
requirements is not totally within the control of the software development
group (McGowan and McHenry,
1980).
Second,
"finalysis to determine
requirements is distinguished as an activity apart from software development.
Technically,
the product of analysis is non-procedural
functional)"
(McGowan and McHenry,
(i.e.,
the focus is
1980).
On overview of the Software Production Subsystem is shown in Figure
the software is developed,
is also reviewed to detect
it
detected during development,
however,
fis
any errors e.g.,
using quality assurance activities such as structured walkthroughs.
detected through such activities are reworked.
6.
Errors
Not all software errors &rB
some "escape" detection until the
testing phase.
One of the subsystem's more interesting components is that of software
V productivity,
'
which is expanded
m
Figure
7.
Its structure is based on the
work of the psychologist Ivan Steiner (1972). Sterner'
s
model can simply be
stated as follows:
Productivity
=
Potential Productivity
-
Losses Due to Faulty Process
where losses due to faulty process refer to a group's communication and
motivation losses.
EeitDtiii-ECQ^yEiiyitY: According to Steiner, Eotential_ productivity is
defined as "the maximum level of productivity that can occur when an
individual or group ...
a
.v.akes
the best possible use of its resources".
function of two sets of factors,
complexity,
the nature of the task
(e.g.,
database sire) and the group's resources (e.g.,
capabilities,
software tools).
It
product
personnel
The effects of such factors on software
is
D
c^
/
^
SOFTWARE DEVELOPMENT
PRODUCTIVITY
Q
/
/
^
SOFTWARE
DEVELOPMENT
RATE
ERROR
^
^
[>
SOFTWARE
DEVELOPED
GENERATIONt>|q
RATE
ERRORS THi\T
ERRORS
ESCAPED
(manpow^r^
ERRORS
ESCAPE
RATE
/'quality assuranc^
I
^
\
\
SOFTWARE
TESTING
[><r
~=*I>|C1
RJi.TE
ERRORS
DETECTION &
CORRECTION
RATE
EFFORT
]
\
\
ERRORS
DETECTION
^C>f3cORRECTI-
RATE
\
I
SOFTWARE TESTIN
PRODUCTIVITY
SOFTWARE
TESTED
ERRORS DETECTI
& CORRECTED
IN TEST'G PH-i.;
Fieure
(G)
IKE SOFTWARE PRODUCTION SUBSYSTEM
ERRORS DETECT!
& CORRECTED
IN DEV'T PH.'^SI
o
<
rr
2.1
proauct 1 VI t y have
beer:
(Scott and Simmons,
widely investigated in the literature [e.g.,
(Chrysler,
1374),
1?7B),
and
see
1981)].
(Boenm,
Notice that while most of the above factors do vary from organization to
organization (e.g., availability of software tools,
personnel capability) and
from project to project within a single organization (e.g.,
complexity,
product
database size) they, however, tend to remain constant throughout
the development lifecycle of any single project.
This means that in studying
the dynamics of software productivity during the lifecycle of a
Bil^t i^cul^ar
software project, which is our concern here, the above variables can be
assumed to remain constant.
In the model,
such factors are captured through
the model's nominal potential productivity parameters.
The "Overage Nominal Potential Productivity" for the workforce as a whole
is the weighted average of two nominal
potential productivity parameters,
to represent that of the average t>iE§!2iiDS^ staff member,
represents that of the average newiy tllH?^ employee.
one
and the second
They represent the
maximum level of software development productivity that can be attained for
specific project situation (i.e.,
''.
'
organization)
at
a
specific project within
by the respective employee type
a
specific
(whether experienced or new),
some point in the project.
The "Byt!2§S§ Nominal Potential Productivity" is not
a
constant,
it
changes dynamically throughout the lifecycle as the workforce experience mix
changes,
and as the workforce learns from working on the project
(Weinberg,
1982).
U2§5§5_5y§_t2_E§yii.ii_E'!Z2£§§iii' Actual
productivity rarely equals
potential productivity due to losses caused by communication and motivation
overheads.
The effects of
cor.i.'Municat
ion and motivation losses have a
multiplicative effect. Motivation factors first influence the fraction of
man-day devoted to project work.
matters,
coffee-breaks,
Since time is often lost on personal
and other miscellaneous non-project related
a
a-
this fracticin will usually have a value less than
activities,
Communication losses, then,
52li^§li2-lI^E§-U9§=ii'
1.
take further "cuts," as we explain below,
discern the dynamic effects of motivation
''"'-'
losses on productivity we need
to distinguish between those factors
(again)
that tend to remain constant during the life of any one particular project
and those that change throughout the lifecycle.
factors discussed in the literature (e.g.,
level of responsibility,
advancement,
Many of the motivational
possibility for growth and
and salary)
are factors that
characterize the overall organizational setting and climate.
In our
such non-dynamic factors are implicitly incorporated within the
formulation,
definition of the potential productivity parameters.
"Another motivation approach which is particularly appropriate to the
data processing area is goal setting"
(Bartol and Martin,
1982).
The authors
suggest that project goals And schedules play an important motivational role
throughout the life of
(1981),
a
software project. This was corroborated by Boehm
who found that schedule pressures and project deadlines can
significantly expand/contract the project members'
'.
"slack time" ...
the time lost on off-project activities such as coffee-breaks,
business,
which is
personal
non-project communication.
The "Nominal Fraction of a Man-Day on Project" represents the fraction of
daily hours allocated to project-related work in the
In designating a value for this parameter one
absence of schedule pressures.
can draw upon a large volume of research findings.
The findings are clustered
withm
the 50-705C range [e.g.,
50-60VC
1980),
S0%
findings,
(Thadhani,
50>;
and
igSA),
(Brooks,
70-/
(Boehm,
1978),
1981)].
(Pooch and Gehring,
On the basis of these
the value of "f^ominal Fractior. of a Man-Day on Project" is set
model to 0.60.
the average,
That
is,
only 0.5
X
in an
3 =
S-hour day,
A. 8
full-time employee allocates,
tf'.f
on
hours to the project.
This loss in productivity does not,
the life of the project.
a
in
of course,
remain constant throughout
Schedule pressures can push the "Bctual_ Fraction of
a
Man-Day on Projec:" to both higher values
well as to lower values
tunaer positive schedule pressure)
as
(under negative schedule pressure).
Positive schedule pressures
perceived to be behind schedule.
CB.r\
arise in
a
project whenever the project
When confronted with such
a
is
situation,
software developers tend to work harder by allocating more man-hours to the
project in an attempt to compensate for the perceived "delinquency" and bring
the project back on schedule [(DePree,
But what
19BA)
and
if such a situation persists ...
harder indefinitely^ The answer,
(Ibrahim,
1978)].
would workers be willing to work
based on common sense and confirmed by our
field study results was overwhelmingly no.
Our findings indicate that there are
limits for how long employees are willing to work at an above-normal rate.
Workers savor their slack time (e.g.,
personal business),
coffee breaks,
social communications,
and they typically will not tolerate a prolonged
deprivation of such "breathers."
fi
compressed slack time,
them (psychologically more so than physically)
therefore,
in the sense that
their tolerance level for continued over-working,
it
exhausts
cuts into
significant portion of
(fi
ttie
detailed productivity structure in the model is devoted to handling these
intangible dynamic forces.)
Negative schedule pressures,
rare)
occasions when
happens,
scope.
for example,
a
on the other hand,
project is perceived to be ahead of schedule.
This
when management initially over-estimates the project's
When project members perceive some excesses
not all,
arise on those (probably
of these excesses tend to get
goldplating and/or "undei— work"
m
the schedule,
parts,
if
"absorbed" by the workers in the form of
[(DeF'ree,
19BA)
and
(Ibrahim,
1976)].
For
example:
... if the software cost or schedule estimate for nesting a milestone is
higher than the ideal, Parkinson's Law indicates that people will use the
extra time for ... personal activities, catching up on the mail, etc
(Boenm,
1981).
ftnalogous to the case of positive schedule pressure,
there are limits on
how much "fat" employees would be willing, or allowed,
excesses are translated into cuts
limits,
t£iiii_P!:!t_i2-Q5[!!'i!!:!!!!i£§ti£Il_Q^§!l-§£^
a
Mari-Day on Project" captures the
factors only.
Additionally,
•
Beyond these
project's schedule.
in the
"^^^
to absorb.
value of the "Pctual Fraction of
losses in productivity due to motivational
losses in productivity due to communication
Communication overhead is the drop in productivity of
overhead may be incurred.
the average team member caused by the losses incurred in communicating
(verbally as well as non-verbal ly) with others on the project.
The nature of the relationship between communication overhead and team size
has been investigated by several authors.
It
is
widely held that commuriicat ion
2
overhead increases
[(Brooks,
1978),
iri
proportion to n
(Mills,
1376),
,
where
n
is the
(Scott and Simmons,
size of the team
1975),
(Shooman,
13B5),
and
f
(Zelkowitz,
1978)].
The dynamic behavior of* the "fiCTURL FRfiCTION OF
the DE-fl project is depicted in Figure
5.
fl
MON-DRY ON PROJECT" for
Notice the "spike" that occurs as the
end-of-development milestone is approached. To understarid the causes of this'
behavior,
started,
we need first to observe
(also in Figure 5)
its true size was underestimated by
Project Size" starts at
16 KDSI
"new" job tasks were discovered,
estimated man-days,
fls
is
35V-,
that wheri the project
(The value of "Perceived
and eventually rises to 24.4 KDSI.)
fls
the
upward adjustments were made in the project's
typically the case, however, the
man-day adjustments
were not quite enough. This created a deficit in the project's budget which
became visible only towards the end of the development phase when the
development work was almost finished and the man-days close to used
fls
the man-day deficit became visible,
harder and longer hours in
ar,
up.
the project team reacted by working
attempt to bring the project back on track.
translates in the model into the higher values of the "Actual Fraction of
Man-Day on Project." But as was explained above,
an above-normal work rate indefinitely.
This
a
project teams do not maintain
The persistence of the work backlog.
thus,
eventually overwhelms the workforce's intensified efforts,
and arourid day
300 arrangements were made to adjustment both the project's man-day estimate
and its schedule.
IHE_CgNTRDL_SUBSYSTEM
Decisions made in any organizational setting are based on what information
is actually available to the decision fnaker(s).
information is inaccurate.
actual or true state,
Often,
this available
Apparent conditions may be far removed from the
depending on the information flows that are being used
and the amount of time lag and distortion in these information flows
(Forrester,
1961).
True project progress is a good example of a project variable that is often
difficult to assess (see Figure 6).
Because software is basically an intangible
product during most of the Development process,
performance in programming
...
It
"It
is difficult
to measure
is difficult to evaluate the status of
intermediate work such as undebugged programs or design specification and'their
potential value to the complete project
How,
then,
is progress measured
"
(Mills,
19S3).
in a software project? Our own field study
findings corroborate those reported in the literature,
namely,
especially in the iarl_ier phases of software development,
that progress,
is measured by the
rate of expenditure of resources rather than by some count»of accomplishments
(DeMarco,
1582).
Baber (1982) explains:
It is essentially impossible for the programmers to estimate the fraction
of the program completed. What is A5^ of a program'' Worse yet, what is 455C
of three programs? How is he to guess whether a program is ^0% or 50%
complete'' The easiest way for the programmer to estimate such a figure is
to divide the amount of time actually spent on the task to date by the time
budgeted for that task. Only when the program is almost finished or when
th£ allocated time budget is almost used up will ne be able to recognize
that the calculated figure is wrong.
When progrest in ths earlier phassB of software development,
by the rate of expenditure of resources,
is measured
status reporting ends up being
t OF PROJECT
V
ESOURCES CONSUMEOr ^
^
1
CUMULATIVE TASKS
DEVELOPED
'
SOFTWARE
PRODUCTIVITY
HAN-DAYS
REMAINING
Flgyre_^e2
CONTROLLING iuBSYSTEM
^^
nothing more than an ecnc of the original plan.
One "infanious" consequence of
this IS the "30% syndrome phenomenon." Baber (138£)
pt-ovides the following
description of the problem:
... estimates of the fraction of the work completed (increase) as
originally planned until a level of about 80-90% is reached, the
programmer's individual estimates then increase only very slowly until
the task is actually completed.
There is ample evidence in the literature on the pervasiveness of the 90S
syndrome in software development projects (DeMarco,
is depicted
in the simulated DE-ft project
in the earlier phases of the project
13B£).
in Figure 9.
Its manifestation
By measuring progress
by the rate of expenditure of resources,
status reporting ended up being nothing more than an "illusion" that the
project was right on target.
stages (e.g., when
B0-'30'A
However,
as the project approached
of the resources are consumed),
its final
discrepancies
between the percent of tasks accomplished and the percent of resources
expended became increasingly more apparent,
fit
the same time,
project members
became increasingly able to perceive how productive the workforce has
actually been.
This results in a better appreciation of the amount of effort
actually remaining,
'
fls
this appreciation developed,
discount the project's progress rate.
Thus,
it
started to,
in effect,
although the project members
proceeded towards the final stages of the project at a high work rate because
of schedule pressures,
their net progress rate slowed down corisiderably.
This
continued until the project completed.
IHi_E!=9b!NING_£yPSYSTEM
In the Planning Subsystem,
time,
staffing,
(e.g.,
for completion
man-days) are made at the beginning of the project.
estimates are then revised,
example,
initial project estimates
to handle
a
as necessary,
These
throughout the project's life. For
project that is perceived to be behind schedule,
be revised to add more people,
extend the schedule,
Planning Subsystem is depicted in Figure
10.
plans can
or do a little of both.
The
/
, -
V
WORKFORCE
CEILING ON
-^ TCTiu
\
WORKFORCE
I
"
1 M4N-DAYS i
^ "a remaining
Y
'
TIME
PERCEIVED
LEVEL
STILL
r*^
.
\
-cL-
\
AVERAGE DAILY
MANPOWER
.\
PER STAFF
\.
AVERAGE
ASSIMILATION
DELAY
MAXIMUM TC.ERABlE
COMPLETION DAT'.
- -
-C TIME C>~
\
\
\
N
~>J
SCmEDulEO
COMPLETION
DATE
K /
J\/
RATE OF
ADJUSTING
V\
SChEDuuE
\
SCHEDULE
ADJUSTMENT
TIME
6
Figure_1101
PLANKIKG SUBSYSTEM
^-•
^,
REMAINING
Ely
dividing the value of "Man-Days Remaining"
by the "Time Rernaining"
a
any point
at
in the project,
manager can determine the "Indicated Workforce
Level." This represents the workforce size believed to be necessary and
sufficient to complete the project on time.
If this
indicated workforce size
turns out to be lower than the value of the actual workforce level on the
project,
excessive employees would simply be transferred out of the project
indicated by the TRANSFER ROTES of Figure A).
If on the other hand,
(as
the
opposite is true, then this would indicate a need to add more people.
Hiring decisions are not determined,
scheduling considerations.
the workforce.
For example,
project,
however,
solely on the basis of
Consideration is typically given to the stability of
Different organizations weigh this factor to various extents.
workforce stability had relatively little weight in
as we saw.
NftSfi'
s DE-fi
Such organizational differences are captured in the model
by the policy variable termed "Willingness to Change Workforce Level," and
whose form is organization-specific.
By dividing the value of the "Workforce Level Sought"
the above set of factors is contemplated)
'
(that emerges after-
into the value of the "Man-Days
Remaining," management determines the time
it
perceives is required to complete
the project.
it
can be used to adjust the
Once this,
in turn,
is known,
project's "Scheduled Completion Date," if necessary.
Referring back to Figure
5,
notice how project
DE-fl' s
management was
inclined not to adjust the project's scheduled completion date during most of
the development phase of the project.
project,
Adjustments,
in the earlier phases of the
were instead made to the project's workforce level.
not atypical.
It
arises,
according to DeMarco (19B2)
This behavior is
because of political
reasons:
Once an original estimate is made, it's all too tempting to pass up
•ubitQutnt opportunitiei to oitimtt* by simpls sticking with your previous
numbers. This often happens even when you know your old estimates are
suDstant ial ly off. There are a few different possible explanations for this
effect: It's too early to show slip ... If I re-estimate now, I risk having
to do it again later (and looking bad twice) ... fis you can see, all such
H
reasons are political in nature.
With this discussion of the model's Planriing Subsystem we conclude our
overview presentation of the model's structure and behavior.
MQDEL_VALIDQIION
The process of judging the validity of a system dynamics model includes a
number of objective tests (Richardson and Pugh,
~ E§£§_^3l,idi_ty.
1981)].
They include:
To test the fit between the rate/level/feedback structure
of the model and the essential characteristics of the real system.
This was
confirmed by the software project managers involved in the study.
~ 5iEiiE§tion_of_reference_modes.
reproduce the various reference behavior modes characterising
§!2^2SilJ9!:!§iy
the system under study.
patterns such as the
"90"/
To test whether the model can
Reference modes include problematic behavior
'
syndrome," and observed responses to past policies such as
DE-fl' 5
scheduling behavior, etc.
~ i>it!2i!I!§_EeD^iti2!2_§i[!]yi§ti2!li§'
To test whether the model behaves
reasonably under extreme conditions or extreme policies,
'
model that
fl
does not behave reasonably under extreme conditions (e.g., hiring delay
equals to zero)
is suspect,
because one may not be certain when aspects
of extreme conditions may crop up in o>'dinary runs.
~ Cisg-ity^Y'
The DE-fl project case-study which was conducted after the
model was completely developed,
validating model behavior.
(NflSfl
constituted an important element in
was not one of the five organizations
studied during model development.) The fact that the model was able to
replicate some unusual behavior e.g.,
in the staffing area,
in addition
to the more traditional workforce patterns observed in the five project
environments studied during the development of the model,
indicates its
robustness,
"finy
one of these test by itself is certainly inaaequate as an indicator
Taken together,
of moflel validity.
(Richardson and Pugh,
(however),
they are a formidable filter"
1381).
i]<EliOIMENTS_yNDERTftKEN_flNp_IMPLICflTigNS_OF_RESLILT5
"In software engineering it
is remarkably eaey to propose
remarkably difficult to test them" (Weiss,
1979).
argued for the desirability of having
thus,
a
ideas and hypotheses in software engineering
hypotheses and
Many in the field have,
laboratory tool for testing
(Thayer,
1979).
The computer simulation tools of system dynamics provide us with such an
experimentation vehicle. The effects of different assumptions and
environmental factors can be tested.
systems,
In the model
unlike the real
system,
the effect of changing one factor can be observed while all other
factors are held unchanged.
Internally,
the model provides complete control
of the system's organizat loVfal structure,
to various events
Currently,
(Forrester,
the model
its policies,
1961).
is being used to study and
implications of managerial policies and procedures
development process in
a
and its sensitivities
variety of areas.
predict the dynamic
or\
the software
Examples of experiments performed
and insights gained include:
In
(fibdel-Hamid and Madnick,
1986)
we investigated ways in which schedule
estimation techniques are evaluated. For example, consider the case of a
software project for which two software estimation techniques have been
proposed.
Technique
man-days.
The concern of top management was for accuracy of prediction.
decision ^as
.v.cde
ft
predicts 2,000 man-days, technique B predicts 3,000
to use technique
fi.
When the project was
man-days were actually needed (15S more than predicted).
decieion to use techniquB
was,
in fact,
fi,
is top
cor.-.pleted,
£300
In reviewing the
management correct to conclude that
the more accurate estimator?
The
it
.
The answer is "not necessarily." If the project had been initiated with
the 3,000 fnan-day estimate of technique
pressures,
hiring plans,
project.
B,
there would be
a
difference
in the
and perceptions that affect how people behave on the
The study results indicated that conducting the project with the
3,000 man-day estimate would have resulted
m
a
2,800 rnan-days (3% less than
predict ion)
The experimental results demonstrated how "a different schedule creates a
different project." That
is,
if a software project were conducted twice using
two different initial schedule estimations,
significantly different in nature (e.g.,
time,
workforce pattern,
necessarily judge
accurately
2.
a
the outcomes could be
in terms of the actual
completion
productivity). This also indicates that one
cari
not
new software estimation tool strictly on the basis of how
estimates historical projects.
it
Uncover i_ng_d^5functibnal__con5eguence5_of_5ome_cur
gol^ici_es^
In (flbdel-Hamid and Madnick,
practices in
'',
'
organization,
a
major U.S.
1986)
used.
In the particular
minicomputer manufacturer-.
software project managers use Boehm'
come up with intial project estimates,
a judgemental
we investigated the project scheduling
s
(1381)
COCDMO model to
which are then adjusted upwards using
"safety factor" to come up with the project estimates actually
The purpose of the experiment was to investigate the implications of
this safety factor policy.
Our results confirmed the value of the safety factor policy in improving
estimation accuracy.
One simulation showed that the estimation error which
would have been 33% had been reduced to S% by this policy. But,
the first experiraent,
this case,
as noted in
the different estimates created different projects.
the safety factor policy resulted in a
A3*/
cost
increase.
Thus,
this more accurate estimation technique results in more costly projects.
Which technique is "better"?
It
depends upon whether "better" means more
In
accurate or least costly. For the first
management had
tirne
a
realizatiori of
the "cost" of their more accurate schedule estimation policy.
(flbdel-Hamid,
In
ISSSb),
we investigated the cost effectiveness of
various levels of software quality assurance on total development costs.
Increasing the amount of quality assurance
(Qfl)
activities directly adds new
costs which are presumably more than compensated by
testing.
Is there an "optimal" amount of
Qft
a
reduction in rework and
for a project?
Effects considered in this experiment included error generation rate
factors,
such as schedule pressures and phase of project,
factors,
such as productivity,
error types,
and error detection
error density. The results showed
that even with the same initial man-day requirements estimation,
the percent
of the effort allocated to QO dramatically affects the actual man-days used
to complete the project.
In'one case studied,
the resulting total project
cost ranged from 3,770 man-days to 5,000 man-days with the optimal
allocation being
IS'A
Qfi
of the development effort.
This investigation was particularly important since
it
provides the first
capability to quantitatively analyze the costs and benefits of
beyond controlled experimentation,
Qfl
policies
which is usually very costly and too time
consuming to be practical.
^-
E!22yi^i!llS_D§i:i_iD§i9t!t§_i!Ili£_§£f tySH^.EHQJiSt-Elll^D^L^glli^-
One such phenomenon we examined in (fibdel-Hamid,
which states that adding manpower to
(Brooks,
1978).
Brooks'
a
igSSa)
is
"Brooks'
late software project makes it
Law has been widely cited in the liteT'ature,
Law,"
later
but how
widely applicable is it?
Cur object ivs in thiz, c;;pcr;m2i-,t w^s to investigate the applicability of
Brooks'
projects
law to the environment of med
(i.«.
,
i
ufii-si
zed application-type software
projects that are 15-100 KDSI in size).
results showed that while adding more people to
a
The expenr.^ental
late project of this type
)
does cause
later.
it
to become more costly,
does not always cause
it
The increase in the cost of the project
is caused
it
to complete
by the increased
training and communication overheads, which in effect decrease the average
productivity of the workforce and thus increase the project's cost in
man-days.
For the project's schedule to also suffer,
the drop in productivity
must be severe enough and late enough in the project's lifecycle to render an
additional person's net_cumul_ative contribution to the project to
effect,
a
be,
in
negative contribution. Our experimental results indicate that this
happens only where management's willingness to add new staff members persists
until the very final stages of the testing phase.
5.
Qther_EKgeri_ment5^
Some of the other experiments conducted investigated issues such as:
- the
portability of software estimation models (e.g., why do
many estimatibn models fail to retain their level of accuracy
when transported from the originating organization to another
organization?)
- the implications of staffing assignment
is it
alternatives (e.g.,
better to assign people full-time to a project or
part-t ime?
- the impact
phases (e.g.,
of different effort distributions among project
should the division of effort between development
and testing be 60:20 or 60:A0 percent?)
- the reasons for and implications of the differences between
E9t§Dti§i pt"oduct ivity,
actual_ productivity,
and Eercei_ved
product ivity.
-
the basis for the "30S syndrome"
phencr.ieciCi-.
(partially
explained in the Qont rol__5ubsYstern section of this paper).
CDNCLUSION
1
The objective of this research effort is to enhance our understand ing of
the software development process and how
it
To achieve this,
is managed.
we
adopted an integrative system dynamics view of the software development
process.
There are three principal features that characterise our research
paradigm, which we would like to reiterate in these concluding remarks.
First,
we emphasize the integrati^ve perspective. .We have attempted to
demonstrate how the software management system is
a
conglomerate of
interrelated and interdependent functions, fiction taken by one subsystem
(e.g.,
human resource management) can be traced throughout the entire
management system (e.g., software production,
Furthermore,
and control).
the behavior of an individual subsystem in isolation may be very
different from its behavior when
the lesson of Brooks'
Second,
planning,
it
interacts with other subsystems (e.g.,
Law).
our research approach is grounded in the feedback systems
principles of system dynamics.
Feedback processes are universal in social
systems in general,
and we attempted to show how,
project management,
they do provide a powerful
software project behavior.
It
is no wonder,
when applied to software
lens to view and understand
then,
that
"most (software) managers get into trouble because they forget to think
in circles. I mean this literally. Managerial problems persist because
managers continue to believe that there are such things as unilateral
causation, independent and dependent variables,
terminations" (Weick, 1979).
Si[!iyi§li2!l'i
^^^ third principal feature,
is an
origins,
and
effective tool to handle
the high complexity of such integrative feedback models.
Simulation's
particular advantage is its greater fidelity in modeling processes, making
possible both more complex models and models of more complex systems.
It
also allows for vicarious experimentation.
Controlled experiments in
(Myers,
the ^rea of software development tend to be costly and time coriSuming
1978).
Furthermore,
even when
it
can be afforded "...
the isolation of the
effect and the evaluation of the impact of any given practice within
a
large.
:
.
complex and
198c).
dyriarnic
project environment can be exceedingly difficult"
In addition to permitting
less costly and less
t
(Glass,
irne-consurning
simulation-type models make "perfectly" controlled
experimentation,
experimentation possible.
Finally,
a
we can indeed confirm that the very, process of constructing such
simulation model can be useful in several other ways (Schultz and Sullivan,
1972)
1.
vague generalizations crumble when put to the test
Confrontation
of modeling.
2.
Explication
assumptions must be made explicit,
precise in order to build
3.
4.
a
and
simulation model.
the tendency to a holistic approach in simulation
Expansion
forces
a
logical,
broadening of one's horiron,
a
looking into other relevant
fields for ideas,
hnd
Communication
problem-oriented simulation lead to jumpimg of
disciplinary boundaries,
'
less parochialism.
'
BIBLIOGROPHY
T. K.
"The Dynamics of Software Development Project
Management: On Integrative System Dynamics Perspective." Unpublished
Ph.D. dissertation, Sloan School of Management, MIT, January, 198A.
1.
ftbdel-Harnid,
2.
flbdel-Hamid,
3.
Rbdel-Hamid, T. K. "The Economics of Software Quality Assurance: ft
Simulation-Based Case Study." Accepted for publication in the MIS_
Quarterly, 1988b.
4.
Abdel-Hamid,
5.
Rbdel-Hamid, T. K. and Madnick, S. E. Sof tware_P::o ject _Manacement
Englewood Cliffs, New Jersey: Prentice-Hall, Inc., to be published
"The Dynamics of Software Project Staffing: ft System
Dynamics Based Simulation Approach." Accepted for publication in
I_EEE_Transact ion§_on_Software_Engineeri_nn, ISBBa.
T. K.
"Impact of Schedule Estimation
T. K, and Maanick, S. E.
Softv,are Project Behavior." IEEE_Bof twarc, (July, 19a£).
in 1988.
6.
Baber, R. L. Sof tware_Ref l_ect ed.
Company, 1932.
New York: North Holland Publishing
on
7.
V. R. "Improving Methodology and Productivity through Practical
Measurement." fi lecture at the Wang Institute of Graduate Studies,
Basili,
Mass.,
Lowell,
Nov.,
1982.
and Perkins, I.E. "ft Survey of Software Engineering Practice:
Tools, Methods, and Results. " IEEE_Transact i^ons_gn_Software_
(Sept., 1962).
i!:!ai!2§§!:iDe» ^°^- SE-9, No, 5,
e.
Beck,
9.
Boehm,
10.
Brooks,
L. L.
B. W. Software_Ensin?§!!iD3_iE9D9[Di^ii Englewood Cliffs, New Jersey:
Prentice-Hall, Inc., 1981.
F. P. Ihe_Mythical_Man_Month. Reading, Mass:
Publishing Co.
1978.
fiddi son-Wesley
,
11.
Buckley,
and Poston,
F.
R.
i2ft5§!I?_iDSi!I!§§!Zi!I!Si
12.
13.
"Software Quality Assurance." iEiE_Trans;
(January,
on
36-Al.
198A),
Chrysler, E. "Some Basic Determinants of Computer Programmer
Productivity." Commuracat ion5_of_the_9CM, Vol. £1, No. 6,
1978), 472-463.
(Jurie,
"Corporate Level Software Management." iiii_l!;ansaction5
J. D.
2D_S2ftware_Ensini§niD9) Vol. SE-4, No. 4, July, 1978.
Cooper,
;
14.
Cougar,
and Zawacki,
^^^ York:
J. D.
E§!2§2DD§i'
15.
DeMarco,
R.
M2ti^§ti!ll9_§D^_t!!§!l;§91!23_Q2l!]2ytg!2
ft,
John Wiley
&
Sons,
Control_l_i_ng_Software_Project5.
T.
Inc.,
1960.
New York: Yourdon Press,
Inc.,
1982.
*
16.
DePree, R. W. "The Long and Short of Schedules.
1964), 131-134.
17.
Forrester,
*
J. W.
I,!l!du5tri_al__Dynami_c5.
"
Cambridge,
Datamation,
*
(June 15,
Mass: The MIT Press,
1961.
16.
15,
19.
1967,
"What You Should Know fibout Programmers." Datamati_on,
pp. 91-102.
R. L.
"Software Development Information System." Journal__of
Freedland,
Ibrahim,
M.
iY§t§[!]§_t!!!i!2i9iQ]iDt)
20.
Jensen,
R. W.
N. J.
21.
:
and Tonies,
Prentice-Hall,
(Dec,
C. C.
1978),
34-39.
Software_Engi_neering.
Inc.,
March
Englewood Cliffs,
1979.
Kelly, T.J. "The Dynamics of R&D Project Management." Unpublished
M.S. Thesis, MIT, Sloan School of Management, Cambridge,
Massachusetts,
1970.
"Successful Development Strategies for Business Rpplicaticn
Systems." MIS_Ouarterly, Sept., 1983.
22.
McKeen,
23.
Mills,
24.
Musa,
J. D.
H. D.
Software_Producti_vity.
Canada: Little,
Brown
&
Co.,
J. D.
"Software Engineering: The Future of R Profession."
Software, January, 1965, 55-62.
1953.
I.EEE
.
25.
NfiSP.
"Software Development History for Dyriarnics Explorer (DE) fittitude
Ground Support System (flGSS)." GSFC Code 580, June, 19B3.
£6.
Nay,
"Choice and Allocation in Multiple Markets: A Research and
Development Systems Analysis." Unpublished M.S. Thesis, MIT, Dept.
of Electrical Engineering, Cambridge, Massachusetts, 1965.
£7.
Newport,
J.N.
John P. Jr.
13£-1A£.
"A Growing Gap in Software." Fortune,
April £8,
1986,
£8.
U. W. and Gehring, P.F. Jr. "Toward a Management Philosophy for
Software Development. " In 9d^§D£§§_iD_Q222yl§!2_B!!!23!2§'f[!]iDS_
M§D§3§!5?D1- Edited by T. A. Rullo. Philadelphia, PA: Heyden & Sons,
Pooch,
Inc.,
1980.
"Productivity Measures in Software." Ihg_i£onomi^c5_gf
lDf2!2[!]§t.i9D_Pl!9£§§§iDSi_QB§!!§ti9D§i P!!9SII§[!}[!!iD2i §Dd Soft war §_
Models. Volume II. Edited by R. Goldberg and H. Lorin. New york:
John Wiley & Sons, Inc., 1982.
£9.
Radice,
50.
Ramamoorthy, C. V. et al. "Software Engineering: Problems and
Perspectives." Qomguter, Oct., 1984.
31.
Richardson, G. P. and Pugh,
y9deiin§_with_Dynamo.
3£.
A.
Roberts,
E. B.
Harper
Roberts,
34.
Schein, E. H.
Cliffs,
Introduct i_on_to_Sy5tern_Dynami_cs
Mass: The MIT Press, 1981.
IhP_Dyn§m^cs_of_Re5earch_and_Deyel_ogment
Row,
196A.
.
New York:
\
,
Scott,
R. F.
Qr3§Dii§ti9D§i_E5y£!l!9i9QYN. J.
:
Prentice-Hall,
and Simmons,
B. D.
Technique." Datamation,
36.
III.
Cambridge,
(ed.). Manager ial__Aggl^ication5_gf_Sy5tem_Dynarini^C5.
E. B.
Cambridcje, Mass: The MIT Press, 1981.
35.
35.
&
G. L.
Shell,
R. L.
Inc.,
3rd edition.
Englewood
1980.
"Programmer Productivity and the Delphi
(May,
197A),
71-73.
"Work Measurement for Computer Programming Operations."
(Oct., 1972), 32-36.
Indu5tri_al__Engi_neeri_n9,
37.
38.
Shooman, M. L. Sof tware_Engi neer i_ng_-_De5i gnj
~
New York: McGraw-Hill, Inc., 1963.
Steiner,
I.D.
Groug_Proces5_and_Product
i_yity.
Re]^iabi_l_i_ty_and_Managernent
~
~
New York: Academic Press,
1972.
59.
Tausworthe,
Cliffs,
R. C.
N.J.
Standardi_2ed_Deyel_OBrnent_of_Cornguter_Software.
:
Prentice-Hall,
Inc.,
Englewood
1977.
R. H.
"Modeling a Software Engineering Project Managaeniant
System." Unpublished Ph.D. dissertation, University of California,
Santa Barbara, 1979.
'iC.
Thayer,
Al.
Thayer,
"Major Issues in Software Engineering Project
R. H. et al.
Management." iiii_l!!3nsact i_ori5_on_Software_Erici_nBe;2i!l'Si Vol. SE-7,
No.
A,
July,
1981.
A2.
Thomsett,
R.
E!§£Bi§_E!!I2i§2i_?!li!I!§9?t!!i!l!i"
^^"^
York:
Yourdon Press,
Inc.,
1980.
A3.
Weick, K. E. l!2e_5ocial^_Psychol.ogY_c.f _Organirat i^on. 2nd edition.
Mass: Aadison-Wesley Publishing Co., Inc., 1979.
A4.
Weinberg, G. M. yD^?!;5tandins_the_Profes5i_onal_Progr§mmer.
Brown & Co., Inc., 1982.
A5.
Weiss,
46.
Zelkowitz,
47.
Boston: Little,
D. M.
"Evaluating Software Development by Error finalysis.
2f_Sy5tems_and_Software, Vol. 1, 1979, 57-70.
M. V.
Surve;^5,
Zmud,
Reading,
"
Journal^
"Perspectives on Software Engineering." QoQlEylinS
Vol.
10,
No.
2,
(June,
1978).
"Management of Large Software Development Efforts."
Qy5!:t§!:i^i '^ol> ^> No. 2, June 1980, 45-56.
R. W.
MI^S
We aooreciate the contribution of each of the individuals in
t
the oraanizations providinq nersn^ctives and data to this research effort.
In
addition, ve thank Robert Zmud, Chris Kemerer, and the anonymous reviewers,
v/hose suggestions
have improved this article's ornanization and readability.
Work reported herein was suonorted, in part, by NASA research nrant
NAGW-448.
k5dh
102
Date Due
SEP-
15
B
MftY
061394
3
1
tgs"?
''MiZ'^
DEC 27 "^''^
'
\1
noy 22
991
Lib-26-
3 -.06
J'*'*'^"ffill
^^3 5ls
Download