Random Thoughts on Software Engineering

The Mythical Man-Month in 2025

humans-dinosaurs

In 1975, Frederick P. Brooks Jr. published The Mythical Man-Month - Essays on Software Engineering, a collection of insights gleaned from his experience managing IBM’s System/360 and its companion software, OS/360. Born out of the frustrations and revelations of one of the largest software projects of its time, the book distilled lessons that would come to define the field of software project management. Now, on its 50th anniversary, The Mythical Man-Month remains hauntingly relevant, especially its most quoted principle - “Adding manpower to a late software project makes it later.”

This deceptively simple statement—now known as Brooks’s Law—is more than just an aphorism. It captures a fundamental flaw in how many organizations conceptualize software development - as linear, modular, and scalable through brute force (the old joke that a project manager is a person who believes 9 months can bear a child in 1 month). Yet, despite half a century of progress in tools, methodologies, and theory, the software industry continues to repeat many of the same mistakes Brooks warned about. To understand why, we must first unpack the book’s enduring lessons and then connect them to deeper truths about team dynamics and communication complexity.


Key Lessons from The Mythical Man-Month

Brooks wrote at a time when software engineering was still a nascent discipline. His insights were born from grappling with systemic failure—projects that ran over time, over budget, and under expectation. Among the book’s key ideas:


Why Adding People to a Late Project Makes It Later

The core of Brooks’s Law lies in the hidden costs of onboarding and communication. When new team members join a project:

This last point is key. As the number of team members grows, the number of potential communication channels grows according to the formula:

Number of channels = n*(n-1)/2 ​

This is closely related to Metcalfe’s Law, which states that the value of a network is proportional to the square of the number of users. While this is a strength in networks like social media, in software teams, it becomes a burden. Every added team member introduces multiple new communication dependencies, increasing the likelihood of misalignment, duplicated effort, and delays.

Team Dynamics: Storming, Norming, and Performing

Another underappreciated insight relates to Tuckman’s stages of team development: forming, storming, norming, and performing. When a new person joins a team—even a small one—the group often regresses to earlier stages.

This creates churn:

Each cycle consumes scarce time, and in a late project, time is the most precious resource. Ironically, well-meaning attempts to “fix” a delayed project often break the very conditions needed for it to succeed. When you add new members to the team, even a well-functioning one - this causes the team dynamics to go through the cycle of storming to performing at least partially, which induces slowdown and risks.


Why Haven’t We Learned These Lessons?

Despite the clarity of Brooks’s arguments and decades of empirical support, his insights are routinely ignored. There are several reasons for this:


A Book Still Ahead of Its Time

The Mythical Man-Month endures not because of nostalgia, but because it articulates truths that remain difficult to internalize. Software engineering is not factory work. It is a creative, collaborative, and often chaotic process that resists simplistic solutions. Brooks gave us not just warnings, but wisdom—guidelines that, if heeded, could save billions in wasted effort.

Fifty years on, the lesson remains - throwing people at a problem isn’t the same as solving it. Until we align our management practices with the true nature of software development, Brooks’s law will continue to rule—not as myth, but as immutable reality.