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

Backpressure для команды: почему больше работы не означает больше результата

Backpressure для команды: почему больше работы не означает больше результатаBackpressure для команды: почему больше работы не означает больше результата

В распределённых системах есть простая проблема: producer может создавать работу быстрее, чем consumer успевает её обрабатывать.

Если никак не ограничивать входящий поток, начинает расти очередь. Вместе с ней растёт latency, заканчивается память, а система постепенно деградирует.

Для этого существует backpressure — механизм, с помощью которого система говорит:

«Я больше не успеваю принимать работу с такой скоростью».

С командами происходит почти то же самое.

Бизнес приносит задачи быстрее, чем команда успевает их завершать.

Разработчики открывают PR быстрее, чем коллеги успевают проводить ревью.

AI-агенты генерируют изменения быстрее, чем человек способен их проверить, интегрировать и принять.

Но вместо backpressure организация часто отвечает:

«Давайте возьмём ещё одну срочную задачу».

В результате растёт WIP — количество одновременно начатой, но ещё не завершённой работы.

Появляются:

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

WIP limit выполняет примерно ту же функцию, что backpressure в технической системе.

Он говорит:

«Пока мы не освободили пропускную способность, новую работу не запускаем».

Это не запрет бизнесу приносить новые идеи и не попытка сделать команду менее гибкой. Это способ не превращать входящий поток в бесконечную очередь.

Особенно заметной эта проблема стала с появлением AI-агентов.

Раньше количество параллельной работы хотя бы естественно ограничивалось количеством разработчиков. Теперь один человек может запустить сразу несколько агентов и получить несколько изменений почти одновременно.

Throughput генерации вырос.

Но скорость ревью, тестирования, интеграции и принятия решений могла вообще не измениться.

Получается классическая очередь. Только вместо сообщений в Kafka в ней лежат PR.

И если открыть ещё пять PR, узкое место никуда не исчезнет. Очередь просто станет длиннее, изменения начнут конфликтовать, а ревьюер будет тратить всё больше времени на восстановление контекста.

Ускорение producer-а ещё не делает быстрее всю систему.

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

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