Ответ
На последнем проекте команда состояла из 7-9 человек, что соответствует рекомендациям Agile (5-9 разработчиков).
Состав команды:
- 6 Backend-разработчиков (Java)
- 1 Frontend-разработчик
- 2 QA-инженера (ручное и автотесты)
- 1 Scrum Master / Team Lead
- 1 Product Owner (частичная занятость на несколько команд)
Почему такой размер эффективен?
- Коммуникация: Позволяет поддерживать высокую пропускную способность информации без излишних совещаний.
- Гибкость: Легко перераспределять задачи и покрывать отпуска/болезни.
- Фокус: Команда достаточно мала, чтобы быть сплоченной, и достаточно велика, чтобы обладать всеми необходимыми навыками.
Как была организована работа внутри команды? Мы не делились на жесткие подгруппы, но задачи часто брались в пары (pair programming) для сложных фич или знаний sharing. Пример условной структуры для параллельной работы:
// Условное разделение по целям, а не по ролям
TeamSubFocus focusA = new TeamSubFocus("Разработка нового микросервиса платежей");
TeamSubFocus focusB = new TeamSubFocus("Рефакторинг и технический долг модуля отчетности");
// Члены команды могли переключаться между фокусами от спринта к спринту.