Ответ
В моем опыте оптимальный размер команды разработки — 5-9 человек (включая разработчиков, тестировщика и техлида). Это соответствует принципу "двух пицц" — команда, которую можно накормить двумя пиццами, имеет оптимальную коммуникацию.
На последнем проекте по разработке высоконагруженного бэкенда на Java у нас была команда из 7 человек:
- 3 backend-разработчика (включая меня),
- 2 frontend-разработчика,
- 1 QA-инженер,
- 1 тимлид, который также занимался архитектурой и код-ревью.
Почему это сработало:
- Скорость коммуникации: ежедневные стендапы были краткими, все были в курсе статусов друг друга.
- Четкое распределение ответственности: за каждый микросервис отвечал конкретный разработчик, но при этом у нас было достаточное перекрестное владение (cross-functional), чтобы покрывать отпуска и больничные.
- Эффективное принятие решений: технические дискуссии (например, выбор между Kafka и RabbitMQ) проходили быстро, так как собиралось мнение всех ключевых специалистов без излишней бюрократии.
Команды больше 10 человек я видел менее эффективными — начинают формироваться подгруппы, растут накладные расходы на совещания и синхронизацию.