Откройте доску вашего текущего спринта. Посчитайте карточки со статусом «Заблокировано — ждёт другую команду». Если их больше 20% — вы работаете в компонентной структуре и платите за это скоростью.
Вот типичная картина: фронтенд-команда закончила свою часть за неделю, но карточка висит, потому что бэкенд занят другим потоком. Бэкенд передаёт задачу в БД — там очередь на три спринта. QA подключается последней и находит интеграционный баг, который возвращает задачу к бэкенду. Итог: фича, которую можно сделать за две недели, выходит через шесть.
Структурная проблема, которую видно прямо в таск-трекере — по паутине зависимостей между проектами разных технических команд.
Фича-команда решает эту проблему иначе: все нужные специалисты — в одной команде, фича идёт от идеи до релиза без межкомандных согласований. При этом компонентная структура не устарела и не требует немедленного сноса.
В этой статье — прямое сравнение двух моделей через артефакты таск-трекера (бэклог, доски, зависимости), пять измеримых сигналов того, что пора меняться, и пошаговый план перехода, который не останавливает текущую разработку. Плюс честный разговор о том, когда фича-команды не нужны.
Что такое компонентная команда и почему она до сих пор жива
Компонентная команда строится вокруг технической специализации: фронтенд-команда, бэкенд-команда, команда баз данных, QA-команда. Каждая группа глубоко знает свой слой системы и получает работу в виде запросов от других команд или от менеджера, который координирует поток между ними.
Бэклог такой команды выглядит соответствующе: технические задачи без контекста пользовательской ценности. «Добавить индекс в таблицу users», «Рефакторинг API-эндпоинта /orders», «Обновить CSS-компонент формы». Кто заказал эту работу и зачем — в карточке не написано. Команда не знает, какую бизнес-задачу решает её спринт.
Проблема возникает, когда продуктовая фича требует изменений в нескольких компонентах одновременно. Тогда фича превращается в цепочку согласований: бэкенд ждёт, пока фронтенд освободится, фронтенд ждёт API от бэкенда, QA ждёт всех. Каждая команда оптимизирует свой участок, но никто не отвечает за время выхода фичи целиком.
Означает ли это, что компонентная структура — ошибка? Нет. Она решает конкретные задачи там, где они есть.
Инфраструктурные и платформенные команды — классический пример оправданной компонентной структуры. Команда, которая строит CI/CD-пайплайн, поддерживает дизайн-систему или разрабатывает SDK для внешних партнёров, не делает пользовательские фичи. Её работа — создавать инструменты для других команд. Здесь компонентный подход органичен: глубокая специализация важнее скорости выхода пользовательских функций.
Аналогично для задач с низкоуровневой технической экспертизой: разработка драйверов, работа с ядром системы, высоконагруженные базы данных на уровне архитектуры. Там «немного знать всё» — не добродетель, а риск.
Компонентная команда — инструмент с конкретной областью применения. Когда его используют за пределами этой области — появляются блокировки, длинные релизные циклы и ощущение, что разработка «тормозит по непонятным причинам». Причины понятны: они видны на доске.
Фича-команда — не просто «все в одной лодке»
Фича-команда — это долгоживущая кросс-функциональная единица, которая берёт задачи, описанные пользовательским языком, и доводит их от начала до конца, работая в нескольких компонентах кодовой базы. Определение из LeSS звучит именно так — и каждое слово здесь несёт смысл.
«Долгоживущая» означает, что команда не собирается под конкретный проект и не распускается после релиза. Она работает с продуктовым потоком постоянно. Команда накапливает контекст системы, знает её слабые места, умеет оценивать задачи точнее с каждым спринтом.
Способность работать в разных частях кодовой базы — ключевое отличие. Фронтендер может сделать ревью бэкенд-кода и при необходимости внести правку. Бэкендер понимает, как его API используется на клиенте. Команда не зависит от внешних технических команд для реализации фичи целиком.
Именно поэтому просто собрать разные роли в одну команду — недостаточно. Можно посадить рядом фронтендера, бэкендера и QA, но если каждый работает только в своём слое и не может зайти в чужой — межкомандные зависимости никуда не денутся, они просто переедут внутрь команды.
Бэклог фича-команды описан пользовательским языком. Не «добавить индекс», а «Пользователь видит историю заказов за последние 12 месяцев без задержки». Подзадачи внутри карточки — технические (добавить индекс, обновить API, написать тест), но верхний уровень — пользовательская ценность. Команда принимает решения иначе: не «как лучше реализовать технически», а «что нужно пользователю и как это сделать достаточно хорошо». На практике это проявляется в том, что разработчик сам отсекает over-engineering — потому что видит, что пользователю достаточно простого решения.
Важно не путать фича-команду с продуктовой командой. ScrumTrek разграничивает их так: продуктовая команда отвечает за весь жизненный цикл продукта — от стратегии до долгосрочной поддержки. Фича-команда фокусируется на создании конкретных функций и улучшений. Зона ответственности уже, горизонт планирования короче.
Фича-команда — основная единица в LeSS и рекомендованный паттерн в SAFe. Причина проста: большинство пользовательских фич требуют изменений в нескольких компонентах одновременно, и единственный способ убрать межкомандные зависимости — собрать всех нужных людей в одну команду.
Как выглядит работа двух моделей на одной доске: бэклог, статусы, зависимости
Разница между двумя структурами становится очевидной, когда смотришь не на оргсхему, а на доску в таск-трекере.
Сценарий А: компонентная структура
Четыре отдельных пространства в трекере: Фронтенд, Бэкенд, БД, QA. В каждом — свой бэклог с техническими задачами. Когда продуктовая фича входит в работу, менеджер создаёт карточки в каждом пространстве и вручную связывает их зависимостями. На доске Бэкенда появляется карточка «Заблокировано — ждёт Фронтенд». На доске Фронтенда — «Заблокировано — ждёт API от Бэкенда».
Прогресс по фиче целиком не виден нигде. Чтобы понять, на каком этапе фича, нужно переключаться между четырьмя пространствами, смотреть статусы связанных карточек и держать в голове, кто кого ждёт. Менеджер проекта превращается в диспетчера зависимостей.
Бэклог каждой команды заполнен техническими задачами без контекста ценности. Приоритизация внутри команды строится по загрузке, а не по бизнес-приоритету фичи.
Сценарий Б: фича-команда
Одно пространство. Бэклог состоит из user stories: «Пользователь может экспортировать отчёт в PDF», «Менеджер видит сводку по команде на главной странице». Внутри каждой карточки — подзадачи по компонентам (фронт, бэк, тесты), но они живут в одном месте и принадлежат одной команде.
Доска сгруппирована по стадиям: Аналитика → Дизайн → Разработка → Тестирование. Вкладки показывают текущий спринт, полный бэклог и просроченные задачи. Прогресс по фиче виден на одном экране: карточка движется по стадиям, подзадачи закрываются внутри неё. Никаких межпроектных зависимостей — всё в одном месте.
Ключевая разница в метриках: компонентная команда измеряет прогресс количеством закрытых задач внутри своего слоя, а фича-команда — lead time фичи от бэклога до продакшена. Закрытые задачи — ложная метрика, потому что команда может закрывать десятки карточек, пока ни одна фича не доходит до пользователя. Lead time фичи показывает реальную скорость доставки ценности.
В Shtab фича-команда использует одно пространство с группировкой по стадиям и вкладками для спринта и бэклога — вся фича видна на одном экране, без переключений между проектами разных компонентных команд. Группы в Shtab позволяют организовать оба сценария, но фича-команда получает очевидное преимущество: меньше межпроектных связей, прозрачнее прогресс.
| Компонентная команда | Фича-команда | |
|---|---|---|
| Тип бэклога | Технические задачи | User stories |
| Структура доски | По командам/компонентам | По стадиям работы |
| Зависимости | Межпроектные, внешние | Внутри команды |
| Метрика прогресса | Закрытые задачи команды | Lead time фичи целиком |
Контр-интуитивный вывод: компонентные команды иногда быстрее фича-команд

