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
This was a really good book that focused on the struggles of programmers beyond just writing codes.

Brooks did an excellent job of clearly dispelling most of the myths that surround the software engineering industry. He also provided a significant number of useful tips for project management and established several frameworks that new programmers and engineers can work with.

I would highly recommend this book as a read after you have familiarized yourself with how a software project operates by actually doing it. It made me reflect deeply on my mistakes during my own project journey and consider what I could have done better.

The book offers valuable insights and practical advice that can help programmers and engineers improve their skills and become more effective in their work.

Whether you are a beginner or an experienced professional, this book has something to offer and is definitely worth reading.
July 15,2025
... Show More
The book is definitely out of date.

Everything has completely changed - the approaches and principles of teamwork.

I'm wondering why so many people gave good ratings to this book?

Thirty years ago, software development was very expensive due to poor technologies, crappy hardware, and the absence of helper tools. You had to think ten times before actually doing something.

Nowadays, the time to market is the key principle. You have to push something to the public first and then think about the aftermath.

One single thought in this book is still relevant today: the problems of (dis-)communication. However, you can find a bunch of modern books specifically about the problems of communication.

It seems that this book may have been useful in its time, but it no longer meets the needs of the current era.

Perhaps those who gave it good ratings were looking for something different or were influenced by other factors.

Nevertheless, it's important to be critical when evaluating books and to consider their relevance in the context of the present day.
July 15,2025
... Show More
This is the book I would recommend to anyone, regardless of the level they are at.

It is quite remarkable to note how a book first published in 1975 appears so contemporary when compared to the same issues we still encounter in software development today.

Everything that has been written about this subject has its roots here. The way we approach problems and attempt to solve them, the way we assemble teams, how we deploy applications, how to scale infrastructure, and many other aspects. It's all here, not presented in a modern style filled with trendy buzzwords and technologies, but the problems remain essentially the same. We must learn how to interpret and determine which techniques to apply.

I had several "aha" moments while reading the book, and one of them was that, much like in history, we are still making incorrect choices in our development cycle. However, the question is, how do we improve? I believe it lies in learning from the predecessors who had to deal with similar situations.
July 15,2025
... Show More
A very insightful book on how to approach software development has recently caught my attention.

This book is truly a treasure trove, filled with precious gems of knowledge that are bound to stay with you for the rest of your life.

It offers a unique perspective on the software development process, guiding readers through the various stages with clarity and precision.

The author's expertise shines through in every chapter, providing practical advice and real-world examples that make the concepts easy to understand and apply.

Whether you are a beginner or an experienced developer, this book has something to offer. It will not only enhance your understanding of software development but also inspire you to think differently and approach problems from a new angle.

In conclusion, I highly recommend this book to anyone interested in the field of software development. It is a must-read for those who want to take their skills to the next level and achieve success in this ever-evolving industry.
July 15,2025
... Show More
If I were asked to name just one book about project management or software development in general, I would unhesitatingly say: "The Mythical Man-Month".

It is truly a delight to read this book again after so many years and compare it with my own experiences.

The anniversary edition, which includes later updates, offers a fascinating perspective on the history of software engineering and its management.

It delves into the various challenges and misconceptions that have plagued the field over the years, providing valuable insights and practical advice.

Whether you are a seasoned professional or just starting out in the world of software development, "The Mythical Man-Month" is a must-read that will surely expand your understanding and enhance your skills.

It is a classic that has stood the test of time and continues to be relevant and informative today.
July 15,2025
... Show More
Estimating software project completion time is truly a difficult task. Requirements often change, and software being intangible and having to fit with the idiosyncrasies of human systems makes it even more challenging.


Aristocracy in managing projects can be beneficial. There should be one final decision maker, similar to a surgical team.


The cost of coordination and communication within large teams is frequently ignored, which leads to poor estimation.


If a project is delayed, rescheduling or reducing the scope is advisable. Adding manpower will likely result in further delay.


Avoid cramming features in the second system, as it may lead to issues like those seen with Vista.


A written specification is of utmost importance as it should describe everything that the user can observe about the product.


The algorithm can be predicted from the data tables.


A small number of documents, such as Objectives, Specifications, Schedule, and Budget, become the pivots of product management.


Quantify change by using version numbers.


As the number of users increases, more bugs are discovered.


Things are always at their best in the beginning.


Repairs in software increase entropy.


Sustained concentration reduces thinking time.


Milestones should be concrete, specific, and measurable events. Even the slightest delays should be paid strict attention to, as projects get delayed one day at a time.


