Skip to content
Marc Prager

Brooks's Law and the man-month

As software engineers and project managers, you're regularly faced with tight deadlines and difficult resourcing decisions — not least how many developers to put on a project. A common but mythical belief is that adding manpower to an already-delayed project speeds it up. Here, we debunk that idea by exploring the 'man-month' and Brooks's Law.

The Man-Month Concept

First, it helps to understand the concept of the "man-month". The term was coined by Fred Brooks, the renowned software engineer and author of the classic book "The Mythical Man-Month". A man-month, in Brooks's terms, is simply a unit of measurement for the amount of work one person can accomplish in a month.

A misunderstood concept

The man-month concept has often been misunderstood, leading project managers to assume that if one person can do a certain amount of work in a month, two people can do twice as much in the same time. This assumption feeds the myth that adding staff to a delayed project will speed up its completion. In practice, it rarely works that way — instead, it usually just creates more coordination overhead.

Debunking the Myth: Brooks's Principle

With the mythical man-month clarified, let's look at Brooks's actual argument. According to Brooks, "adding manpower to a late software project makes it later" — a statement that flatly refutes the mythical man-month idea.

While adding new people to a project might seem like the logical fix, the reality is very different. As we explore in our training on the 7 fundamental laws of Time Management, integrating new team members requires the existing team to spend time bringing them up to speed — time that slows down the whole project and could otherwise have gone into the actual work.

The Role of Effective Communication

Brooks's principle also highlights the importance of communication. A bigger team doesn't just mean more people writing code — it means an exponential rise in communication lines. This follows the formula n(n-1)/2, where 'n' is the number of developers. With 5 developers, that's 10 communication lines; add just one more developer, and it jumps to 15.

Brook's law
Discover the Advantage of the Brooks's work on Collaboration

These channels aren't just a matter of saying "good morning" to a colleague — they involve discussing and explaining code, project requirements, and system architecture in real depth. Each new team member adds another layer of complexity, making communication more difficult and time-consuming, and slowing the project down as a result.

Applying Brooks's Principle in Project Management

Understanding Brooks's principle, and what it implies, is essential to running a project well. A project manager's core role is ensuring the team works efficiently and towards the same goal — which often means carefully balancing project needs against available resources.

Understanding the project's real complexity, planning carefully, allocating resources wisely, and fostering effective communication are what actually drive successful software development. It's also worth remembering that every team member brings unique skills and experience — using these well leads to more efficient execution and a higher-quality end product.

Brooks: A Silver Bullet?

Brooks's research, while important, is not a silver bullet for every development problem. Understanding the concept helps project managers make more informed decisions about resourcing and timelines, but it's far from the only factor at play.

It's also worth remembering that Brooks's rule emerged from 1970s software development practices. Modern project tools now enable far better coordination and communication across teams, and agile methodologies — with their emphasis on iterative development and regular feedback — help manage the complexity of software projects more effectively than was possible in Brooks's day.

Brook's law
What impact does Brook's research have on productivity?

FAQ

What is Brooks's Rule in project management?

Brooks's Rule is an observation about software engineering and project management that suggests adding more personnel to a late software project only makes it later. This principle is based on the idea that the complexity and communication costs of a project increase significantly as more people are added, often outweighing the benefits of their individual contributions.

How does the man-month concept relate to Brooks's work?

The man-month concept is a measurement that assumes a project's progress is directly proportional to the number of man-months invested in it. However, Brooks challenges this by highlighting that due to conversation overhead and ramp-up time, simply multiplying the workforce may not lead to a proportional increase in productivity, particularly in the context of late developments.

What are the key limitations to productivity addressed by Brooks's concept?

Brooks points out two main factors that limit productivity in software development. The first is the interaction overhead that escalates as more people join a project, requiring more time spent on interaction rather than productive development. The second is the ramp-up time needed for new team members to become productive, which includes learning the project's specifics, the existing codebase, and integrating into the team's dynamics.

Can Brooks's Rule be mitigated, and if so, how?

While Brooks presents a challenge, its effects can be mitigated by careful planning and management. Strategies include investing in thorough documentation, modularising the work to reduce interdependencies, enhancing onboarding processes for new hires, and maintaining clear messaging channels. Smaller, autonomous teams working on well-defined components can also help to lessen the impact of the concept.

Does Brooks's principle apply to all types of initiatives?

Brooks is particularly relevant to software engineering and project management due to their complexity and the high degree of interdependency between various parts of the software. The concept of a "mythical man-month" illustrates how adding manpower to a project can lead to delays, especially when frequent communication is required among team members. Moreover, the underlying principles may also apply to other types of complex, collaborative initiatives, where the time needed to integrate new people can impact productivity negatively. In this regard, effective practices and training are essential for ensuring that existing members of the team can work faster and more efficiently.

Other publications on the same subject

This article was written by Marc Prager.