← Назад к блогу

Если всё требует решения тимлида, это не контроль. Это очередь

Если всё требует решения тимлида, это не контроль. Это очередьЕсли всё требует решения тимлида, это не контроль. Это очередь

Есть команды, в которых тимлид нужен буквально для всего.

PR ждёт его ревью.

Архитектурное решение — его мнения.

Новая библиотека — одобрения.

Разработчик хочет изменить API и тоже ждёт, потому что непонятно, имеет ли он право решить это самостоятельно.

Снаружи такая система может выглядеть как сильный контроль качества.

Фактически тимлид просто превратился в бутылочное горлышко.

Пока он доступен, процесс ещё как-то работает. Стоит ему уйти в отпуск, заболеть или провести полдня на встречах — решения начинают скапливаться в очереди.

Это опасный сигнал.

Задача тимлида не в том, чтобы лично принимать максимальное количество решений. Задача — построить систему, в которой большую часть решений команда может принимать без него.

Для этого нужны не красивые слова про автономию, а несколько вполне конкретных вещей.

Понятные границы решений

Команда должна знать, что она может решать самостоятельно, а что требует обсуждения.

Например:

— изменения внутри архитектурной области можно делать без согласования с тимлидом; 
— изменение публичного API требует отдельного обсуждения; 
— технический долг до определённого объёма можно брать без эскалации.

Ownership и реальные полномочия

Если у зоны есть владелец, он должен иметь право принимать решения внутри неё.

Ответственность без полномочий — это не ownership, а декоративное назначение виноватого.

Принципы вместо постоянных approvals

Хорошие архитектурные принципы позволяют принять десятки решений без отдельного согласования каждого.

Не «спросите тимлида, какую библиотеку использовать», а понятные критерии выбора: поддержка, безопасность, совместимость, стоимость эксплуатации.

Ясные точки эскалации

Команда должна понимать, когда решение выходит за её границы:

— высокий риск; 
— влияние на несколько команд; 
— необратимые изменения; 
— заметный рост стоимости поддержки; 
— изменение внешних контрактов.

У тимлида при этом остаётся контроль.

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

На мой взгляд, это один из главных признаков зрелой команды.

Если без тимлида ничего нельзя решить, команда не автономна.

У неё просто очень медленный API.