![]() |
VOOZH | about |
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
OK
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."
"Brooks lays out a formalism to how to approach [people and process problems] that let teams deliver on the technology, a formalism that is as relevant now as it was 40 years ago, and I suspect, 40 years (or 400, if we are still around then) in the future as well." —Michael McIntyre, Silently Failing blog
"It has been almost 50 years since this book was published and we are still making the same mistakes while managing software projects. This cautionary tale should be read at least once by all engineers." —Tomas Fernandez, Siemaphore blog
"In my opinion, understanding the art of programming systems product is one of many steps taking a good software engineer to the next level. The Mythical Man-Month was first published many years ago and still the perfect book for this topic...I thought it was no longer relevant in the age of Agile and Continuous Delivery at first, but I could not be more wrong." —Kaga.Dev
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
Few books on software project management have been as influential and timeless asThe 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."
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.
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.
Frederick P. Brooks, Jr., is Kenan Professor of Computer Science at the University of North Carolina at Chapel Hill. He was an architect of the IBM Stretch and Harvest computers. He was Corporate Project Manager for the System/360, including development of the System/360 computer family hardware and the decision to switch computer byte size from 6 to 8 bits. He then managed the initial development of the Operating System/360 software suite: operating system, 16 compilers, communications, and utilities.
He founded the UNC Department of Computer Science in 1964 and chaired it for 20 years. His research there has been in computer architecture, software engineering, and interactive 3-D computer graphics (protein visualization graphics and "virtual reality"). His best-known books are The Mythical Man-Month (1975, 1995); Computer Architecture: Concepts and Evolution (with G.A. Blaauw, 1997); and The Design of Design (2010).
Dr. Brooks has received the National Medal of Technology, the A.M. Turing award of the ACM, the Bower Award and Prize of the Franklin Institute, the John von Neumann Medal of the IEEE, and others. He is a member of the U.S. National Academies of Engineering and of Science, the American Academy of Arts and Sciences, the Royal Academy of Engineering (U.K.) and of the Royal Netherlands Academy of Arts and Sciences.
He became a Christian at age 31 and has taught an adult Sunday school class for 35 years. He chaired the Executive Committee for the 1973 Research Triangle Billy Graham Crusade. He and Mrs. Nancy Greenwood Brooks are faculty advisors to a graduate student chapter of InterVarsity Christian Fellowship. They have three children and nine grandchildren.
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonOddly, I was reminded of this classic work whilst reading Chris Date's otherwise quite unremarkable tome, "The Third Manifesto". Date and Darwen cite this classic text admiringly. And this may be the most important contribution to have emerged from their efforts. Having toiled in the Information Technology field for decades, I was, of course, familiar with many of the gems of wisdom that were first articulated by Brooks in this classic book. But it was a true joy and revelation finally to read the book itself from cover to cover.
Among the pearls of wisdom contained within these pages are the following:
Adding people to a late software project tends to make it later.
While it takes one woman nine months to give birth, nine women cannot accomplish the same task in one month. (Hence, the concept of the mythical man month. People and time are not interchangeable commodities.)
The factor most dispositive of success in software engineering is conceptual integrity.
The first duty of the manager is create a concise and precise written plan.
Communication, and its attendant, organization, require as much skill and careful consideration as any other aspect of technical project leadership.
There are many, many more wonderful insights contained within the corpus of this outstanding book. While dated, no doubt, the truths that emerge from careful consideration of this important work are that overcoming problems of human interaction are really paramount to success in any task as complicated as software engineering and that the discipline of software engineering is perhaps one of the most wonderfully rewarding career paths open to creative and serious folks even today. This outstanding book rightly deserves an honored place in the library of any person who would succeed in a career in information technology now, or in the future. Yes, it deals with human factors that some may argue can be overcome by technology. But, as Brooks so cogently demonstrates in his wonderful essay on the "silver bullet", the search for the final solution to the problem of software engineering is very much like the hope to slay the mythical werewolf with a silver bullet in that it is a search for an enigma to deal with a chimera. It can't realistically hope to succeed.
Finally, in assessing the timeless importance of this classic, we are reminded of the sage advise of that great philosopher, Arnold Schwarzenegger, that, when working with people, everything is political. Yes, the human factors always do matter. And Dr. Brooks has illuminated those human factors of software engineering in a manner both satisfying and edifying. Pick up this timeless classic. Absorb the teachings. And watch your productivity and effectiveness in the discipline soar. God bless.
Excellent book
Although it was written in 1975, much of the book's information remains surprisingly relevant today. For instance, Fred discusses Artificial Intelligence in Chapter 16, along with expert systems and inference engine technology. It’s understandable to wonder if this information might be outdated, but it still holds value.
For small projects, diving into these details might be more than necessary. However, for larger projects, whether you’re a programmer, engineer, project manager, or part of senior leadership, understanding these concepts can be incredibly beneficial. Big projects involve more than just building something — they require the right team, organization, coordination, effective debugging tools, and strategies for deployment.
Many of us have experienced OS or system issues and might be curious if developers conduct thorough testing before releasing updates. It’s important to remember that when changes are made, they often need to be validated from scratch, which takes time, resources, and additional costs.
A lot comes down to discipline and judgment — skills we can all learn from this book. When you build something, it’s essential to have ways to debug it, and to ensure that users have access to clear and comprehensive documentation, not just a few quick instructions.
While mainframes might seem outdated to some of us, it’s interesting to note that many of the core components, like memory and disks, are still in use today. To get the most out of this book, focus on the underlying concepts and proven methods. And most importantly, appreciate Fred's foresight.
This classic on software engineering made its mark as a study of how to manage large complex projects. Most of the book applies to management in general rather than to software engineering in particular.
Here are two examples of the more general insights the author, former IBM manager Frederick P. Brooks, gives readers: an instance of a straightforward insight immediately applicable, and another one we obtain by carefully (!) reading the text.
Brooks looks at different types of projects; large projects that can be split into many simple independent tasks will be completed faster if we add more staff to carry them out. However, engineering projects are seldom so simple. Developing software for a new machine requires the machine, which is itself being developed, as well as documentation, which is being prepared! All these tasks relate to each other and require all participants to communicate with each other. The number of communication lines within a team grows exponentially with respect to the number of team members. At some point, adding more men and women actually delays project completion, shattering the myth of the man-month.
However we must be careful as we read the Mythical Man Month. This book was written in the seventies about the author's experiences in the sixties, so to understand Brooks correctly, we've got to read him carefully. For instance, Brooks praises PERT charts, saying outright that "there is no substitute" for them. I can't believe this is a blanket endorsement for mindlessly turning out slides and charts by using Microsoft Project! Brooks didn't have MS Project or PowerPoint in the sixties: PERT charts were carefully drawn, often by hand, they were expensive, and they were prepared after thinking things through. We find the true insight a little further down page 156: "The preparation of a PERT chart is the most valuable part of its use".
Some of the book is of course more relevant to software engineering. For instance, Brooks's correct 1986 prediction that off-the-shelf, shrink-wrapped software would become the standard way to implement solutions. Just look at Microsoft Office or at SAP's R/3 to see the truth of this. (I'd even say that because powerful software is now so cheap, we've created a glut of output.)
Read properly, The Mythical Man Month remains as insightful today as in the seventies and eighties. Brooks's style is friendly but professional and business like. Budding project managers will find many useful insights.
Vincent Poirier, Tokyo
This is an excellent compendium of knowledge about software development, particularly in relation to project management and efficient team organization. Though it covers more topics than just those, it really demystifies and sheds light on why managing software development is so different and so much more difficult than any other industry.
If you have any interest in philosophy, computer science, or good writing, this book is well worth your time. If you are interested in two or three of them, it's a must-read. This is a classic in the software development space and has been extremely influential for many years.
Mr. Brooks' writing style is impeccable; he carefully dissects and examines each topic, with the wit and wisdom merited by such a technical field, yet he does it without using a lot of double-speak or unnecessary "fluff" - not a true text but rather a collection of essays, each chapter comes across as a polished, finished product, well-focused on a single topic.
This particular edition is also highly recommended. It contains four additional chapters: No Silver Bullet, yet another influential essay by Brooks that was not in the original edition; an overview of all his points (the entire book) in an easy-to-digest format; his thoughts 20 years on from writing the original, and how the industry has changed in that time; and finally, his responses to various criticism he has received over the years specifically in response to the "No Silver Bullet" essay.
This is an excellent purchase and a great read.
This book is a mix of some awesome insights that comes only through real world project management and some dangerous preaching that comes only through not writing code for years.
Any arguments with or against this book is in vain because what this book discusses is not mathematical proof but rather empirical observations and extrapolations on few types of software development projects carried out with few types of methodologies.
One of the most dangerous things that this book does is recommending and preaching elitist groups, aka Architects. The author actually goes out and claims that architects should never write a line of code!! Madness. I've seen and worked with those kind of "Architects" and to say the list, a person who is blueprinting your million dollar project without knowing the strength and weakness of his tools intimately is bringing disaster to your project. Your policy should be to hire architects who must also prove themselves to be the best coder in the team. I can't overemphasis this point. I see people often stating that they spend less than 10% time on actual programming because they are architect. They start out giving analogy of the person who designs the building but doesn't put his hand son brick and mortar. The analogy is obviously misleading. The bricks that make up building are all same and doesn't require any skills in setting them one over another while a program is made of several different complex constructs, components and libraries and using one thing over another can make a huge difference.
Another bad thing that this book does is to draw a picture that big teams are bad and should be avoided at all costs if possible. I think, one has to keep open mind about this. I've always believed that using right methodologies, tight control on recruiting and management structure with isolated smaller groups it is possible to create teams with thousands of developers and deliver the product on schedule. The essential part of methodologies included componentizing the entire product, forming hierarchy of small sub-groups each of who owns these components and talks to each other through well defined APIs, using test driven development and continuous integration. The point is, large teams aren't evil anymore because current state of programming tools and methodologies have evolved to support it very well which wasn't the case 3 decades ago.
This book has probably done more damage than good. Still, this book I would rank as one of the must read for any software developer/manager provided you read it AFTER you have significant experience of developing the software with the intention of enhancing your understanding rather than acquiring. You would be most benefited if you look at the book with an eye of a critic instead that of a student.
The Mythical Man-Month is Frederick Brooks' seminal collection of essays vis-a-vis software engineering. From the title, one would imagine that the tome's unifying thesis revolves around the discredited idea that adding more engineers to a project will enable the project to be completed in fewer months, or, to put it another way, that the length of a project's schedule is a linear function of the number of workers assigned to that project. Using graphs based on mathematical formulas and on research conducted by other specialists, Brooks neatly dismantles the person-month myth - demonstrating, in fact, that in many projects (particularly if complex interrelationships are required or if the project is behind schedule), adding more bodies often increases the time required for completion.
Despite what the title suggests, however, the above-mentioned topic is but one of many covered by this work. Other topics include the distinction between the "essential" and "accidental" elements of software design; the distinction between building a computer program vs. designing a "programming a systems product" (and the ninefold difference in complexity and time between the two); the quest for software engineering's elusive "silver bullet"; the importance of documentation; the surprisingly small percentage of time that actual writing of code occupies on the timeline of a typical software-development project (as contrasted with time needed for testing and debugging); large teams vs. small "surgical teams" (and why the latter isn't always the answer for all projects); the "buy versus build" dilemma; and many others.
Much of the material in the first several chapters of the book appears obsolete (although there are still valuable principles that can be gleaned). However, in chapter 19 (a kind of "retrospective" chapter added 20 years after the original publication date), Brooks amends much of the out-of-date material, e.g., his earlier views on program size and space metrics (rendered all but irrelevant in this age of multi-gigabyte memory), and the degree to which the (albeit hard-to-predict) personal computer explosion and the growth of the Internet. However, even since the time of the book's revision (1995), further explosions have taken place in the computing industry - most notably with regards to Web 2.0, the ubiquity of data-driven Web applications (these even obsoleting many shrink-wrapped products), Web services, and development methodologies such as Agile and XP - that even chapter 19 may seem a little out-of-date to the modern developer. In spite of this, the principles of the book are still applicable: the chapters on estimation, team size, and the dismantling of the person-month myth are enough to make this tome required reading for developers and managers alike - especially the latter.
Some of the ideas in this book are no longer quite right but on the balance it's remarkable how prescient it is. As a professional software engineer of 30+ years who has never read this tip now, I'm surprised by how much relevance it still has. The tools are all different, but the problems are the same.
Letto molti anni fa all'inizio della carriera, l'ho visto in offerta usato e ho voluto comprarlo per la mia libreria.
Racconta molte cose che dovrebbe essere ovvie a tutti, ma purtroppo ancora oggi si incontrano professionisti del settore a cui mancano decisamente le basi.
Too difficult for a new graduate
Mr. Brooks and his team needed 5000 man years from 1963 to 1966 to create OS/360. Peak head count was 1000 persons. Today we ask the question: was this massive amount of labor necessary? I think so. Today the art of operating systems is much advanced. But at Brooks time, he had to break new ground, fast and in good quality. He and his very large team did write history, like Prof. Corby (Corbató) did with Multics. Next to Brooks law I like his scheduling rule most: 1/3 planning, 1/6 coding, 1/4 component test and early system test and 1/4 system test, all components in hand. In my projects I used the surgeon team, Mill's Proposal. It worked again and again.
Emballage légèrement endommagé. Coup sur la couverture du livre
Livro muito bom. A primeira edição é de 1975, essa edição "já" é de 1995, mas é interessante (e triste) como os problemas descritos ainda são bem atuais.
Livro muito bom. A primeira edição é de 1975, essa edição "já" é de 1995, mas é interessante (e triste) como os problemas descritos ainda são bem atuais.
