Concept · Laws of software engineering
Brooks's law
Adding people to a late software project makes it later, because new people cost time before they save any.
3 minMythical Man-Monthman-monthadding people to a late project
Brooks's law says that adding manpower to a late software project makes it later. Fred Brooks stated it in The Mythical Man-Month (1975), drawn from his experience managing IBM's OS/360. The book's title is the point: people and months are not interchangeable.
How it works
Three costs arrive the moment you add someone:
- Ramp-up. A new person needs weeks to learn the code, the tools and the domain. Someone on the team has to teach them, so the team slows down before the newcomer speeds anything up.
- Communication. With n people there are n(n − 1)/2 possible pairs who might need to coordinate. Going from 5 to 10 people takes you from 10 pairs to 45.
- Indivisible work. Some tasks can't be split. Nine people can't make a baby in one month, and nine engineers can't debug one race condition nine times faster.
On a project that is already late, the remaining time is short, so the ramp-up cost can easily eat all of it.
What to do instead
- Cut scope first. Removing a feature is the fastest way to bring a date in.
- If you add people, give them separable work and a named person to ask, rather than spreading them across the hardest problems.
- Protect the critical path. Keep the people who know the hard parts focused on them, and move everything else away from them.
- Re-plan honestly. A project late once is usually late because the estimate was wrong, not because the team was small.