Community Reviews

Rating(3.9 / 5.0, 100 votes)
5 stars
31(31%)
4 stars
32(32%)
3 stars
37(37%)
2 stars
0(0%)
1 stars
0(0%)
100 reviews
July 15,2025
... Show More
I'm truly astonished that people still advocate for this book.

Primarily, it focuses on extremely large-scale software projects such as an operating system. Much of the "data" it presents is anecdotal, and many of its assumptions are simply outmoded. For example, Brooks writes about creating paper manuals with system documentation that is updated daily for engineers, strategies for time-allocation on centralized computers, and optimizing for compiled code size. These are no longer issues except in niche applications.

Moreover, Brooks' main thesis regarding man-months is frequently misquoted and misinterpreted. He contends that people and months are not interchangeable, and adding people to late projects will only exacerbate the delay because initially, new people have a negative contribution. The nuances of this aphorism are of utmost importance but are always overlooked.

It would be beneficial to have a new, updated book on this subject that incorporates actual data and measures concepts from this century. However, I did find Brooks' articulation of a few other concepts useful. Among them are: "Simplicity and straightforwardness proceed from conceptual integrity." "By documenting a design, the designer exposes himself to the criticisms of everyone, and he must be able to defend everything he writes. If the organizational structure is threatening in any way, nothing is going to be documented until it is completely defensible." "All repairs tend to destroy the structure, to increase the entropy and disorder of the system. Less and less effort is spent on fixing original design flaws; more and more is spent on fixing flaws introduced by earlier fixes. As time passes, the system becomes less and less well-ordered. Sooner or later the fixing ceases to gain any ground. Each forward step is matched by a backward one. Although in principle usable forever, the system has worn out as a base for progress."

July 15,2025
... Show More
In this classic book on the software development process, Fred Brooks shatters several tenacious myths.

These myths seem to have an uncanny ability to persist, and each new generation unfortunately has to relearn them.

The first and by far the most perilous of these myths is the fallacy that adding more people to a project will lead to its quicker completion. Brooks presents one of the most ingenious graphs I've ever come across. It plots the number of women against the time required to produce a baby. Astonishingly, the graph remains flat at nine months, regardless of the number of women assigned to the "project." As he astutely points out, software development often bears a remarkable resemblance to this.

If you're a young software developer and were even slightly taken aback by the above, you should obtain a copy of Brooks' book without hesitation. While a few of his observations may now be a touch outdated, the vast majority of it remains extremely relevant.

It's a must-read for anyone involved in the software development field, offering valuable insights and wisdom that can help avoid common pitfalls and enhance the overall process.
July 15,2025
... Show More
This book on the practice and process of programming is truly remarkable. Even 50 years after it was written, it remains highly relevant.

The concepts and techniques it presents are still applicable in today's ever-evolving programming landscape.

This alone should be sufficient recommendation for anyone interested in the field of programming.

Moreover, the other research on which it draws and which it refers to is also of great value.

It provides a comprehensive and in-depth understanding of the subject matter, allowing readers to explore related topics and gain a broader perspective.

Whether you are a beginner or an experienced programmer, this book has something to offer.

It can serve as a valuable reference guide, helping you to improve your skills and knowledge.

In conclusion, this book is a must-read for anyone who wants to learn about the practice and process of programming.
July 15,2025
... Show More
So much of this book is quaint.

The descriptions of documentation that needs to be printed out to be shared seem almost archaic in today's digital age.

Computer systems that can barely run the programs that are being built also paint a picture of a bygone era.

With all of the incredible technical advances we have witnessed in recent years, one would think that we would be much further along in our understanding of how to build these complex systems.

However, the contrary is true.

Teams still fall subject to the same issues that are described in the book, and the advice given is just as applicable today as it was when the book was written.

This goes to show that while technology may change, the fundamental principles of building successful systems remain the same.

It is essential for teams to learn from the past and apply the lessons learned to their current projects to avoid making the same mistakes.

By doing so, they can improve their chances of building high-quality systems that meet the needs of their users.

July 15,2025
... Show More

Don't add people to a late software project or you'll make it later.

This simple yet profound statement neatly summarizes an important concept presented in the book. When a software project is already behind schedule, the knee-jerk reaction might be to throw more manpower at it in an attempt to catch up. However, this often backfires. Adding new people to a project that is already in a state of delay can introduce a host of problems. Newcomers need time to get up to speed, understand the project's requirements, architecture, and existing codebase. This onboarding process takes time away from the actual work of getting the project back on track. Moreover, communication and coordination challenges can increase exponentially with each additional person, leading to more confusion and inefficiency. In the end, what was intended to speed up the project actually slows it down further, making it even later than it原本 would have been.

July 15,2025
... Show More
No other book about programming has had such a profound impact on my life.

The timelessness of this work is truly remarkable, especially when one considers that it was first published in 1975, and the field of software development has evolved at an incredibly rapid pace.

Frederick P. Brooks, Jr. is an extremely erudite writer. He has the remarkable ability to convey both the inherent beauty and the numerous tribulations of programming on a large scale.

Since I have never worked on a large programming project, I don't feel qualified to dispute his conclusions. However, I can say with certainty that they hold true for the small-scale programming that I am familiar with.

