Abstract: Large programming projects suffer management problems different in kind from small ones, due to the division of labor. The essays in this book explore the critical need for conceptual integrity, and the methods for achieving it. Revised Edition includes four additional chapters.
Keywords: book review, software, management, software project management, engineering, large-scale project management.
|
Title: The Mythical Man Month: Essays on Software Engineering
Author: Frederick P. Brooks.Jr
Publisher: Addison-Wesley
Date Published: April 1995
ISBN: 0201835959
LOCN: QA76.758.B75 1995
Dewey: 005.1/068 20
Pages: 322
Bibliography: 77 (first edition)
Figures: 22 (first edition)
|
Click below to buy the book
[Book price/availability varies]
|
I met this book shortly after its first publication, while I was a graduate
student in chemistry who had just recently mastered the art of programming
a Texas Instruments TI-59 calculator. I realized the limitations of the
hand-held calculator when I managed to program some chemical analyses which
required days of dedicated calculator-time to complete. At that point,
I asked for an IBM-360 mainframe account and taught myself programming.
Several thousand lines of Fortran-G later, I was ready for bigger and better
things, and found The Mythical Man Month in the university bookstore.
Perhaps it is too melodramatic to say that The Mythical Man Month
changed my life, so suffice it to say that after reading the book, I went
on to get a job programming a PDP-11 for Knoxville Utility Board. After
I got my degree in chemistry, I changed my career to software engineering
and never looked back. Now almost twenty years later, after three years
as Assistant Professor of Computer Science specializing in software
engineering and a decade in private industry, this book still has a
special place in my heart.
With the melodrama now dispatched, let me say that I wholeheartedly
recommend this book for any manager of a software engineering project,
and especially for anyone involved in a Year-2000 project.
A few more comments follow, arranged by chapter.
Chapter 1: The Tar Pit
Programming in-the-large seems to be like the tar pits that entrapped the
prehistoric creatures such as the giant sloth, whose bones today grace
the science library at the University of Georgia. Brooks writes:
Large-system programming has over the past decade been such a tar-pit,
and many great and powerful beasts [including the IBM 360 project team]
have thrashed violently in it. Most have emerged with running systems --
few have met goals, schedules, and budgets .... No one thing seems to
cause the difficulty -- any particular paw can be pulled away. But the
accumulation of simultaneous and interacting factors brings slower and
slower motion.
Chapter 2: The Mythical Man-Month
Develops the justification for "Brooks's Law"
Adding manpower to a late software project makes it later
Chapter 3: The Surgical Team
Following the lead of Harlan Mills, Brooks constructs an analogy between
the roles necessary for a successful software engineering project, and the
roles necessary for a surgical team.
For many years, I have related best to the roles of "toolsmith"
and "tester."
Chapter 4: Aristocracy, Democracy, and System Design
In 1972 I was privileged to tour France as part of a joint expedition of
the French and Religion departments of my college. Although I was there
as a student of French, visits to many a Cathedral were on the itinerary
due to the influence of the religion department. Brooks manages to make
my experience relevant to software engineering:
Most European cathedrals show differences in plan or architectural style
between parts built in different generations by different builders.
The later builders were tempted to "improve" upon the designs
of the earlier ones, to reflect the changes in fashion and differences in
individual taste ... and the result proclaims the pridefulness of the builders
as much as the glory of God.
Brooks goes on to relate this observation to the need for conceptual
integrity in the design of a software system, and makes observations
on how this can be achieved.
Chapter 5: The Second System Effect
Beware the software engineer who has just completed his first successful
system -- his next project runs the risk of dying of "featuritis".
Chapter 6: Passing the Word
Say what you mean and mean what you say -- on the necessity of making the
documentation match the implementation.
Chapter 7: Why Did the Tower of Babel Fail?
Using additional analogies, Brooks points out that "The job least
well done by project managers is to utilize the technical genius who is not
strong on management talent." He then proceeds to illustrate his
point with an example of how to do it right, taken from the fictional
account of Heinlein's The Man Who Sold the Moon.
Chapter 8: Calling the Shot
Discusses program metrics and project estimation.
Chapter 9: Ten Pounds in a Five-Pound Sack
On allocating scarce machine resources, and the importance of choosing a
good problem representation.
Chapter 10: The Documentary Hypothesis
"Amid a wash of paper, a small number of documents become the critical
pivots around which every project's management revolves. These are the
manager's chief personal tools."
Chapter 11: Plan to Throw One Away
You will anyway. This chapter is aptly introduced by a photo of the
collapse of the Tacoma Narrows Bridge in 1940.
Chapter 12: Sharp Tools
Although a true craftsman can fashion wonders using only humble tools,
their best work is done with the best possible tools.
Chapter 13: The Whole and the Parts
On designing bugs out of the system, and on removing the inevitable bugs
that persist.
Chapter 14: Hatching a Catastrophe
On project scheduling and slips.
Chapter 15: The Other Face
An argument for self-documenting code.
Chapter 16: No Silver Bullet
This chapter, which was first published in IEEE Computer,
[April, 1987]
after the first edition of The Mythical Man Month, is included
in the revised edition. It argues that CASE tools are useful adjuncts
to software engineering, but are not a panacea.
Epilogue
I will give Frederick P. Brooks, Jr. the last word:
The tar pit of software engineering will continue to be sticky for a long
time to come. Once can expect the human race to continue attempting
systems just within or just beyond our reach; and software systems are
perhaps the most intricate and complex of man's handiworks. The management
of this complex craft will demand our best use of new languages and systems,
our best adaptation of proven engineering management methods, liberal doses
of common sense, and a God-given humility to recognize our fallibility and
limitations.
CONTENTS
The contents of the first edition follow. The latest edition is not yet in hand.
Chapter 1: The Tar Pit
Chapter 2: The Mythical Man-Month
Chapter 3: The Surgical Team
Chapter 4: Aristocracy, Democracy, and System Design
Chapter 5: The Second System Effect
Chapter 6: Passing the Word
Chapter 7: Why Did the Tower of Babel Fail?
Chapter 8: Calling the Shot
Chapter 9: Ten Pounds in a Five-Pound Sack
Chapter 10: The Documentary Hypothesis
Chapter 11: Plan to Throw One Away
Chapter 12: Sharp Tools
Chapter 13: The Whole and the Parts
Chapter 14: Hatching a Catastrophe
Chapter 15: The Other Face
Chapter 16: No Silver Bullet [Second Edition]
Epilogue
LIBRARY OF CONGRESS DATA
Author: Brooks, Frederick P. (Frederick Phillips)
Title: The mythical man-month : essays on software
engineering / Frederick P. Brooks, Jr.
Edition: Anniversary ed.
Published: Reading, Mass. : Addison-Wesley Pub. Co., 1995.
Description: xiii, 322 p. : ill. ; 24 cm.
LC Call No.: QA76.758.B75 1995
Dewey No.: 005.1/068 20
ISBN: 0201835959
Notes: Anniversary ed. has four new chapters.
Includes bibliographical references (p. 293-308)
and index.
Subjects: Software engineering.
Control No.: 94036653
Copyright © 1998
Orville R. Weyrich, Jr.