· 1 мин чтения · Канбан-доски

WIP-лимиты, которые действительно работают (и почему ваши — нет)

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

канбан WIP-лимиты поток продуктивность agile
WIP-лимиты, которые действительно работают (и почему ваши — нет)

На вашей доске сорок карточек в столбце «В работе» и на этой неделе не выпущено ничего. Все заняты. Все заблокированы. Каждая карточка на 80%, что — как гласит старая шутка — означает, что вся штука навсегда на 80%.

Именно этот провал WIP-лимит и должен предотвращать, и у большинства команд формально он есть. Он записан в вики, которую никто не читает, или это мягкая рекомендация, которую доска не соблюдает, или он задан так высоко, что никогда не срабатывает. WIP-лимит, который никогда не мешает вам начать новую работу, — это не лимит, а украшение.

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

Для чего на самом деле нужен WIP-лимит

Смысл ограничения работы в процессе не в том, чтобы люди делали меньше. Он в том, чтобы сделать издержки переключения контекста и незавершёнки видимыми и заставить команду чинить поток, а не прятать проблему за тем, что все выглядят занятыми.

Когда работа в процессе не ограничена, случаются три вещи:

  1. Cycle time (время цикла) взрывается. Десять тикетов, начатых параллельно, все финишируют позже, чем пять, начатых последовательно, потому что каждый постоянно ставится на паузу ради следующего. Закон Литтла не опционален: чем больше работы в полёте, тем дольше сидит каждая задача.
  2. Блокеры остаются незамеченными. Когда вы всегда можете начать что-то новое, заблокированный тикет просто тихо паркуется. Никто не чувствует от него боли, поэтому никто его не разблокирует. WIP-лимит превращает этот блокер в стену — вы не можете начать новую работу, поэтому блокер становится самым важным в комнате.
  3. Ревью и передачи голодают. Начинать весело; заканчивать — рутина. Без лимита столбцы код-ревью, QA и деплоя заполняются, пока все продолжают тянуть свежую работу из бэклога.

WIP-лимит — это принуждающая функция. Он превращает «нам бы правда стоило заканчивать дела» из благого намерения в правило, которое доска соблюдает от имени команды.

Почему ваш не работает

Если вы задали WIP-лимиты и ничего не изменилось, это почти наверняка одно из этого:

  • Число слишком высокое. У команды из пяти человек с WIP-лимитом 15 нет лимита. Если потолок больше того, чего команда могла бы достичь, он никогда не срабатывает. Начните достаточно низко, чтобы немного было больно.
  • Доска не соблюдает его. Лимит, живущий на странице Confluence, — это рекомендация. Он должен быть на доске, в столбце, помечать перегрузку в тот момент, когда вы её пересекаете, — иначе занятый мозг по умолчанию побеждает каждый раз.
  • Вы ограничиваете не тот столбец. Ограничить «В работе», оставив «На ревью» и «Готово к деплою» безлимитными, — значит просто сдвинуть завал на один столбец вправо. Бутылочные горлышки образуются на передачах.
  • Вы моргаете, когда столбец краснеет. В первый раз, когда лимит блокирует кого-то, а менеджер говорит «да начни всё равно, потом разберёмся», лимит мёртв. Вся ценность в том, чтобы не начинать.

Заметьте, что только первое — про число. Остальные три — про дисциплину и про то, куда вы ставите потолок. Инструмент может помочь со всеми, но он не может заставить вас уважать красный столбец — эта часть культура.

Как выбрать число, которое держится

Универсально правильного ответа нет, но есть надёжная отправная точка. Распространённое правило большого пальца — примерно одна-две задачи в работе на человека, а затем подкручивайте.

Размер команды Стартовый потолок «В работе» Обоснование
3 человека 3–4 Каждый владеет одним; одна карточка запаса на парную работу или быструю замену.
5 человек 5–6 По одной каждому плюс место для ревью-в-полёте.
8 человек 8–10 Выше этого — разбейте на плавательные дорожки по подкомандам и ограничьте каждую дорожку.

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

И не ограничивайте только середину. Поставьте лимит и на столбцы ревью и QA — часто именно там поток на самом деле умирает. Если «На ревью» постоянно полон, никакое ограничение «В работе» не поможет; ограничение — это время ревьюеров, и красный столбец делает это неоспоримым.

Как заставить лимит держаться в your.team

Именно на такое поведение и заточены канбан-доски, так что это конкретный пример механики, которая делает лимит реальным, а не декларативным:

  • Потолок живёт на столбце. Задайте WIP-лимит для столбца прямо на доске. Когда столбец достигает потолка, доска помечает перегрузку — сигнал прямо там, где работа, а не погребён в документе.
  • Столбцы — это реальные статусы. Каждый столбец соответствует настоящему статусу рабочего процесса, так что перетаскивание — это реальный переход, а не косметическое перемещение. Лимит управляет подлинным состоянием, а значит, число отражает реальность.
  • Плавательные дорожки позволяют ограничивать по дорожке. Группируйте карточки по исполнителю, эпику или приоритету в дорожки и держите загруженную доску читаемой — так доска на восемь человек может нести отдельные лимиты по подкомандам вместо одного грубого потолка.
  • Время привязано к каждой карточке. Поскольку часы едут вместе с каждой карточкой, карточка, которая «в работе» три дня при двадцати минутах учтённого времени, видна как тот застой, которым является, — доска заодно служит честной отчётностью.

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

Привычка, которая заставляет это работать

Инструменты задают потолок; норму задаёт команда. Единственная привычка, превращающая WIP-лимит из театра в поток, такая: когда столбец полон, не начинай — роись. Вместо того чтобы тянуть новую карточку, освободившийся человек помогает закончить или разблокировать карточку, уже находящуюся в полёте. Пара на блокере, взятое ревью, преследование зависимости — что угодно, кроме добавления в кучу.

Это и есть мышца. Красный столбец — не помеха, которую надо объехать; это сигнал команде сойтись на завершении. Делайте так несколько спринтов — и cycle time падает без того, чтобы кто-то работал усерднее: вы просто работаете над меньшим числом дел одновременно, что и было всей затеей.

Начинайте с малого, ставьте число туда, где немного больно, и держите линию в первый же раз, когда столбец краснеет. Если хотите, чтобы лимит соблюдался на доске, а не жил в вики, канбан-доски включены в каждый тариф your.team — задайте свой первый WIP-лимит на app.your.team/signup и посмотрите, какой столбец покраснеет первым.

Примените это на практике.

Всё из этой статьи встроено в your.team — бесплатно с вашего первого рабочего пространства.