The classic book on the human elements of software engineering. Software tools and development environments may have changed in the 21 years since the first edition of this book, but the peculiarly nonlinear economies of scale in collaborative work and the nature of individuals and groups has not changed an epsilon. If you write code or depend upon those who do, get this book as soon as possible -- from Amazon.com Books, your library, or anyone else. You (and/or your colleagues) will be forever grateful. Very Highest Recommendation.
From Book News, Inc.
The 20th anniversary edition of this classic collection of essays on software engineering and managing complex projects includes revised material, and new chapters condensing the author's original propositions and his views 20 years later, plus a reprint of his 1986 paper "No Silver Bullet," and his recent comments on that essay. Brooks' central argument is that large programming projects suffer different management problems from small ones due to the division of labor, and that conceptual integrity of the product is critical. Annotation copyright Book News, Inc. Portland, Or.
Book Info
Anniversary edition includes four new chapters. Author offers insight for anyone managing complex projects in software engineering. Paper. DLC: Software engineering.
From the Inside Flap
To my surprise and delight, The Mythical Man-Month continues to be popular after twenty years. Over 250,000 copies are in print. People often ask which of the opinions and recommendations set forth in 1975 I still hold, and which have changed, and how. Whereas I have from time to time addressed that question in lectures, I have long wanted to essay it in writing. Peter Gordon, now a Publishing Partner at Addison-Wesley, has been working with me patiently and helpfully since 1980. He proposed that we prepare an Anniversary Edition. We decided not to revise the original, but to reprint it untouched (except for trivial corrections) and to augment it with more current thoughts. Chapter 16 reprints "No Silver Bullet: Essence and Accidents of Software Engineering," a 1986 IFIPS paper that grew out of my experience chairing a Defense Science Board study on military software. My co-authors of that study, and our executive secretary, Robert L. Patrick, were invaluable in bringing me back into touch with real-world large software projects. The paper was reprinted in 1987 in the IEEE Computer magazine, which gave it wide circulation. "No Silver Bullet" proved provocative. It predicted that a decade would not see any programming technique which would by itself bring an order-of-magnitude improvement in software productivity. The decade has a year to run; my prediction seems safe. "NSB" has stimulated more and more spirited discussion in the literature than has The Mythical Man-Month. Chapter 17, therefore, comments on some of the published critique and updates the opinions set forth in 1986. In preparing my retrospective and update of The Mythical Man-Month, I was struck by how few of the propositions asserted in it have been critiqued, proven, or disproven by ongoing software engineering research and experience. It proved useful to me now to catalog those propositions in raw form, stripped of supporting arguments and data. In hopes that these bald statements will invite arguments and facts to prove, disprove, update, or refine those propositions, I have included this outline as Chapter 18. Chapter 19 is the updating essay itself. The reader should be warned that the new opinions are not nearly so well informed by experience in the trenches as the original book was. I have been at work in a university, not industry, and on small-scale projects, not large ones. Since 1986, I have only taught software engineering, not done research in it at all. My research has rather been on virtual reality and its applications. In preparing this retrospective, I have sought the current views of friends who are indeed at work in software engineering. For a wonderful willingness to share views, to comment thoughtfully on drafts, and to re-educate me, I am indebted to Barry Boehm, Ken Brooks, Dick Case, James Coggins, Tom DeMarco, Jim McCarthy, David Parnas, Earl Wheeler, and Edward Yourdon. Fay Ward has superbly handled the technical production of the new chapters. I thank Gordon Bell, Bruce Buchanan, Rick Hayes-Roth, my colleagues on the Defense Science Board Task Force on Military Software, and, most especially, David Parnas for their insights and stimulating ideas for, and Rebekah Bierly for technical production of, the paper printed here as Chapter 16. Analyzing the software problem into the categories of essence and accident was inspired by Nancy Greenwood Brooks, who used such analysis in a paper on Suzuki violin pedagogy. Addison-Wesley's house custom did not permit me to acknowledge in the 1975 Preface the key roles played by their staff. Two persons' contributions should be especially cited: Norman Stanton, then Executive Editor, and Herbert Boes, then Art Director. Boes developed the elegant style, which one reviewer especially cited: "wide margins, and imaginative use of typeface and layout." More important, he also made the crucial recommendation that every chapter have an opening picture. (I had only the Tar Pit and Rheims Cathedral at the time.) Finding the pictures occasioned an extra year's work for me, but I am eternally grateful for the counsel. Deo soli gloria or Soli Deo Gloria -- To God alone be the glory. Chapel Hill, N.C., F.0201835959P04062001
From the Back Cover
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."
0201835959B04262002
About the Author
Frederick P. Brooks, Jr., was born in 1931 in Durham, NC. He received an A.B. summa cum laude in physics from Duke and a Ph.D. in computer science from Harvard, under Howard Aiken, the inventor of the early Harvard computers. At Chapel Hill, Dr. Brooks founded the Department of Computer Science and chaired it from 1964 through 1984. He has served on the National Science Board and the Defense Science Board. His current teaching and research is in computer architecture, molecular graphics, and virtual environments. He joined IBM, working in Poughkeepsie and Yorktown, NY, 1956-1965. He is best known as the "father of the IBM System/360", having served as project manager for its development and later as manager of the Operating System/360 software project during its design phase. For this work he, Bob Evans, and Erick Block were awarded and received a National Medal of Technology in 1985. Dr. Brooks and Dura Sweeney in 1957 patented a Stretch interrupt system for the IBM Stretch computer that introduced most features of today's interrupt systems. He coined the term computer architecture . His System/360 team first achieved strict compatibility, upward and downward, in a computer family. His early concern for word processing led to his selection of the 8-bit byte and the lowercase alphabet for the System/360, engineering of many new 8-bit input/output devices, and providing a character-string datatype in PL/I. In 1964 he founded the Computer Science Department at the University of North Carolina at Chapel Hill and chaired it for 20 years. Currently, he is Kenan Professor of Computer Science. His principal research is in real-time, three-dimensional, computer graphics-"virtual reality." His research has helped biochemists solve the structure of complex molecules and enabled architects to "walk through" buildings still being designed. He is pioneering the use of force display to supplement visual graphics. Brooks distilled the successes and failures of the development of Operating System/360 in The Mythical Man-Month: Essays in Software Engineering, (1975). He further examined software engineering in his well-known 1986 paper, "No Silver Bullet." He is just completing a two-volume research monograph, Computer Architecture, with Professor Gerrit Blaauw. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice within The Mythical Man-Month, Anniversary Edition. Brooks has served on the National Science Board and the Defense Science Board. He is a member of the National Academy of Engineering and the American Academy of Arts and Sciences. He has received the the IEEE John von Neumann Medal, the IEEE Computer Society's McDowell and Computer Pioneer Awards, the ACM Allen Newell and Distinguished Service Awards, the AFIPS Harry Goode Award, and an honorary Doctor of Technical Science from ETH-Zürich.
0201835959AB04062001
Excerpt. © Reprinted by permission. All rights reserved.
To my surprise and delight, The Mythical Man-Month continues to be popular after twenty years. Over 250,000 copies are in print. People often ask which of the opinions and recommendations set forth in 1975 I still hold, and which have changed, and how. Whereas I have from time to time addressed that question in lectures, I have long wanted to essay it in writing. Peter Gordon, now a Publishing Partner at Addison-Wesley, has been working with me patiently and helpfully since 1980. He proposed that we prepare an Anniversary Edition. We decided not to revise the original, but to reprint it untouched (except for trivial corrections) and to augment it with more current thoughts. Chapter 16 reprints "No Silver Bullet: Essence and Accidents of Software Engineering," a 1986 IFIPS paper that grew out of my experience chairing a Defense Science Board study on military software. My co-authors of that study, and our executive secretary, Robert L. Patrick, were invaluable in bringing me back into touch with real-world large software projects. The paper was reprinted in 1987 in the IEEE Computer magazine, which gave it wide circulation. "No Silver Bullet" proved provocative. It predicted that a decade would not see any programming technique which would by itself bring an order-of-magnitude improvement in software productivity. The decade has a year to run; my prediction seems safe. "NSB" has stimulated more and more spirited discussion in the literature than has The Mythical Man-Month. Chapter 17, therefore, comments on some of the published critique and updates the opinions set forth in 1986. In preparing my retrospective and update of The Mythical Man-Month, I was struck by how few of the propositions asserted in it have been critiqued, proven, or disproven by ongoing software engineering research and experience. It proved useful to me now to catalog those propositions in raw form, stripped of supporting arguments and data. In hopes that these bald statements will invite arguments and facts to prove, disprove, update, or refine those propositions, I have included this outline as Chapter 18. Chapter 19 is the updating essay itself. The reader should be warned that the new opinions are not nearly so well informed by experience in the trenches as the original book was. I have been at work in a university, not industry, and on small-scale projects, not large ones. Since 1986, I have only taught software engineering, not done research in it at all. My research has rather been on virtual reality and its applications. In preparing this retrospective, I have sought the current views of friends who are indeed at work in software engineering. For a wonderful willingness to share views, to comment thoughtfully on drafts, and to re-educate me, I am indebted to Barry Boehm, Ken Brooks, Dick Case, James Coggins, Tom DeMarco, Jim McCarthy, David Parnas, Earl Wheeler, and Edward Yourdon. Fay Ward has superbly handled the technical production of the new chapters. I thank Gordon Bell, Bruce Buchanan, Rick Hayes-Roth, my colleagues on the Defense Science Board Task Force on Military Software, and, most especially, David Parnas for their insights and stimulating ideas for, and Rebekah Bierly for technical production of, the paper printed here as Chapter 16. Analyzing the software problem into the categories of essence and accident was inspired by Nancy Greenwood Brooks, who used such analysis in a paper on Suzuki violin pedagogy. Addison-Wesley's house custom did not permit me to acknowledge in the 1975 Preface the key roles played by their staff. Two persons' contributions should be especially cited: Norman Stanton, then Executive Editor, and Herbert Boes, then Art Director. Boes developed the elegant style, which one reviewer especially cited: "wide margins, and imaginative use of typeface and layout." More important, he also made the crucial recommendation that every chapter have an opening picture. (I had only the Tar Pit and Rheims Cathedral at the time.) Finding the pictures occasioned an extra year's work for me, but I am eternally grateful for the counsel. Deo soli gloria or Soli Deo Gloria -- To God alone be the glory. Chapel Hill, N.C., F.
0201835959P04062001
The Mythical Man-Month: Essays on Software Engineering FROM OUR EDITORS
Fatbrain Review Four new chapters (plus reprint of the original edition, a wildly influential classis), shares revisions of his original ideas, including viwes on the "No Silver Bullet" claim, conceptual integrity and the architect, featuritis, defining the user ser, the fate of the "Windows, Icons, Menus, Pointing" interface, and much more. Your projects can only benefit from pondering these interesting new insights on the development of the software engineering discipline: system, product, and complexity.
ANNOTATION
Four new chapters (plus reprint of the original edition, a wildly influential classis), shares revisions of his original ideas, including viwes on the "No Silver Bullet" claim, conceptual integrity and the architect, featuritis, defining the user ser, the fate of the "Windows, Icons, Menus, Pointing" interface, and much more. Your projects can only benefit from pondering these interesting new insights on the development of the software engineering discipline: system, product, and complexity.
FROM THE PUBLISHER
Few
books on software project management have been as influential and timeless as The Mythical
Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred
Brooks offers insight for anyone managing complex projects. These essays draw from his experience
as project manager for the IBM System/360 computer family and then for OS/360, its massive
software system. Now, 20 years after the initial publication of his book, Brooks has revisited
his original ideas and added new thoughts and advice, both for readers already familiar with his
work and for readers discovering it for the first time.
The added chapters contain (1) a crisp
condensation of all the propositions asserted in the original book, including Brooks' central
argument in The Mythical Man-Month: that large programming projects suffer management problems
different from small ones due to the division of labor; that the conceptual integrity of the
product is therefore critical; and that it is difficult but possible to achieve this unity; (2)
Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper
"No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver
bullet within ten years."
FROM THE CRITICS
Booknews
The 20th anniversary edition of this classic collection of essays on software engineering and managing complex projects includes revised material, and new chapters condensing the author's original propositions and his views 20 years later, plus a reprint of his 1986 paper "No Silver Bullet," and his recent comments on that essay. Brooks' central argument is that large programming projects suffer different management problems from small ones due to the division of labor, and that conceptual integrity of the product is critical. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Ray Duncan
Tar Pits and Silver Bullets
Whenever a product's development schedule is slipping badly and there is a crisis meeting of the programming team, the term "mythical man-month" is likely to be bandied about. There will be many sighs and exchanges of knowing looks and pointing of fingers and tasks assigned and subsequent exchanges of memoranda and Highly Significant Position Papers. But it's a safe bet that hardly anyone at the meeting will have actually read "The Mythical Man-Month" by Frederick P. Brooks Jr. or know exactly what it talks about -- the book, and its author, have acquired a certain mythic status of their own.
So what is a mythical man-month anyway? Consider a moderately complex software application from the early microcomputer era, such as the primordial version of Lotus 1-2-3, Ashton-Tate dBASE, or Wordstar. Assume that such a program might take one very smart, highly-motivated, expert programmer approximately a year to design, code, debug, and document. In other words, 12 man-months. Imagine that market pressures are such that we want to get the program finished in a month, rather than a year. What is the solution? You might say, "get 12 experienced coders, divide up the work, let them all flog away for one month, and the problem will be solved. It's still 12 man-months, right?"
Alas, time cannot be warped so easily. Dr. Brooks observed, while he was managing the development of Operating System/360 (OS/360) in the early 1960's, that man-months are not -- so to speak -- factorable, associative, or commutative. 1 programmer * 12 months does not equal 12 programmers * 1 month. The performance of programming teams, in other words, does not "scale" in a linear fashion any more than the performance of multi-processor computer systems. He found, in fact, that when you throw additional programmers at a project that is late, you are only likely to make it more late. The way to get a project back on schedule is to remove promised-but-not-yet-completed features, rather than multiplying worker bees.
When you stop to think about it, this phenomenon is easy to understand. There is an inescapable overhead to yoking up programmers in parallel. The members of the team must "waste time" attending meetings, drafting project plans, exchanging EMAIL, negotiating interfaces, enduring performance reviews, and so on. In any team of more than a few people, at least one member will be dedicated to "supervising" the others, while another member will be dedicated to housekeeping functions such as managing builds, updating Gantt charts, and coordinating everyone's calendar. At Microsoft, there will be at least one team member that just designs T-shirts for the rest of the team to wear. And as the team grows, there is a combinatorial explosion such that the percentage of effort devoted to communication and administration becomes larger and larger.
The Mythical Man-Month is, of course, about substantially more than, well, man-months. Many other concepts and chapter titles found in the book have also made their way into computing jargon and folklore, such as "the second-system effect" and "ten pounds in a five-pound sack" and "plan to throw one away." Brooks also addresses design issues, interfaces, specifications, tool-building, and debugging techniques. He was an early proponent of cross-compiling and simulation (when the OS/360 project started, there were as yet no fully-functional implementations of the hardware).
Interestingly (and I suspect characteristically), Brooks did not exploit 20 years of hindsight to revamp the body of The Mythical Man-Month for the
Anniversary Edition reviewed here. He chose, instead, to let the original text stand on its own merits and to add four chapters containing his influential 1986 essay "No Silver Bullet," a summary of the debate over the latter essay by other computer scientists and Deep Thinkers, his own annotations of the chapters
in the first edition of The Mythical Man-Month, and some general musings on the evolution of computer science and programming.
I first stumbled across The Mythical Man-Month shortly after it was released in 1975. At that time, I was your prototypical self-taught code mangler, working in almost complete isolation from other programmers, learning everything the hard way, reinventing wheels by the dozen, and with minimal exposure to the
computing literature. Although I recognized Brooks's work as both important and very well written, I was too naive to fully appreciate its significance. Revisiting the book twenty years later, having in the meantime plowed through some hundreds of other computer books and spent a fair amount of time writing and editing computer books myself, I find myself somewhat in awe of The Mythical
Man-Month.
Although there are definitely passages that feel dated (such as Brook's recommendations from the 1960's for a "surgical" team structure), very few computing books have stood the test of time as well as this one. The book is
beautifully written, edited, typeset, and illustrated. It has few peers in the elegance of its presentation and its insights into the human side of software development. And although Brooks comes across as a direct and rather unpretentious fellow, I can imagine that he must have been inspiring and challenging to work for -- his powers of observation, willingness to learn from mistakes, and ability to see
through to the deeper issues are remarkable.--Dr. Dobb's Electronic Review of Computer Books
AUTHOR DESCRIPTION
Frederick P. Brooks, Jr., was born in 1931 in Durham, NC. He received an A.B. summa cum laude in physics from Duke and a Ph.D. in computer science from Harvard, under Howard Aiken, the inventor of the early Harvard computers.
At Chapel Hill, Dr. Brooks founded the Department of Computer Science and chaired it from 1964 through 1984. He has served on the National Science Board and the Defense Science Board. His current teaching and research is in computer architecture, molecular graphics, and virtual environments.
He joined IBM, working in Poughkeepsie and Yorktown, NY, 1956-1965. He is best known as the "father of the IBM System/360", having served as project manager for its development and later as manager of the Operating System/360 software project during its design phase. For this work he, Bob Evans, and Erick Block were awarded and received a National Medal of Technology in 1985.
Dr. Brooks and Dura Sweeney in 1957 patented a Stretch interrupt system for the IBM Stretch computer that introduced most features of today''s interrupt systems. He coined the term computer architecture . His System/360 team first achieved strict compatibility, upward and downward, in a computer family. His early concern for word processing led to his selection of the 8-bit byte and the lowercase alphabet for the System/360, engineering of many new 8-bit input/output devices, and providing a character-string datatype in PL/I.
In 1964 he founded the Computer Science Department at the University of North Carolina at Chapel Hill and chaired it for 20 years. Currently, he is Kenan Professor of Computer Science. His principal research is in real-time,three-dimensional, computer graphics-"virtual reality." His research has helped biochemists solve the structure of complex molecules and enabled architects to "walk through" buildings still being designed. He is pioneering the use of force display to supplement visual graphics.
Brooks distilled the successes and failures of the development of Operating System/360 in The Mythical Man-Month: Essays in Software Engineering, (1975). He further examined software engineering in his well-known 1986 paper, "No Silver Bullet." He is just completing a two-volume research monograph, Computer Architecture, with Professor Gerrit Blaauw. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice within The Mythical Man-Month, Anniversary Edition.
Brooks has served on the National Science Board and the Defense Science Board. He is a member of the National Academy of Engineering and the American Academy of Arts and Sciences. He has received the the IEEE John von Neumann Medal, the IEEE Computer Society''s McDowell and Computer Pioneer Awards, the ACM Allen Newell and Distinguished Service Awards, the AFIPS Harry Goode Award, and an honorary Doctor of Technical Science from ETH-Zürich.