The Mythical Man-Month: Essays on Software Engineering, Anniversary by Frederick Phillips Brooks
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition by Frederick Phillips Brooks, is a must-read for software engineers and technology enthusiasts. With a foreword by Steve McConnell, and an introduction by Frederick P. Brooks himself, this 25th anniversary edition explores the foundations of software engineering and models that can be used to produce software efficiently.
First published in 1975, The Mythical Man-Month is an important cornerstone of software engineering literature. The book is an anthology of essays that touch on the various topics of software engineering. Brooks offers his views on topics, including: measuring progress; the consequences of specialization in software development; programming teams and their advantages; the fallacy of the “silver bullet” and the failed attempts by various software engineering methods to eliminate complexity; and more.
Brooks had an unusual view on software development that was often counter to the popular views at the time. For instance, he argued that having more man-power devoted to a large software project often achieved counter-productive results because it was too difficult to coordinate the organization. He also argued that large software projects suffered from “constraints of identity”, which argued that people in the software engineering process had to be given credit and recognition for their work, and in large teams this was often difficult to achieve. However, he also was aware that, when properly managed, small teams can still be highly productive.
The second edition of the book focused heavily on the early practices of object-oriented programming, which Brooks offers his observations of and recommended best practices, including: languages with simpler syntax and appropriate abstractions; the importance of reducing coupling in code; and the value of designing for change and adaptability in code.
The 25th anniversary edition of the book includes three new essays produced by the original authors for a special occassion. These essays, “No Silver Bullet—Essence and Accidents of Software Engineering”, “Plan to Throw One Away”, and “The Surgical Team” focus more deeply on the topics from the book that have been most relevant as software engineering has evolved and matured over the years.
The Mythical Man-Month has become a classic staple of software engineering literature. While the ideas contained in the book have sometimes seemed controversial to some, they have largely become accepted as time has gone on. This 25th anniversary edition provides an excellent context for those new to software engineering, as well as a great refresher for those more experienced in the field. This book should be on the shelf of any aspiring or current software engineer.