Fred Brooks was a manager at IBM. He wrote The Mythical Man-Month in 1975 after being assigned to manage the development of OS/360, the company’s first operating system, in March of 1969. The book has sold over 1.2 million copies.
The Mythical Man-Month is based on his experiences managing the OS/360 project. The book was written in response to the burgeoning size of software projects and the difficulties that were being encountered. The book is not just about managing projects but also about the human aspects of software development. The book covers all aspects of software development, including project planning, design, documentation, testing, staffing, and training. The book also covers the problems of debugging and maintenance, and the organization of the development team. It was the first to cover software project management in such detail. The book was written in an informal style and The book includes humorous stories about the OS/360 project.
One of the most important ideas in The Mythical Man-Month is Brooks’s Law, which states that adding manpower to a late software project makes it later. The book includes many humorous stories about the difficulties of debugging, which were at the time thought to be the major cause of software project overruns. The book included many anecdotes about IBM’s OS/360 project.
Key Takeaways of The Mythical Man-Month
1. To become productive, it takes time. Brooks refers to this as the ramp-up time. Software projects are complicated engineering undertakings. New programmers must be educated about previous work. This requires redirecting resources already working on it, which temporarily decreases their productivity, while the new programmers don’t contribute in a meaningful way right away. Every new programmer must also be integrated with a team of engineers, who will educate them in their respective areas of expertise within the code base each day. New programmers can also make a negative contribution to the project, as they may not be able to contribute as much as experienced programmers.
2. As the number of programmers grows, communication overhead rises. The combinatorial explosion means that there are more communication channels than ever before. As more people work on the same task, they need to stay in sync. This is why more people spend more time trying out to figure out what the others are doing.
3. A task’s duration can be decreased by adding more people to a divisible task like cleaning hotel rooms. Other tasks, such as those related to software projects, are less divisible. Brooks illustrates this with an example: While it takes one woman nine years to have a baby, it takes nine months for nine women to have a baby. However, nine women cannot have a baby in ONE month.