Skip to main content
Decisions progress
expertPage 6 of 17

The Two-Pizza Rule

A team should be small enough that two pizzas can feed it. Communication overhead grows quadratically.

The Two-Pizza Rule

In one line: A team should be small enough that two pizzas can feed it — roughly 6–10 people.

In plain English

Amazon's famous rule. Communication overhead grows quadratically with team size: 10 people have 45 possible pairs to talk; 20 people have 190. Small teams ship faster because there's less to coordinate and ownership is unambiguous. Once "everyone is responsible," no one actually is.

Amazon's famous rule. Translated: 6–10 people maximum.

Why this matters

  • Communication overhead grows quadratically with team size. 10 people have 45 possible pairs; 20 people have 190.
  • Small teams ship faster. Less coordination, more ownership.
  • Accountability is clearer. When everyone's responsible, no one is.

How to apply it

  • Service ownership: Each service owned by one team. If two teams need to coordinate constantly, the service boundary is wrong.
  • Team splitting: When a team grows beyond ~10, split it.
  • Project teams: Cross-functional groups should also stay small.

Trade-offs

Small teams can become silos. Counter with:

  • Cross-team rotations.
  • Shared design system, infrastructure, observability.
  • Open Slack channels.
  • Engineering all-hands.
Worked example: when to split

A team of 8 ships a feature every two weeks. Over a year, they grow to 14 people.

Symptoms a few months in:

  • Standups take 25 minutes instead of 10.
  • Half the team is on a Slack thread about a decision that doesn't affect them.
  • Two engineers are doing similar work without realizing it.
  • Velocity has dropped despite adding people (Brooks' law in action).

The fix: split into two teams of 7 with clear ownership boundaries. Maybe "payments + billing" and "core product." Each team gets a single service or module as its primary responsibility. Velocity recovers within a sprint or two.

Highlight: the boundary test

If two teams need to be in the same meeting every week to make progress, the boundary is wrong. Either:

  1. They're actually one team (merge them), or
  2. The service boundary should change so they don't need to coordinate constantly.

The two-pizza rule is really about conway's law: your system architecture will end up mirroring your team structure. Get the teams right, and the architecture follows.

Common mistakes

Where people commonly trip up
  • Splitting headcount without splitting ownership. Two teams of 7 that share the same codebase, the same on-call, and the same backlog are just one 14-person team with extra meetings. Splitting only counts when each side owns a service or module that the other doesn't need permission to ship in.
  • Counting only engineers in your team-size math. Two-pizza teams include the PM, the designer, the data scientist, and anyone else in the standups. A team with 8 engineers, 2 PMs, a designer, and a data lead is already 12 — coordination cost is already biting.
  • Treating the split as permanent. Team boundaries should track product reality, not org-chart inertia. When two teams find themselves constantly co-deploying, the boundary is wrong; merge or redraw it. The two-pizza count is the goal, not the boundary itself.
  • Hiring to fix throughput when coordination is the bottleneck. Adding a tenth engineer to a struggling team of nine almost always makes it slower — see Brooks' law in the worked example. Before pitching for more headcount, audit whether the team's coordination overhead is what's actually slowing you down.

Page checkpoint

Checkpoint Quiz

Did the two-pizza rule stick?

Required

What's next

→ Continue to The "Why Now?" Question — before adopting any new technology or pattern, demand a concrete reason.