Let Reading Be Great Again: Understanding The Mythical Man-Month
Welcome to a new series focusing on approaching classic literature. This episode explores The Mythical Man-Month in computer history, offering guidance on how to read and absorb its content effectively. Instead of simply recommending it, we'll discuss how to approach the book in a way that maximizes understanding and avoids feeling overwhelmed.
The Historical Context
To fully appreciate The Mythical Man-Month, it's essential to understand its historical context. The book was published in the 1970s, reflecting projects from the 1960s, but its roots lie in the 1950s, a period of significant challenges in early computing.
The Computer Crisis of the 1950s
In the 1950s, computers suffered from poor performance and limited storage. Complex tasks often pushed systems to their limits. Two potential solutions emerged, but both were ultimately impractical:
-
Upgrading to a More Powerful Computer: The incompatibility between different computer models meant rewriting all software, negating any time saved from upgrading.
-
Buying an Additional Computer: Each computer required a team of operators and maintainers, creating a significant talent bottleneck.
This lack of viable options stalled progress and discouraged potential customers.
IBM's Bold Decision in the 1960s
IBM took the lead in addressing these challenges in the 1960s. The company made a bold decision to discontinue its existing computer product line and focus on developing a new, integrated series. This new series would utilize the same operating system, allowing hardware integration and compatibility.
The Birth of OS 360 and Modern Software Engineering
This initiative led to the creation of OS 360, the first modern operating system. It introduced concepts like:
-
Compatibility
-
Standardization
-
Parallel performance
-
Memory management
-
File systems
-
I/O Management
A team of 1,000 people, led by Frederick Brooks, pioneered modern software engineering by standardizing, modularizing, and systemizing software development. This transformed software programming into a structured project.
The Impact of The Mythical Man-Month
In the 1970s, Frederick Brooks shared the experience of these software projects in The Mythical Man-Month, benefiting the entire software industry. This contribution played a role in Brooks receiving the Turing Award in 1999.
Reading The Mythical Man-Month with Perspective
Published for over 50 years, some of the book's details may seem outdated due to technological advancements. Avoid treating it as a current software engineering management guide. Instead, view it through a historical lens.
Consider how the ancients used limited tools with their wisdom. The insights in The Mythical Man-Month transcend their time period. In the primitive computing landscape of the 1960s, the author identified problems and proposed solutions, showcasing a remarkable level of wisdom.
Examples of Enduring Wisdom
For instance, the "surgical team" concept in the book explores modular approaches to managing complex projects. This concept is an early indication of microservices. It demonstrates the thinking around software management, even if it's not within an architectural setting.
The 20th Anniversary Edition and its Value
The 20th-anniversary edition, published in 1995, includes three additional chapters that re-explore the author's original concepts. These discussions, though 30 years old themselves, further enrich the book, documenting its history and evolution.
Understanding Different Perspectives Within the Book
-
Product Planning and Project Management: Many chapters are discussed from the perspective of a product manager.
-
Architectural Design: The fourth and fifth chapters are written from the perspective of an architect.
-
Programmers and Other Roles: Some chapters discuss programmers and even those responsible for documentation.
It's recommended to read all chapters, even those seemingly unrelated to your specific role. Software engineering is interconnected, and understanding different roles fosters better collaboration and helps you find your place within the project team.
Choosing a Translation
For most audiences, the official Chinese translation is recommended. While not a literary work, the translation is generally accurate. Some professional term translations are even interesting.
It is interesting to note that UML China, who translated the book, acknowledged over 20 mistakes in their initial translation.
A Guide, Not an Interpreter
This exploration aims to guide your reading of The Mythical Man-Month. It avoids imposing personal interpretations. Just as "a thousand readers have a thousand Hamlets," your understanding of the book will be unique and valuable. After reading the book, you'll get your own understanding of the human language myth.