The hard parts of building software are specification, design, and testing.


Creative activity consists of three steps: formulation of a conceptual construct, implementation in a real media, and interactivity with users in real uses.


The conceptual integrity of the product as perceived by the user is the most crucial factor in ease of use.


Design for both power users and novices by using keyboard shortcuts.


People with more time tend to take more time.


Recommended books include Peoplware: Productive Project Teams and Small is Beautiful.
July 15,2025
... Show More
This book offers an excellent background on software engineering and provides a perspective (20 years edition) on its future direction.

Some of the ideas presented in the book really caught my attention. For example, the concept of a chief surgeon programmer, who is responsible for overseeing the entire software development process. Additionally, the use of scaffolding and dynamics in breaking down subcomponents in a top-down approach, with the responsibility for the lower components being assigned to sub-teams, is also an interesting concept.

Some of the ideas in the book also touch on agile programming, with a brief mention of incremental delivery in the 20 years appendix. This shows that the book was ahead of its time in some ways, as agile programming has become increasingly popular in recent years.

However, the book does have some limitations. For example, it doesn't mention current technologies such as Docker as a computation target, or other modern aspects of software engineering, especially agile.

Overall, I would recommend this book to anyone who wants to gain a good background knowledge of software engineering and understand some of its evolution over the years. It provides a valuable perspective on the field and can help readers to better understand the challenges and opportunities that lie ahead.
July 15,2025
... Show More
This is an extremely important book for those who have a keen interest in software project management.

The book has a long history, dating back quite a while. As a result, it provides a comprehensive and broad perspective on how the software industry has evolved and developed over time.

Many of the concepts that were initially proposed by Brook have now become widely accepted industry standards. However, it is truly fascinating and cool to observe how these ideas originated, developed, and understand the underlying rationale behind them.

The reminder that conceptual integrity is the fundamental key to creating all great products is indeed very powerful. It emphasizes the importance of maintaining a unified and coherent vision throughout the software development process.

In conclusion, this is a must-read book for anyone who is looking to manage software development teams effectively. It offers valuable insights and lessons that can help improve the success rate of software projects and enhance the overall quality of the products.

July 15,2025
... Show More
As far as I can tell, the core tenets of this book aren't really even up for dispute anymore. I don't mean to sound like the grumpy reader mentioned in the epilogue, complaining that the book offered "nothing I didn't already know" (however experienced he might have been, I still doubt it). But whether from my limited experience in the industry first hand or second-hand through the various managers I've had over the years, the tenet that developers and time aren't interchangeable resources felt both familiar and self-evident. So, in a certain sense, I don't feel like I have any more business critiquing this as a book than I do "Relativity: The Special and General Theory."

Still, another part of my brain is content to separate a critique of the book qua book from any kind of dispute with the actual arguments and share some petty little snipes that made this less enjoyable of a read than it could have been.

First, his stubborn refusal to ever acknowledge the reality of female programmers. This frustrating trend starts with the title (what the hell is a "man"-month? Does your project need beards to get grown or code to get written?) and just never lets up. Except for a grammatically-necessary "she" when mentioning Frances Spence (on the final page!), I'm not sure that female pronouns show up once in this entire book. Sure, "they" didn't have the same legitimacy as a gender-neutral singular pronoun then that it does today, but this thing was reissued in 1995, a time when "they" might have been cutting edge, but "he or she" was standard practice even in elementary school grammar. It's not just developers either - system architects, managers, everyone on the "surgical team"; hell, even USERS, at least the ones with any amount of initiative in testing the limits of the software, are all male by default.

Second, the gratuitous religious overtones. Don't get me wrong - I still vividly remember the almost spiritual ecstasy of that first day when I really "got" recursion, and I completely understand how someone might position the beauty of software design within their existing framework of spirituality, Christianity. Unfortunately, a consequence of building your whole cosmology around a being like the Western monotheistic God is that it necessarily consumes anything and everything else; it then becomes almost impossible to write about the beauty or nobility of some pursuit or principle except to the extent that it supposedly emanates from the nature of this supposed entity. A connection between good software design and Christian ideas of holiness pop up again and again, and they grate on me not just because they come across as a bit sanctimonious, but because oftentimes, the Christian lens actually distorts the content.

