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

Устраняем "узкие места" в канбанЧерез некоторое время разработчики хотят начать новую работу. Есть только один элемент в Development/Doing. Разработчики берут новый рабочий элемент из столбца Analyze/Done.

Устраняем "узкие места" в канбанНа столбце Development стоит ограничение не более 3 элементов. По-видимому, элементы перемещаются недостаточно быстро из столбца «Разработка» в «Тест». То есть у нас узкое место – тестирование. Что нам с этим делать?

Если мы ничего не сделаем и продолжим заниматься новой разработкой, то столбик тест будет затоплен работой. Это увеличит время выполнения всех элементов в рабочем процессе.

Нам нужно освободить людей, чтобы решить проблему. Во многих случаях это будет только краткосрочное решение; например, тестирование может потребовать специальных навыков, которые мешают разработчику быть настолько эффективным, насколько это необходимо. Если Test – это повторяющаяся проблема, имеет смысл поработать над долгосрочным решением, таким как найм большего количества тестировщиков или, возможно, автоматизация большей части тестирования.

Теория ограничений

Теория ограничений – это философия управления, основанная на идее, что пропускная способность всех систем ограничена как минимум одним ограничением – узким местом. Без ограничений в системе пропускная способность будет бесконечной. Автомобиль появится в вашем гараже в то же время, когда вы нажмете кнопку «Купить». Или новая функция программного обеспечения появится в тот момент, когда вы заявите о своем желании.

Цель. Процесс непрерывного совершенствования, Голдратт Элияху
Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему, Спаффорд Джордж , Бер Кевин , Ким Джин Ен

Находим узкие места

Узкие места часто проявляются там, где перед ними накапливается работа. На приведенной ниже доске вы можете видеть, что предстоит много работы для тестирования и ничего не готово для развертывания.

В этом примере разработчики заблокированы для получения новой работы, потому что это нарушило бы их предел WIP, равный четырем. Все четыре элемента разработки ждут тестирования. Шаг тестирование, в свою очередь, достигает своего предела WIP, равного двум, и не должен выполнять больше работы. Наконец, мы видим, что шаг после тестирования (Deploy) не располагает элементами.

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

Устраняем узкие места в канбан

  • Убедитесь, что у сотрудников, представляющие узкое место (тестеры в нашем примере), всегда есть работа. Например, создавайте очередь работ перед ними.
  • Работайте над качеством, чтобы минимизировать нагрузку.
  • Устраните хотя бы одну ограничивающую помеху/прывание работы.
  • Сократите препятствия, которые мешают им в работе или заставляют их ждать.
  • Тщательно расставьте приоритеты в работе узкого места, чтобы они всегда работали над самыми важными задачами.
  • Позвольте им работать в стабильном темпе, выравнивая темпы прихода работы.