Какой оптимальный размер команды?

Ответ

В моем опыте оптимальный размер команды разработки — 5-9 человек (включая разработчиков, тестировщика и техлида). Это соответствует принципу "двух пицц" — команда, которую можно накормить двумя пиццами, имеет оптимальную коммуникацию.

На последнем проекте по разработке высоконагруженного бэкенда на Java у нас была команда из 7 человек:

  • 3 backend-разработчика (включая меня),
  • 2 frontend-разработчика,
  • 1 QA-инженер,
  • 1 тимлид, который также занимался архитектурой и код-ревью.

Почему это сработало:

  • Скорость коммуникации: ежедневные стендапы были краткими, все были в курсе статусов друг друга.
  • Четкое распределение ответственности: за каждый микросервис отвечал конкретный разработчик, но при этом у нас было достаточное перекрестное владение (cross-functional), чтобы покрывать отпуска и больничные.
  • Эффективное принятие решений: технические дискуссии (например, выбор между Kafka и RabbitMQ) проходили быстро, так как собиралось мнение всех ключевых специалистов без излишней бюрократии.

Команды больше 10 человек я видел менее эффективными — начинают формироваться подгруппы, растут накладные расходы на совещания и синхронизацию.

Ответ 18+ 🔞

А знаешь, что самое охуенное в команде? Когда ты можешь собрать всех на созвоне и не тратить полдня на выяснение, кто что делает. Вот у нас на прошлом проекте по бэкенду на Java было как раз так — семь человек, включая меня. Идеально, ёпта!

Состав был такой, что просто песня:

  • Три заднеприводных инженера (я в их числе),
  • Два парня, которые верстают эти ваши интерфейсы,
  • Одна тестировщица — девушка с характером, которая могла найти баг в идеальной пустоте,
  • И тимлид, который не просто задачи кидал, а сам в архитектуре ковырялся и код-ревью делал.

И знаешь, почему всё летало, а не ползало?

  • Общение — огонь. Стендапы длились минут по десять, максимум. Все знали, кто чем занят, без этих долгих разглагольствований. Никакой воды, чистая конкретика.
  • Ответственность не размазана. У каждого был свой кусок, свой микросервис. Но при этом, если кто-то уходил в отпуск или, не дай бог, на больничный — всегда находился тот, кто мог в его код залезть и не устроить там пожар. Перекрёстное владение — это сила.
  • Решения принимались, а не обсуждались вечность. Помню, спорили, что брать для очередей — Kafka или RabbitMQ. Собрались, быстро накидали плюсы и минусы, тимлид резюме подвёл — и поехали дальше. Никаких бесконечных митингов ради митингов.

А вот команды, где больше десяти голов — это уже ёперный театр. Там начинается деление на кланы, совещания для планирования совещаний, и половину рабочего дня ты просто синхронизируешься, а не работаешь. Овердохуища людей — это путь в никуда. Проверено на своей шкуре.