usepoint
menu

Team Topologies: как структурировать команду для успеха

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

Team Topologies

Что такое Team Topologies

Team Topologies - это фреймворк, предложенный Мэтью Скелтоном и Мануэлем Пайс в одноимённой книге. Он отвечает на простой, но серьёзный вопрос: как правильно организовать команды, чтобы они быстро, слаженно и эффективно создавали цифровые продукты.

В основе лежит идея: команды - это не просто «группы людей с Jira», а модули в системе разработки, такие же важные, как микросервисы в архитектуре. У каждой команды есть своя роль, область ответственности и тип взаимодействия с другими.


Четыре типа команд

Модель описывает четыре базовых типа команд, которые нужны для здоровой и масштабируемой разработки:

1. Stream-aligned team - команда, заточенная под поток ценности. Она работает на конкретную пользовательскую задачу или продуктовый поток: например, «регистрация пользователя» или «личный кабинет».

2. Enabling team - помогает другим командам становиться лучше. Это эксперты, которые приходят, учат, налаживают практики и уходят, не становясь бутылочным горлышком.

3. Complicated subsystem team - берёт на себя сложные и специализированные области, которые требуют глубоких знаний, например, работа с машинным обучением или аудио-кодеками.

4. Platform team - создаёт внутренние платформы, которые упрощают работу другим командам. Это как продукт, только для разработчиков внутри компании. Инфраструктура, CI/CD, логирование - всё сюда.

Важно: одна команда = один тип. Не надо пытаться совмещать платформу, продукт и обучение в одном юните - это приведёт к хаосу.


Три типа взаимодействия между командами

Кроме ролей, Team Topologies чётко описывает, как команды должны взаимодействовать друг с другом. И тут есть всего три допустимых типа:

  • Collaboration - временная совместная работа над задачей. Например, платформа и продукт вместе делают SDK. Это нормальная история, но не на постоянку - иначе начинаются конфликты и двойное управление.

  • X-as-a-Service - одна команда предоставляет сервис, другая - потребляет. Платформа предоставляет логирование, продуктовая команда просто использует.

  • Facilitating - одна команда (обычно enabling) помогает другой развить скиллы, процессы или внедрить практику, например, перейти на автоматизированное тестирование.

Все остальные способы общения - «мы переписываемся в чатике без понятного SLA» - считаются вредными и подлежащими пересмотру.


Почему это важно и кому нужно

Team Topologies - это ответ на рост. Когда вы - стартап на 5 человек, всё и так понятно. Но как только команд становится больше двух, а продукт растёт - начинается расползание ответственности, дублирование функций и зависания задач «на согласовании».

Эта модель особенно полезна для:


Как использовать Team Topologies на практике

Первое, что стоит сделать - выписать все команды и честно описать:

  • что они делают;
  • кому и как они помогают;
  • в чём их зона ценности;
  • как они взаимодействуют с другими.

Затем - определить тип каждой команды. Если команда одновременно делает UI, пишет инфраструктуру и консультирует других - скорее всего, вы перегрузили её задачами.

После этого можно пересобрать взаимодействие: ограничить кросс-функциональные общения, ввести понятные SLA и переформатировать «хаотичные» взаимодействия в один из трёх допустимых форматов.

Полезно также отрисовать карты взаимодействий: как именно одна команда зависит от другой, где возникают узкие места. Это визуально покажет, почему один релиз зависает на 2 недели, хотя «все всё делают».


Что даёт Team Topologies

  • Ускорение разработки, потому что меньше зависимостей
  • Ясность ролей и ответственности
  • Снижение конфликта между командами
  • Более зрелое платформенное мышление
  • Предсказуемость в масштабировании

По сути, Team Topologies - это как хорошая микросервисная архитектура, только для людей. У каждого сервиса (команды) есть зона ответственности, интерфейс и способ коммуникации. Нет чёткости - появляется хаос.