Кратко и по делу о Kanban, Scrum, LeSS, SAFe и все, что может пригодиться в работе менеджеру.

Later Ctrl + ↑

WIP лимит – часть 1. Особенности погони за семью зайцами.

Канбан обычно связывают с ожиданиями по повышению пропускной способности системы. Канбан содержит простой, но мощный инструмент – ограничение количества незавершенной работы или WIP (work in progress) лимиты. В этой статье разберемся, как они работают, на примере отдельной операции. Во второй части мы разберемся как этот механизм работает при наладке производственной цепочки

Эксперимент с многозадачностью

Наверняка вы обращали внимание, что попытка делать несколько задач одновременно скорее приводит к тому, что все задачи делаются и дольше и хуже. Насколько именно? Проведем небольшой эксперимент с друзьями. Попросим одного из них (назовем его разработчик) переписать имена всех остальных друзей (заказчиков), по одному имени на каждой отдельной карточке. Заказчики записывают время начала и окончания работы на своей карточке с именем (более подробно можно посмотреть здесь https://www.crisp.se/gratis-material-och-guider/multitasking-name-game).

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

Результаты видны на рисунке (синий – первый вариант, оранжевый – второй):

Результат 1. Время, необходимое на завершение одной задачи в “последовательном” варианте в несколько раз меньше, чем в “многозадачном” (обратите внимание на длину оранжевых и синих отрезков)

Этот эффект нашел свое отражение в законе Литтла, который связывает средние значения времени пребывания задачи в системе, число задач в ней и пропускной способности (см рисунок)

Втягивая в систему большее число задач, мы как бы “размазываем” её мощность на большее число элементов и тем самым увеличиваем время выполнения каждого из них.

Результат 2. Время выполнения всей работы в “многозадачном” режиме существенно больше, чем в “последовательном” (обратите внимание на разницу между вертикальными красной и зеленой линиями).

Типичный разброс значений 1.5-3 раза. Это приводит к тому, что как правило заказчик получивший свой продукт в “многозадачном” варианте раньше других все равно проигрывает самому последнему заказчику из “последовательного” сценария

О чем это говорит? В обоих сценариях был проделан один и тот же объем работы – написано одно и тоже количество одинаковых имен. Различия только в способе организации работы. Оказывается, вечная “проблема” менеджеров “мы не можем сделать эту задачу, если у нас не будет новых ресурсов” имеет еще одну неожиданную грань – управляя числом задач, принимаемых в работу (т.е. управляя WIP лимитом), можно добиваться увеличения (и уменьшения) пропускной способности системы в разы.

Стоимость переключения между задачами сама по себе не бесплатна. Для человека она обычно составляет 10-15% при добавлении каждой новой, одновременно выполняемой задачи. Попытка делать 5 задач одновременно скорее приведет не к пятикратному замедлению выполнения задач, а к работе системы практически “в холостую”, когда большая часть мощности будет тратиться на переключение контекста, а не на реальную работу.

Оптимальный WIP для рабочей группы

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

От нуля и до момента “насыщения” системы работой, её пропускная способность будет расти с увеличением числа задач. По мере наполнения системы этот рост прекратится, и скорее всего даже сменится снижением (помните еще про стоимость переключения контекста?). Время выполнения задачи наоборот, до этого момента, будет постоянной (помните шутку про то, что девять женщин не родят за 1 месяц ребенка?), а затем начнется увеличиваться в соответствии с законом Литтла и внутренними потерями на переключение контекста.

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

Ждите продолжения и оставайтесь с нами! ))

Продолжение http://kanban.club/all/wip-limit2/

конкурс красоты или что втянуть следующим?

Работа в канбан должна быть построена по принципу PULL (вытягивай), а не по принципу PUSH (вталкивай). Это значит, что каждый раз, как у нас освобождается место в системе мы начинаем задумываться, а что мы втянем из предыдущего этапа.

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

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

Первый пример – Очередь на регистрацию в Аэропорту.

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

Элементы работы (WIT Working ITem) в данном случае, это сами туристы. Первоначально они для нас все одинаковые, т.е. у нас один класс-обслуживания. Здесь стоит заметить, что есть разделение виды билетов Бизнес и Эконом, но так как они не конкурируют друг с другом мы можем допустить, что это разные канбан системы (потоки создания ценности).

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

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

Теперь, нам нужно разделить очередь на два класса обслуживания: обычные пассажиры и пассажиры у которых заканчивается регистрация на рейс. Что делает наш желтый человечек? О начинает спрашивать: “Есть ли кто-то, кто летит, например, в Санкт-Петербург?” (это внешняя легкодоступная информация и является внешним признаком). Туристы, кто идентифицировал себя подходящими данному критерию поднимают руку и проходят без очереди. Желтый человечек при этом убеждается, что туристы действительно летят нужным рейсом.

Второй пример, это ресторан

У нас опять есть желтый человечек на входе, который определяет, кого следующим втянуть с систему. На основании чего он может принимать, кого впустить в ресторан следующим? Вполне логично, чтобы максимум столов и стульев было занято (т.е. максимальная утилизация места в ресторане). Столы бывают следующих типов: на двух человек и четырех.

У нас опять же есть очередь с людьми, те кто пришел один, парами или семьей/компанией (для наглядности выделены разными цветами).

Понимая свою цель мы мысленно делим людей на 1 и 2 человека – это будет один класс обслуживания и более – другой класс. Эта информация нам нужна для того, чтобы пригласить в ресторан наиболее выгодно. Очевидно, что сажать одного или двух людей за столик на четверых не выгодно.

Теперь, когда у нас поступает сигнал от системы (освободился столик на двух человек) мы идем по очереди и ищем, кто первым будет удовлетворять нашим условиям: берем парочку или одного посетителя. Этот критерий легкодоступный и не требует от нас затрат на дополнительную обработку данных. Например, мы могли бы узнать, что люди хотели бы заказать, на какую сумму будет заказ и например, как часто они к нам приходят, но в данной задаче для нас это излишне и на уровень оказываемого сервиса не влияет.

А теперь, давайте посмотрим, как это может выглядеть на канбан-доске

Между какими-то этапами есть колонки “очередь” и “в работе”. У нас есть явные различия между ожидающими выполнения задачи (кружки, треугольник и квадрат). В представленном примере у нас свободен слот для синего квадрата, то его-то мы и втянем следующим, вне зависимости, что кружки и треугольник по времени пришли раньше.

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

Из чего состоит канбан-доска

Друзья,

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

  1. Колонки. Вертикальные столбцы со всеми значимыми статусами, которые соответствуют этапам в работе создания ценности (To Do, In Progress, Done)
  2. Swimline (Плавательные дорожки) Желтая область, которая показывает горизонтальный путь движения работы (цвет выбран в целях наглядности и не является обязательным)
  3. WIP Limit (Ограничение незавершенной работы): Сверху (“не больше, чем”) – красные цифры 5 и 7, Снизу (“не меньше чем”) – зеленая 2, для swimline – красная 1
  4. Space (Свободная область), которая служит сигналом для втягивания новой работы в систему или с предыдущего этапа работ