Professional Documents
Culture Documents
Mythical Man Month
Mythical Man Month
Good cooking
takes time. If
and
to please
to wait,
it is to
you.
13
14
More software
than for
so
all
projects
Why
is
common?
First,
i.e.,
that
all
will
is
More
quite un-
go well.
are
interchangeable.
Third, because
we
when
schedule slippage
is
traditional) response
gasoline, this
quires
ends in disaster.
more
detail.
Optimism
this modern sorcery espehappy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all
but those who habitually focus on the end goal. Perhaps it is
merely that computers are young, programmers are younger, and
the young are always optimists. But however the selection process
All
cially attracts
those
found the
So the
is
who
believe in
last
first false
systems programming
is
"ought"
it
it
bug."
that all will ^o well,
to take.
i.e.,
optimism
15
Mind
The
of the
book, then,
human
human makers of
and inconsistencies of our ideas
become
Thus
it is
that writing,
In
able.
Lumber
splits;
the
medium
may
difficulties in the
implementation.
implementation
way
difficulties; for
''ours'' in
the
Computer programming, however, creates with an exceedtractable medium. The programmer builds from pure
ingly
Because the
medium
is
tractable,
we
we have
probabilistic effect
assumption that
on the schedule.
It
all
is
unjustified.
will
go well has a
16
for there
is
gramming
effort,
finite probability.
many
however, consists of
A large pro-
some chained
go well becomes vantasks,
ishingly small.
The Man-Month
The second
mode
fallacious thought
is
man-month. Cost
men and the
implies that
is
as a unit
It
are interchangeable.
among them
cotton;
it is
(Fig. 2.1).
This
is
with no communica-
true of reaping
wheat or picking
Men
Fig. 2.1
of workers
The Man-Month
17
When a
straints, the
The bearing
are assigned.
Many
no matter
_L
Men
Fig. 2.2
of workers
unpartitionable task
tion
among
added
to the
can be done
months
is
(Fig. 2.3).
18
Men
Fig. 2.3
of workers
communication
of communication
is
made up
of
two
parts,
in
the technology, the goals of the effort, the overall strategy, and the
Intercommunication
is
worse.
If
number
of workers.^
much pairwise
intercommunication as two; four require six times as much as two.
If, moreover, there need to be conferences among three, four, etc.,
n(n-l)/2. Three workers require three times as
original
Systems Test
19
c
o
Men
Fig. 2.4
of workers
interrela-
tionships
and
it
is
complex interrelationships
communication
an
effort is
men
then lengthens,
Systems Test
No
by sequential
component debugging and system test. Furthermore, the time required depends on the number and subtlety of
parts of the schedule are so thoroughly affected
constraints as
Because of optimism,
we
usually
20
smaller than
it
is
usually the
thumb
rule of
Vs
planning
Ve
coding
Va
component
Va
system
test
test, all
ways:
The
1.
is
Even
cation,
barely enough to produce a detailed and solid specifiand not enough to include research or exploration of
totally
new
so,
it is
2.
The
3.
The
techniques.
code
is
much
debugging of completed
part that
is
easy to estimate,
i.e.,
coding,
given only
is
that
system
testing.^
Failure to allow
enough time
for
system
schedule, no one
delivery date.
to
is
test, in particular, is
comes
at the
Bad news,
late
end of the
is
unsettling
cial,
maximum. More
The
project
is
fully
staffed,
and cost-per-day
ware
is
operation of
new
is
facilities, etc.)
it is
may
far outweigh
enough system
all
test
others.
21
It is
time in the
original schedule.
Gutless Estimating
Observe that
the patron
it
for the
may govern
An
omelette, promised in
and so on. The whole profession can only profit from sharing
such data.
Until estimating
will
need to
is
on
stiffen their
sounder
basis, individual
managers
their estimates
with the assurance that their poor hunches are better than wishderived estimates.
What
does one do
schedule?
gest, this
22
to three
men
for four
Now
suppose the
month
first
is
estimated at 12
which
are scheduled to
(Fig. 2,5).
milepost
(Fig. 2.6).
What
is
the manager?
1.
Assume
the
assigned.
2.
Assume
Then 18 man-months
will
be needed.
3 assigned.
Months
Figure 2.5
of effort remain,
Add
men
to the
^'-
__
r-
"
f.^
"
1
month delay
man/months remain)
(9
m/m
remain
Months
Figure 2.6
(18
Months
Figure 2.7
23
24
3.
Reschedule.
given by
enough time
in the
new
P. Fagg,
slips/'
an experienced
That is, allow
4.
is
carefully, to reschedule, or to
it
formally and
silently
testing.
first
original estimate.
lost,
So at the end of the third month, substantially more than 7 manmonths of effort remain, and 5 trained people and one month are
available. As Fig. 2.8 suggests, the product is just as late as if no
one had been added (Fig. 2.6).
To hope to get done in four months, considering only training
time and not repartitioning and extra systems test, would require
adding 4 men, not 2, at the end of the second month. To cover
repartitioning and system test effects, one would have to add still
other men. Now, however, one has at least a 7-man team, not a
3-man one; thus such aspects as team organization and task division are different in kind, not merely in degree.
The March
month
been reached
in spite of all
25
Training
complete
2
5 programmers
for 7+ m/m
Months
Figure 2.8
wants
to
add 6 men
training, repartitioning,
system testing
Without
Adding manpower
number
of
men, unaugmented.
Oversimplifying outrageously,
This then
an exercise
effects is left as
is
to
late
we
state Brooks's
months of
a project
depends upon
Law:
it later.
man-month. The
its
sequential con-
26
of independent subtasks.
product obsolescence.)
ules using
all
projects
other causes