WIP лимит — часть 2. Выравнивание потока
В прошлый раз ( http://kanban.club/all/wip-limit/ ) мы говорили о применении WIP лимита в качестве инструмента для управления производительностью отдельного этапа конвейера. Теперь поговорим о том, как WIP лимит можно использовать для настройки всей производственной цепочки.
Представьте, что ваша производственная система похожа на конвейер, чей технологический процесс содержит несколько этапов. Допустим, что каждый из его участков работает в соответствии с WIP лимитами, настроенными так, чтобы каждый из них находился на максимуме своей пропускной способности. Означает ли это, что теперь конвейер работает как надо? Не совсем.
В любой реальной системе пропускная способность отдельных этапов различается и сама по себе является переменной величиной. Практически наверняка в такой системе перед местами с наименьшей пропускной способностью начнут формироваться очереди. Это обстоятельство имеет сразу несколько негативных сторон:
- рост времени обработки. В соответствии с законом Литтла, который мы обсудили в первой части, время нахождения элемента работы в системе прямо пропорционально числу таких элементов. Например, чем больше статей одновременно вы пишите в kanban.club, тем дольше будет писаться каждая из них по отдельности:)
- потеря актуальности/порча элементов работы/хранение из-за долгого нахождения в очереди. Это может быть что угодно: от бизнес требований заказчика до парного молока.
- снижение оборачиваемости капитала. Любое незавершенное производство означает, что потраченные на него деньги еще не скоро вернутся в компанию. При этом не стоит забывать, что деньги сами по себе тоже имеют стоимость в виде процентной ставки по банковским кредитам.
- скрытые проблемы производства. Наличие внутренних очередей затрудняет диагностику проблем. Например, если в ней есть элемент работы, содержащий дефект, то выявить их удастся только тогда, когда до такого элемента работы дойдет очередь обработки. Все это время ожидания проблема будет находиться без решения.
- отложенная прибыль. Чем позже мы получим продукт, который можно продать на рынке, тем меньше мы получим прибыли, не так ли?
Но можно ли избежать таких «узких мест»? Они есть в любом реальном конвейере и их наличие говорит о том, что конвейер скорее жив, чем мертв. Вопрос не в том, как их избежать, а как научиться с ними работать.
Пропускная способность всей системы ограничивается самым узким местом этой системы (см рисунок). Попытка выжать максимум на каждом этапе конвейера приведет только к потерям из за формирования ненужных очередей. Как это ни парадоксально, но работа на 100% загрузки вне узкого места может приносить вред, а не пользу.
Делать ей было совершенно нечего, а сидеть без дела, сами знаете, дело нелегкое. Алиса в стране чудес (Льюис Кэрролл)
Такое случается, когда каждый этап конвейера сфокусирован на оптимизации своей работы без оглядки на вопрос «как это выглядит с точки зрения всей системы?». Это носит название «локальная оптимизация» и является распространенным примером, когда «добрыми намерениями, дорога в ад выстроена». Каждый элемент производственной системы должен производить скорее не «столько, сколько может», а «столько, сколько нужно». Идеальная система должна уметь перераспределять избыток мощности на те участки, где она необходима. Вот где концепцию T-shaped people сложно переоценить.
Алгоритм «настройки» такой системы может проиллюстрировать на примере Пяти Направляющих Шагов Теории Ограничений Элияху Голдратта (см. Eliyahu M. Goldratt, Jeff Cox. The Goal: A Process of Ongoing Improvement):
- Найти ограничение системы. Узкое место, перед которым формируются наибольшие очереди нашего конвейера и будет тем самым ограничением системы, с которого мы начнем настройку.
- Решить, как максимально использовать ограничение системы. Помните сколько стоит простой системы в узком месте? Следовательно именно здесь нам важно вывести участок на «пик формы». Механизм нам уже известен из предыдущей статьи — нужно подобрать значение WIP лимита при котором этот этап конвейера обладает максимальной пропускной способностью, но при этом сохраняет приемлемое значение времени обработки. По сути узкое место будет единственным участком, где мы сознательно добиваемся максимума утилизации ресурсов. Безусловно использование WIP лимита не отменят использования любых других доступных и приемлемых для вас средств оптимизации в этом месте.
- Подчинить все остальное этому решению.
В отличие от предыдущего этапа все участки конвейера до узкого места должны производить только то количество работы, которое может быть обработано узким местом. Для этого WIP лимиты на эти участках должны быть «зажаты», чтобы не формировались запасы незавершенного производства. Обратите внимание, что на этих этапах окажутся недоиспользованные ресурсы (ведь там раньше был избыток мощности, верно?). Не беспокойтесь, мы подумаем и об этом :)
Помните мы говорили, что пропускная способность это переменная величина? Узкое место — не исключение. Для компенсации таких колебаний перед ним можно предусмотреть небольшую очередь, которая будет буфером, обеспечивающим узкое место работой если в нем появится избыток мощности.
А что будет на участках после узкого места? Их пропускная способность заведомо выше и следовательно наша цель здесь уменьшить WIP лимиты, обеспечив быстрое время обработки и высвободив «лишние» ресурсы - Расширить ограничение (ограничения) системы. Теперь, когда система функционирует без внутренних запасов, дополнительный рост пропускной способности можно сделать либо улучшив технологию обработки в узком месте, либо перераспределив «избыточные» ресурсы, освободившиеся в предыдущем этапе в узкое место. Лучше делать и то и другое.
- Вернитесь к шагу 1. Поздравляю, теперь Вы получили настроенную систему, но так ли это на самом деле? В результате наших действий система поменялась. Теперь узкое место может переместиться, а значит процесс улучшения будет циклическим.
Вы можете не изменяться. Выживание не является обязанностью. Э.Деминг