Прежде чем переходить на фича-команды, стоит честно ответить на вопрос: а есть ли у вас фичи?
Звучит странно, но логика простая. Если команда занимается платформенной разработкой — строит API для внешних партнёров, создаёт дизайн-систему, мигрирует базы данных — её бэклог не состоит из пользовательских историй. Там инфраструктурные задачи, рефакторинг, технический долг. Фича-команда с таким бэклогом будет работать искусственно: user stories придётся придумывать, чтобы соответствовать методологии, а не потому что они нужны.
Принудительное формирование фича-команд на платформенных проектах приводит к обратному эффекту — это подтверждает материал команды DocDoc на Habr, где описаны случаи потери фокуса и размывания экспертизы при неоправданном переходе. Команда теряет архитектурное видение, решения принимаются «по ходу», а накопленная глубина знаний растворяется между участниками.
Конкретные сценарии, где компонентная структура выигрывает:
Платформенная разработка. Команда, которая создаёт инфраструктуру (CI/CD, SDK, API-шлюз), работает как сервис для других команд. Здесь глубокая специализация критична, а скорость выхода пользовательских фич — не её метрика.
Ранняя стадия продукта с высокой технической неопределённостью. Когда архитектура ещё не устоялась, а команда исследует технические ограничения, способность работать в нескольких компонентах может навредить: никто не знает систему достаточно глубоко, чтобы уверенно работать в чужом слое.
Команда без T-shaped специалистов. Фича-команда требует людей, которые глубоко знают свою область и могут работать в смежных. Если таких людей нет — переход займёт месяцы обучения, и в этот период качество кода в незнакомых компонентах будет деградировать.
Регуляторные ограничения и compliance. В финтехе и медтехе иногда требуется формальное разделение ответственности по компонентам — для аудита, сертификации, соответствия стандартам. Фича-команда усложняет трассировку «кто отвечает за этот конкретный слой».
Решение о структуре — инженерное, не идеологическое. Правильный вопрос: что именно делает ваша команда и какая структура соответствует этим задачам?
Пять метрик, которые покажут — пора переходить на фича-команды

