Зачем ограничивать количество одновременно выполняемой работы?

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

Для одновременно выполняемой работы даже существует отдельный термин — WiP (Work in Progress). Под это определение попадают все задачи в промежутке статусов между точкой принятия и отдачи обязательств. То есть фактически это те задачи, над которыми работа ведется в данный момент — вышедшие из беклога, но не достигшие статуса «Готово».

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

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

Суть лимитов в том, что новая работа не может быть переведена в статус, если достигнут максимум задач для него. А если в статусе меньше задач, чем предусмотрено лимитами, самое время пополниться. Главное — чтобы в предыдущем статусе были задачи, которые могут быть переведены. Не всегда это бывает так просто — налаживанию идеального процесса всегда мешают обстоятельства, которые невозможно предусмотреть. Но необходимо от действия к действию все ближе приближаться к равномерному потоку, в котором происходит последовательное выполнение задач в соответствии с приоритетами. В этом и кроется секрет сокращения времени поставки.

Помимо лимитов, для регулирования количества WiP можно использовать блокировки. Под них попадают задачи, работа над которыми в силу разных обстоятельств не может быть продолжена в данный момент. Иногда это что-то действительно незапланированное, вроде больничного сотрудника или внешних обстоятельств, но порой блокировки могут стать предметом для анализа — они могут, например, подсвечивать скрытые закономерности. Так, можно выявить, допустим, что львиная часть времени уходит вовсе не на работу над задачей, а на согласование договоренностей между отделами при передаче задачи в работу от одного к другому.

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

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

По сути вытягивающие системы — это как конвейерное производство: если поток стабилен и постоянен, время поставки приближается к минимально возможному. А грамотная приоритезация позволяет избежать «скрытых потерь» и действовать в соответствии с принципами бережливого производства.
20 ДЕКАБРЯ/ 2022

Made on
Tilda