The Mythical Man-Month, 20th Anniversary Edition
by Frederick P. Brooks, Jr.
Some books are like an annuity,
for both reader and author: they keep paying dividends,
year after year.
That certainly is the case with The Mythical
Man-Month,
though I didn't really appreciate it fully until
I got a call from Professor Brooks in 1994.
The reason he was calling, he said, was that his
publisher had asked him to update his book, which
had first been
published in 1975. I expressed a wee bit of jealous
envy at the news, for my publisher has certainly
never called me about updating a book approaching
its 20th
anniversary. Indeed, I even expressed the opinion
that such ancient books would be considered irrelevant
by
the current generation of software engineers, and
thus wouldn't be selling any copies. "Oh, no," replied
Professor Brooks. "The Mythical Man-Month has
been selling a steady 10,000 copies a year, all along."
More jealousy, more envy, and a sudden realization
that what we have here really is like an annuity.
I'm happy to report that I've re-read the 1975 edition
at least four times since its publication, and after
Brooks' call, I took it down from the shelf and read
it again. But this time, it was for a particular
purpose: the real reason for his call, Professor Brooks
had
told me, was to find out if anything significant
had happened in the computer field since the book had
been
published in 1975.
I must have sounded rather baffled by such a question,
and Brooks went on to tell me that he had basically "dropped
out" of the software engineering community,
and had devoted most of his professional energies
to teaching
and research in the field of virtual reality. So,
in preparation for a re-publication of his book,
he wanted
to know: what has changed, and what hasn't? Which
of the premises in the original book turned out to
be
right, which ones were wrong, and which ones were
irrelevant?
Of course, I wasn't the only person he contacted
for this kind of information; several of my colleagues,
and numerous gurus, authors, consultants, and "movers
and shakers" in the industry were asked to respond
to this question ... which we all did, quite happily.
And, as you might expect, our inputs were processed,
analyzed, filtered, and synthesized by Professor
Brooks into a marvelous new edition that is truly
a national
treasure.
The original material is still there, but now there
are four additional chapters, which reflect Professors
Brooks' reflection on his original ideas and his
reactions to the feedback he received from several
of us. The
first of the new chapters consists of a cogent condensation
of the main themes in the original book, including
what may well be regarded as its central argument:
that large programming projects suffer management
problems that are qualitatively different than small
ones because
of the division of labor; that the conceptual integrity
of the software product is thus critical; and that
it is difficult but possible to achieve this conceptual
integrity. The second chapter summarizes Brooks'
view of these themes a generation later, and the
third chapter
is a reprint of his classic 1986 paper, "No Silver
Bullet," which first appeared in IEEE Software.
The last of the new chapters is a reflection on Brooks'
1986 assertion that "there will be no silver
bullet within ten years."
Young software engineers, penurious graduate students,
and lazy software veterans often ask me to identify
the best software book of all time. "If I were
stuck on a desert island with only one computer book," they
ask, "which one should it be?" It's a ridiculous
question, but people insist on an answer. If indeed
you should be banished to such an island (or if you
decide to disappear to such a place in order to escape
the dreaded Year-2000 software collapse!), The
Mythical Man-Month is the book to take with you.