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."
322 pages, Paperback
First published January 1,1975
Reading this book was like a journey through time for me. From today's perspective, it's a rather outdated book. However, it was truly amazing to read about the completely different everyday problems such as the techniques and strategies of updating paper-based documentation.
Nevertheless, software engineers, architects, and IT project managers, despite the current agile techniques and the experience of previous generations, are still grappling with certain problems. For example, the correct project estimations of time and cost remain a challenge. Many rules still hold true, like Brook's Law which states that adding people to late projects will only make them even later.
This book reveals that each generation of IT professionals has its own unique challenges to handle. And to paraphrase Heraclitus, change is indeed the only constant in software development. We must continuously adapt and evolve to meet the ever-changing demands of this dynamic field.
I picked up this book as it is frequently cited as one of the most popular books on software engineering. However, the slightly dated nature of the book, which was originally written more than 30 years ago, does become evident in many sections.
Some portions of the text have now been transformed into legendary quotes, such as "Brook's Law - adding manpower to a late software project makes it later". Nevertheless, the rest of the book is perhaps a bit hit-and-miss.
Also, the terminology employed is different nowadays. The software architect as described in the book is more akin to a product person in the present context.
There are some controversial opinions, as well as some (now-obvious) great ones. Overall, it is an average read. If you are seeking modern essays on software engineering, Joel Spolsky's books are probably a better starting point.