Just for the prose alone, this book is well worth reading, even for those who are not in the computer industry. Moreover, the work also has significant historic value as it serves as an insider's paean to a craft that has ultimately changed the world.

I've read this book cover to cover probably around five times since I first discovered it in 2004. Over the years, I've gone through three copies. I gave two copies to friends, and the third one fell apart after years of my scribbling commentary and diagrams all over it.

I'm now on my fourth copy, and I've already lent it out twice. It's that kind of book that you just can't help but share with others.

A deep chord of virtue seems to resonate between the lines of each essay. Never before have I read a work about the noble art of programming that makes me feel such a strong sense of pride about the craft itself.

July 15,2025
... Show More
As true in 2018 as it was in 1976.

This simple statement holds a profound truth. The passage of time has not diminished the validity of this assertion.

In 1976, certain principles or facts were established, and remarkably, they still hold true in 2018.

It could be related to human nature, fundamental values, or the laws of the universe.

Despite the significant technological advancements, social changes, and cultural shifts that have occurred over the decades, there are certain constants that remain unaltered.

Perhaps it is a reminder that some things are timeless and endure through the ages.

It makes us reflect on the stability and reliability of these unchanging elements in a world that is constantly evolving.

Whether it is the importance of kindness, the power of love, or the need for justice, these truths continue to shape our lives and guide our actions.

In 2018, we can look back at 1976 and see the continuity and connection that exists, reaffirming the significance of these unwavering principles.

July 15,2025
... Show More
This was my second time reading this book.

The first time was probably twenty years ago, or even more. At that time, I was relatively new to the software field. I vividly remember really enjoying it back then.

This time around, it was still interesting, yet its impact was different. This was because I have been in the field for a much longer time, and also because the field itself has undergone tremendous changes.

It is more like a history of early large software project management, offering numerous insights into its various aspects and challenges. Many of these insights still hold true today, while many others are now of historical significance.

I am truly impressed with people like Brooks who have the ability to put together a work like this. It covers such a vast amount of ground yet manages to tie it all together beautifully. He is an unusually clear thinker, and his writing is engaging to read.

I firmly believe that it is well worth reading if you are in the software development field. It can give you a sense of where we have come from and how far we have progressed.
July 15,2025
... Show More

Ottimo classico sulla complessità della progettazione e realizzazione del software.


This is an excellent classic that delves into the complexity of software design and implementation. It offers in-depth insights into the various aspects involved in creating software, from initial concept to final product.


The book explores the challenges faced by software engineers, such as dealing with changing requirements, ensuring code quality, and managing project schedules. It provides valuable strategies and techniques to overcome these difficulties and achieve successful software development.


Whether you are a novice in the field of software engineering or an experienced professional, this classic is a must-read. It will expand your knowledge and understanding of the complex world of software design and implementation, and help you become a more proficient and effective software developer.

July 15,2025
... Show More
I read this for a large scale programming and testing class in college. Even now, as I am working in the real world and facing project delay after project delay, I still sometimes think about the pregnancy metaphor.

As most other reviews mention, yes, this book is outdated. It explicitly uses “he” pronouns, has an excessive number of religious references, and many chapters are uselessly out of date. However, the illustrations at the beginning of each chapter were quite good. They were the highlights of the book.

I also believe that a significant portion of the actual reflection on workplace processes for getting large software projects completed is still relevant. Obviously, this is not a book that I will ever pick up again or read for fun. But the fact that I still remember the analogies and ideas is a testament to the fact that I think it was somewhat interesting.

Overall, while the book has its flaws, it still contains some valuable insights that can be applied to the real world of software development.
July 15,2025
... Show More
It's a classic - but it's not timeless.

For me, the book didn't click and I didn't get much takeaway. It just felt too outdated to connect the chapters with modern software development and agile practices.

Perhaps this is an unfair assessment considering it was published 45 years ago, in a time when the software development landscape was vastly different.

However, in 2020, with the rapid pace of technological advancements and the ever-evolving nature of software development, it's difficult to find relevance in some of the concepts presented in the book.

That being said, there may still be some valuable lessons to be learned from the book, especially for those who are new to the field and are interested in understanding the history and evolution of software development.

Overall, while the book may not be a must-read for modern software developers, it can still provide some interesting insights and perspectives.
July 15,2025
... Show More
An old-timer, a classic book for software development, has stood the test of time.

Although some of the principles it contains have evolved and changed a bit over the years, a significant portion of them remain highly valid and relevant.

This book has been a guiding light for countless software developers, providing them with valuable insights and best practices.

It offers a comprehensive understanding of the software development process, covering everything from requirements gathering to testing and maintenance.

The concepts and techniques presented in the book have been tried and tested in real-world scenarios, making it a reliable resource for both novice and experienced developers.

Despite the ever-changing landscape of the software industry, the core principles of good software development as outlined in this classic book continue to hold true.

It serves as a reminder that while technology may advance, the fundamental principles of building high-quality software remain essential.

Whether you are just starting out in the field of software development or looking to enhance your existing skills, this old-timer classic book is definitely worth a read.

Leave a Review
You must be logged in to rate and post a review. Register an account to get started.