Two examples spring to mind: the first comes in the chapter "Aristocracy, Democracy, and System Design", which argues for conceptual integrity as the supreme virtue of a software system. I'll grant that the book predates all of the advances that made true open-source systems possible or the achievement of GNU/Linux to prove it was a viable model, but Brooks seems so wrapped up in the analogy of the God-like software architect that he never gives the heathen "bazaar" model fair consideration - the "cathedral" is self-evidently superior to anyone who sincerely believes the entire world represents a unified, intentional design by a single entity. The second is in the chapter "Why Did the Tower of Babel Fail?", and my objection boils down to this: the Tower of Babel didn't fail because the builders "lacked organization and communication." It failed because an omnipotent being intervened to make it impossible to have organization and communication; this happened, in turn, because the Christian God (and especially the Old Testament God) is an angry, spiteful, and sometimes downright petty being, and that the organized human enterprise of building this tower represented a challenge to his authority. The interpretation Brooks chose to go with confuses proximate and final causes, which made it hard for me to buy any of what followed, no matter how legitimate the points themselves might have been.
July 15,2025
... Show More
This is a good old classic. However, in 2023, it is inevitably becoming more old than good.

The years take their toll, and it would be strange otherwise, especially for a software book.

Nevertheless, some concepts are still highly relevant, such as the core message of the book.

The author emphasizes communication skills, and I couldn't agree more.

Brooks also discusses the phenomenon where a software engineer, after a successful first system, may overcomplicate the design of the second, leading to potential issues.

The book delves into the complexities of project estimation, highlighting the difficulties of accurately predicting time and effort in software development.

He perfectly summarizes the feelings we have when coding, the sense of creating something from nothing.

Lastly, a rather ruthless comment: when he speaks about the current (at that time) challenges, languages, or AI, it seems ludicrous.

This shows a great deal about the value of such long-term forecasts, even when made by experts in the field.

Overall, while the book has its age-related drawbacks, it still contains valuable insights and discussions that are worth considering.
July 15,2025
... Show More
**The Mythical Man-Month: An In-depth Look at Software Engineering Challenges and Solutions**

The Mythical Man-Month, first published in the US in 1975, is a significant science and technology book by Frederick Brooks. It delves into the problems and solutions in software engineering management. Brooks, born in 1931 in Durham, North Carolina, studied at Harvard and Duke Universities and joined IBM in 1956. He has made important contributions to the design of IBM systems and received the Turing Prize in 1999. His representative works include "The Mythical Man-Month" and "Design Original".

The book explores various aspects such as the tar pits of large system development, where many projects struggle to meet goals, timelines, and budgets. The build-up of resources for large projects is a major challenge, and in software engineering, new problems have emerged. Programming is both interesting and challenging. Programmers are optimists, perhaps due to the appeal of modern magic, the ability to focus on results, or the youth of the field. The pleasures of programming include creating things, developing useful products, the magical power of seeing components work together, learning, and the ease of working with the medium. However, programming also has its difficulties, such as the presence of bugs and the need for debugging.

The book also discusses the fallacy of using the human month as a measure of work scale. It emphasizes that the number and time of personnel cannot be simply replaced, as the communication and coordination costs in software development are significant. Adding more people to a project may not necessarily shorten the time but may even extend it. There is a boundary condition where the addition of a person does not change the completion time of the task, and beyond this point, increasing the number of people will lead to an increase in the completion time.

To address the dilemma of efficiency and conceptual integrity in large systems, Mills suggests a surgical team approach. In this approach, a team is formed with a chief programmer who is responsible for decomposing the problem and leading the development, and a deputy who provides support and acts as a thinker and evaluator. The team also includes an administrator, an editor, secretaries, and program staff, each with specific responsibilities. This method helps to improve efficiency and productivity while maintaining the conceptual integrity of the system.

In conclusion, "The Mythical Man-Month" provides valuable insights into the challenges and solutions in software engineering. The surgical team approach and the importance of conceptual integrity are still relevant in modern large-scale software engineering projects. By understanding these concepts, software engineers can better manage their projects and develop high-quality software products.


July 15,2025
... Show More
I have read it as part of my PhD, since it's part of the classical books of software engineering.

Yet the book tackles very important issues not only about management but also about how people interact during software development.

I've recognised myself in many situations described by the author, even though I'm not part of a software development team.

One might wonder, as I did, how many of the concepts explained by the author apply to the current technology of the 21st century.

However, the author tackles that in the last chapters.

Surprisingly, almost everything applies, because the book's focus is on the general lessons that never get outdated.

These lessons are relevant regardless of the specific technological advancements.

The book provides valuable insights into the human aspects of software development, which are crucial for its success.

It shows that effective management and good interpersonal relationships are essential for a smooth software development process.

Overall, it's a great read that offers timeless wisdom for anyone interested in software engineering or management.

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