Brooks's Law

Brooks's Law

One-liner: Adding human resources to a late software project makes it later.

🎯 What Is It?

Brooks's Law, also known as the Mythical Man Month principle, is a software project management observation coined by Fred Brooks in his 1975 book "The Mythical Man-Month." The law states that adding more people to a software project that is already behind schedule will actually delay it further rather than speed it up. This counterintuitive principle challenges the common assumption that doubling the team size will halve the project timeline.

πŸ€” Why It Matters

πŸ”¬ How It Works

Core Principles

The law is based on two fundamental observations:

1. Complex Communication Overhead

When you add a developer to a team, you don't just add productivityβ€”you add communication channels.

Communication channels formula:

n(n-1)/2

Where n = number of team members

Example:

Each new person must:

2. Ramp-Up Time (Training Overhead)

New team members are net negative initially:

  1. Onboarding time: Learning codebase, tools, architecture (2-4 weeks minimum)
  2. Mentorship drain: Existing developers must spend time training newcomers
  3. Mistake correction: New developers introduce bugs that experienced developers must fix
  4. Context switching: Senior developers lose productivity while explaining concepts

Productivity curve for new developer:

Week 1-2:  -20% (net drag on team, requires constant help)
Week 3-4:  -10% (asking many questions, making mistakes)
Week 5-8:    0% (breaking even, minimal contribution)
Week 9-12:  +50% (productive but not yet expert)
Week 13+:   +100% (fully productive)

Why Late Projects Get Later

When a project is behind schedule:

  1. Existing developers are already working at capacity
  2. Adding new developers:
    • Forces experienced developers to stop coding and train newcomers
    • Increases bugs and rework as newcomers make mistakes
    • Adds coordination overhead for meetings and status updates
    • Introduces miscommunication and integration issues
  3. Result: The project slows down further while new developers ramp up

Mathematical Model

If a project requires 100 "man-months" of work:

🎀 Interview Angles

Common Questions

STAR Story

Situation: Six weeks before launch, our web application project was 3 weeks behind schedule. Management wanted to double the team from 5 to 10 developers to "catch up."
Task: Advise whether adding developers would help meet the deadline.
Action: Presented Brooks's Law analysis showing: 5 new developers would require 20+ hours/week of senior developer time for training (reducing current capacity by 40%), communication overhead would increase 6x, and new developers wouldn't be productive for 4-6 weeks minimumβ€”past our deadline. Instead, proposed: (1) reduce scope by deferring non-critical features, (2) automate testing to free up QA time, (3) extend deadline by 2 weeks.
Result: Management accepted reduced scope approach. We launched on time with core features, and added the deferred features in v1.1 four weeks later. Avoided the cost of hiring/onboarding 5 developers who would have actually slowed us down.

Q: Are there exceptions to Brooks's Law?

Yes, when:

  1. Work is clearly partitionable (separate microservices with minimal dependencies)
  2. New developers are added early (before project is behind schedule)
  3. Team size is still small (<5 people) so communication overhead is manageable
  4. New developers are already experts in the specific technology stack

βœ… Best Practices

❌ Common Misconceptions

πŸ“š References