Если вы сомневаетесь, нужен ли переход, откройте трекер и проверьте пять показателей. Они дадут ответ точнее любого методологического обсуждения. Пороговые значения ниже основаны на паттернах, описанных в LeSS Case Studies и практике Agile-трансформаций — точные цифры зависят от контекста, но порядок величин устойчив.
1. Процент заблокированных карточек
Откройте текущий спринт и отфильтруйте карточки со статусом «Заблокировано» или «Ожидает другую команду». Больше 20% от всех задач в спринте — структурная проблема уже есть. При 30% и выше команды тратят треть спринта на ожидание, а не на работу. Это самый быстрый индикатор — проверяется за пять минут.
2. Lead time фичи vs lead time задачи
Посмотрите, сколько времени проходит от появления фичи в бэклоге до её релиза. Сравните с lead time одной задачи внутри команды. Если фича проходит через три и более команды, а её lead time в четыре-пять раз превышает lead time отдельной задачи — это потери на передачах между командами, а не сложность продукта.
3. Количество межпроектных зависимостей
Откройте фильтр по связям в трекере. Паутина зависимостей между четырьмя и более проектами, которая растёт от квартала к кварталу — сигнал того, что масштаб координационных издержек будет только увеличиваться.
4. «Пинг-понг» карточек
Посмотрите историю изменений у задач, которые закрывались дольше всего. Карточка возвращалась между командами два раза и более — значит, ни одна команда не видела фичу целиком и не несла ответственности за конечный результат.
Каждый возврат — потерянный спринт.
5. Разрыв между бизнес-приоритетом и очередью
Возьмите пять самых приоритетных фич из продуктового бэклога. Проверьте, где они стоят в очередях компонентных команд. Если высокоприоритетная фича ждёт в очереди у бэкенд-команды, занятой низкоприоритетной задачей для другого потока — бизнес-приоритеты не управляют разработкой. Управляет загрузка компонентных команд.
Эти пять метрик — операционные индикаторы. Они показывают, где структура мешает доставке ценности. Для полной оценки эффективности команды нужны и другие инструменты (velocity, satisfaction, retention), но именно эти пять отвечают на вопрос «нужен ли переход».
Если три и более метрики показывают критические значения — переход на фича-команды, скорее всего, окупится. Если критична только одна — возможно, проблема решается иначе: улучшением приоритизации задач в бэклоге или настройкой процесса передачи между командами.
Типичный сценарий перехода: команда из 40 разработчиков, 4 месяца, измеримый результат
Следующий сценарий описывает типичный путь трансформации по паттернам LeSS-адаптации. Конкретные цифры взяты из диапазонов, которые фиксируют LeSS Case Studies для команд аналогичного размера.
До: пять компонентных команд — две фронтенд, две бэкенд, одна QA+DevOps. Средний lead time фичи — шесть недель. 35% карточек в спринте имели статус «Заблокировано». Менеджер проекта тратил половину рабочего времени на координацию зависимостей между командами.
Месяц 1: пилот без ломки структуры
Из добровольцев собрали первую фича-команду: один фронтендер, один бэкендер, один QA. Принципиально — добровольцы, не назначенные. Команда взяла один продуктовый поток (личный кабинет пользователя) и начала работать по нему целиком. Остальные четыре команды продолжили работу в прежнем режиме.
Пилотная команда создала отдельное пространство в трекере с группировкой по стадиям. Бэклог переписали в user stories. Первые две недели ушли на то, чтобы разобраться, как работает чужой код — фронтендер впервые читал бэкенд-логику, бэкендер разбирался в компонентной архитектуре фронта.
Месяцы 2–3: перекрёстное обучение
Запустили pair programming между фронтендерами и бэкендерами из разных команд. Не полный обмен ролями — достаточно понимать смежный слой на уровне ревью и простых правок. Сформировалась вторая фича-команда из следующей волны добровольцев.
Параллельно провели аудит зависимостей: визуализировали все межпроектные связи за последние два квартала. Это показало, какие компоненты создают наибольшее количество блокировок — именно туда направили обучение в первую очередь.
Месяц 4: новая структура
Три фича-команды, каждая со своим продуктовым потоком. Одна платформенная команда (компонентная) — для инфраструктуры, CI/CD и общих технических сервисов. Компонентная структура не исчезла — она заняла своё место там, где оправдана.
Lead time фичи снизился с шести недель до двух. Доля заблокированных карточек упала до 8%. Менеджер перестал быть диспетчером зависимостей и вернулся к работе с продуктовым бэклогом.
Пошаговый план перехода: от компонентных команд к фича-командам без остановки разработки
Переход не требует «заморозки» текущей разработки. Требует последовательности.
Шаг 1. Аудит зависимостей
Визуализируйте все межкомандные связи в трекере за последние два-три спринта. Найдите «горячие точки» — компоненты, которые чаще всего блокируют другие команды. Это покажет, где потери максимальны и с какого потока начинать пилот. На этом шаге удобно использовать портфель проектов в Shtab: он показывает все проекты и их прогресс на одном экране, что позволяет увидеть, где фичи «застревают» между компонентными командами.
Заодно на этом шаге полезно связать стратегические цели с тактикой команд — чтобы понять, какие продуктовые потоки приоритетны для бизнеса и с них начинать.
Шаг 2. Определить пилотный поток
Выберите одну продуктовую область — достаточно изолированную, чтобы пилотная команда могла работать с минимумом зависимостей от остальных. Идеально — область, которая уже сейчас требует больше всего координации между компонентными командами.
Шаг 3. Сформировать пилотную команду из добровольцев
Не назначайте людей принудительно. Найдите тех, кто готов работать за пределами своей зоны комфорта. Минимальный состав: один фронтендер, один бэкендер, один QA. Дизайнер и DevOps — по возможности.
Шаг 4. Создать отдельное пространство с группировкой по стадиям
Переписать бэклог пилотного потока в user stories. Настроить группировку по стадиям (Аналитика → Дизайн → Разработка → Тестирование) и вкладки для спринта и бэклога. Это не косметика — это изменение того, как команда думает о работе.
Шаг 5. Запустить перекрёстное обучение
Pair programming, ротация на code review, совместные технические сессии. Цель не «все умеют всё», а «каждый понимает смежный слой достаточно, чтобы не блокироваться на нём». На этом этапе важно грамотное делегирование внутри команды — задачи должны распределяться по компетенции, а не по привычке.
Шаг 6. Оценивать метрики и масштабировать
После каждого спринта смотрите на пять метрик из предыдущего раздела. Если пилот показывает улучшение — формируйте вторую фича-команду. Масштабируйте поэтапно, не ломая всё сразу. Платформенная компонентная команда остаётся — она обслуживает фича-команды как внутренний сервис.
Чего не говорят евангелисты фича-команд: риски, к которым нужно подготовиться
Методологические гайды описывают переход на фича-команды как путь к скорости и автономности. Реальные трудности обычно остаются за кадром. Команда DocDoc на Habr честно описала их в материале «Фича-команды — профит или балласт?».
Размывание глубокой экспертизы. Когда все «немного фронт и немного бэк», никто не владеет компонентом на уровне архитектуры. Через год после перехода можно обнаружить, что в системе накопился технический долг, который никто не замечал — потому что никто не смотрел на компонент целиком.
Что происходит, если это игнорировать: в одной из команд, описанных в LeSS Case Studies, через 8 месяцев после перехода обнаружили, что модуль авторизации деградировал по производительности на 40% — потому что каждая фича-команда вносила в него точечные правки, не видя картины целиком. Пришлось экстренно выделять «хранителя компонента» и проводить архитектурный аудит.
Противоядие — communities of practice: регулярные встречи специалистов одного профиля из разных фича-команд, где обсуждаются архитектурные решения и стандарты. Не формальность, а рабочая сессия с конкретным артефактом на выходе (ADR, гайдлайн, ревью).
Рост когнитивной нагрузки. Разработчик в фича-команде должен держать в голове больше контекста: как работает смежный компонент, какие у него ограничения, как принятое сейчас решение повлияет на другие части системы. Без качественной документации и базы знаний внутри проекта люди начинают тратить 20–30% времени на поиск информации, которая должна быть под рукой. Здесь помогает не столько методология, сколько инженерная культура: актуальные README, decision logs, архитектурные схемы рядом с кодом.
Иллюзия полной автономности. Фича-команда всё равно зависит от shared services: CI/CD-пайплайна, дизайн-системы, общих библиотек. Если эти сервисы обслуживаются по остаточному принципу — фича-команды начинают создавать дублирующие решения. Каждая пишет свой способ деплоя, свои компоненты UI. Через полгода у вас три разных кнопки «Сохранить» и два конфликтующих CI-скрипта.
Социальное сопротивление. Этот риск редко упоминают в методологических гайдах, но он реален: сеньор-бэкендер, который 5 лет строил архитектуру сервиса, может воспринять переход как обесценивание его экспертизы. Если не дать таким людям роль «архитектурного наставника» или лида communities of practice — они уйдут или будут саботировать процесс.
Знать об этих рисках нужно до начала перехода. Каждый из них имеет конкретное решение, но ни одно решение не работает автоматически — требуется осознанное усилие и выделенное время.
FAQ — вопросы, которые задают перед переходом
Что такое компонентные команды?
Компонентная команда — это группа специалистов, организованная вокруг технической части системы: фронтенд, бэкенд, база данных, инфраструктура. Такая команда получает работу в виде запросов от других команд и оптимизирует свой компонент, но не несёт ответственности за пользовательскую фичу целиком. Подробнее об устройстве и сценариях применения — в разделе выше.
Можно ли совмещать фича-команды и компонентные в одной организации?
Да, и это наиболее реалистичная модель для большинства продуктовых компаний. Одна-две платформенные команды (компонентные) обслуживают инфраструктуру и shared services, несколько фича-команд работают с продуктовыми потоками. Такой гибрид убирает межкомандные зависимости там, где они вредят скорости, и сохраняет глубокую экспертизу там, где она нужна.
Какой минимальный размер команды для фича-команды?
5–7 человек: фронтендер, бэкендер, QA — обязательно, дизайнер и DevOps — опционально, в зависимости от потока. Меньше пяти человек — команда становится уязвимой: один человек на больничном меняет скорость всего спринта. Больше восьми — растёт координационная нагрузка внутри команды, и начинаются те же проблемы, что и между компонентными командами.
Сколько времени занимает переход?
Пилотная фича-команда запускается за 2–4 недели. Первые измеримые результаты по метрикам — через 2–3 спринта. Полный переход организации из 40+ разработчиков занимает около 9–12 месяцев с учётом перекрёстного обучения, изменения бэклога и формирования новых процессов (оценка по данным LeSS Case Studies для команд аналогичного масштаба). Попытка сделать всё быстрее обычно приводит к тому, что люди формально числятся в фича-командах, но работают по старым паттернам.
Откройте доску. Посчитайте блокировки. Если три из пяти метрик в красной зоне — действуйте: начните с аудита зависимостей и пилотной команды из добровольцев.
Если аудит показал смешанную картину — две метрики критичны, остальные в норме — не торопитесь с полным переходом. Возможно, достаточно выделить одну фича-команду на самый проблемный поток и оставить остальную структуру как есть. Гибрид — не компромисс, а рабочая архитектура.
Начните с аудита зависимостей в вашем текущем трекере — это займёт 30 минут и покажет, нужен ли вам переход вообще.