На первый взгляд всё просто: если один человек делает условную 1 единицу работы, то десять должны сделать 10. Но на практике это так не работает.

Чем больше людей, тем больше времени уходит на коммуникацию: нужно синхронизироваться, договариваться, проводить ревью и согласовывать решения.

Отдельная проблема это передача контекста. Чем больше команда, тем сложнее сделать так, чтобы все одинаково понимали, как и почему устроена система. Особенно если нет чётких правил хранения знаний: часть информации остаётся в чатах, часть в Jira, часть в Confluence, а что-то вообще существует только в голове у конкретного человека.

В итоге поиск нужной информации и восстановление контекста сами становятся частью работы.

Есть и другая сторона, которую называют социальной ленью. В большой группе вклад конкретного человека становится менее заметным. Сложнее увидеть прямую связь между своими усилиями и общим результатом, а ответственность постепенно размывается. Появляется ощущение, что если сделать чуть меньше, кто-то другой это компенсирует.

В разработке оба фактора хорошо заметны. Добавляя людей в команду, мы получаем не только дополнительные руки, но и новые связи, зависимости и коммуникации.

Больше людей ≠ пропорционально больше результата.

Иногда вместо расширения команды полезнее уменьшить количество зависимостей, чётче разделить зоны ответственности и дать небольшим группам больше автономности.