Brooks' Law of Software Development
Why adding more people to a late project will delay it further
We’ve all had projects that have fallen behind schedule. It may feel tempting to add more people to the project to speed up the expected timelines.
But, Fred Brooks argued otherwise. In 1975, Brooks wrote a book called The Mythical Man-Month which argues that adding more people to a delayed software engineering project will only delay it further.
In the book, Brook argues the following:
Software projects are complicated. New workers have a ramp up period where they must first be educated on the details of the project. Training (and fixing the work) of new workers diverts resources from the existing team.
Due to combinatorial explosion, the number of communication channels increases dramatically as new people join the project.
Developers are highly specialized, and therefore software development projects are not highly divisible. As specialization/skill requirement of any task increases, the timeline of the task becomes less proportional to the number of people working on the task.
In fact, for delayed projects, some have argued that a “Bermuda Plan” - where most people are removed from a project and a small core team is left - keeps the top performers focused on delivery and reduces the coordination required. This implies that software projects have a “time to completion” minimum (or productivity maximum) found at a certain number of workers.
It’s important to note that Brooks’ law only applies to projects that are already behind schedule. Earlier in the project schedule, adding new people is necessary as the project scope becomes fully defined.
Of course, every situation is unique, and Brooks himself warned of the law becoming an oversimplification. Regardless, with every project, be conscious of the project’s degree of resource elasticity.