Team Topologies. Часть 1 – Типы команд В какой-то момент количество людей в разработке увеличивается и возникает вопрос: как разделить их на команды так, чтобы повысить общую эффективность? Хотя более реальной целью будет – не сильно ее снизить.

На помощь приходят топологии команд – модель, помогающая комплексно взглянуть на организацию команд разработки и не рассыпающаяся от попытки наложить ее на другие ограничения. Модель описывает четыре типа команд.

Stream-aligned teamПервый и основной тип команды в организации. Часто такую команду называют продуктовой или фича-командой. Она нацелена на создание и доставку ценности клиентам и должна быть полностью автономной, уметь работать независимо от других. Если вы не сильно разрослись, то, возможно, этим типом вам стоит и ограничиться, не усложняя свою структуру. Если же простая схема для вас уже не работает – то есть еще три типа, каждый из которых нужен только для того, чтобы сократить когнитивную нагрузку на stream-aligned team.

Enabling teamГруппа экспертов, которые способствуют повышению компетенций и возможностей stream-aligned team через обучение, менторинг и фасилитацию. Эта команда не владеет ни одним из компонентов системы. Цель этой команды – стать ненужной, обучив всех делать то, что раньше умела делать только она.

Complicated-subsystem teamВ идеале, stream-aligned team должна иметь все необходимые компетенции и возможности для развития своего продукта. Но иногда ей приходится сталкиваться с каким-то особо сложным доменом, который требует специальных знаний и не является для этой команды фокусным. В таком случае может быть создана complicated-subsystem team. Проблема в том, что она легко может стать бутылочным горлышком. Поэтому она должна появляться только тогда, когда выделение этих специальных навыков в отдельную команду целесообразно.

Platform teamКоманда, предоставляющая инструменты, которые призваны облегчить жизнь другим командам и помочь им ускорить поток создания ценности. Сама платформа – это набор сервисов самообслуживания. Таким образом, stream-aligned team не может быть заблокирована платформенной командой, она лишь пользуется теми возможностями, которые предоставляет платформа. Или не пользуется.

По утверждению авторов, вам должно хватить этих типов. Если вы нашли пятый – приведите его к одному из четырех. Звучит разумно, учитывая, что одна из целей применения модели – снижение когнитивной нагрузки. А 15 типов команд как-то не очень этому способствуют…