Make money doing the work you believe in

๐—ง๐—ต๐—ฒ ๐—›๐—ถ๐—ฑ๐—ฑ๐—ฒ๐—ป ๐—–๐—ผ๐˜€๐˜ ๐—ผ๐—ณ ๐—”๐—ฑ๐—ฑ๐—ถ๐—ป๐—ด ๐—ฃ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ ๐˜๐—ผ ๐—ฌ๐—ผ๐˜‚๐—ฟ ๐—ง๐—ฒ๐—ฎ๐—บ

Researchers studied thousands of open source projects on GitHub to see what happens to individual productivity when teams grow.

The numbers are interesting:

๐Ÿฎ-๐Ÿฑ ๐—ฝ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ: 1,850 lines of code per developer per month

๐Ÿญ๐Ÿฌ ๐—ฝ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ: 1,200 lines per developer (a 35% drop)

๐Ÿฑ๐Ÿฌ+ ๐—ฝ๐—ฒ๐—ผ๐—ฝ๐—น๐—ฒ: 450 lines per developer (a 75% drop)

This is the Ringelmann Effect. In the 1880s, a French engineer Max Ringelmann had people pull on a rope and measured how hard each person actually pulled.

One person pulling alone gave 100% effort. Two gave about 93% each. Eight gave around 50%. The total force kept growing. Per-person effort kept dropping. Each added body did less than the one before.

Same thing happens in software teams.

The mechanism has two parts.

First, ๐˜€๐—ผ๐—ฐ๐—ถ๐—ฎ๐—น ๐—น๐—ผ๐—ฎ๐—ณ๐—ถ๐—ป๐—ด. In a meeting of 3, you speak. In a meeting of 20, you assume someone else will. Same thing in code: when 10 engineers share a feature, some quietly assume someone else has the tricky parts.

Second, ๐—ฐ๐—ผ๐—ผ๐—ฟ๐—ฑ๐—ถ๐—ป๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ผ๐˜ƒ๐—ฒ๐—ฟ๐—ต๐—ฒ๐—ฎ๐—ฑ. Relationships in a team of N work out to N(N-1)/2. A team of 4 has 6 relationships. A team of 6 has 15. A team of 10 has 45. Each new hire adds N more channels for code reviews, merge conflicts, discussions, and meetings. None of that ships features.

This is why Amazon create teams at the size two pizzas can feed (5-8 people). It's why open source projects with thousands of contributors split themselves into small subsystem teams instead of one massive committee.

The fix isn't to make large teams more efficient. Past a point, you can't. The fix is to stop building large teams.

Cap core teams at 9. Split when you cross 15. Use modular architectures so coordination stays local, not global. Make individual contributions visible so loafing has nowhere to hide.

Adding the 10th engineer probably won't speed your team up. It will just make the other 10 a little slower.

May 19
at
9:05 AM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.