Здесь надо ввести еще один термин – WIP. Это английская аббревиатура слов, образующих фразу Work in Progress, что значит «количество работы, которая сейчас выполняется». Например, вы читаете книгу, то есть решаете одну задачу, и ваш WIP = 1. Если же вы читаете книгу, сидя на улице и качая коляску, в которой засыпает ваш ребенок, это уже два дела, и ваш WIP = 2. А если ко всему этому вы дома запустили стиральную машину, то одновременно делается три дела, и ваш WIP = 3.
Возможно, вы скажете: «Позвольте, но стиральная машина, которая работает, не требует моего внимания, и я не совершаю с ней никаких действий. Почему считается, что это еще одно дело?» Все просто. Работы бывают разные. Есть те, запуская которые вы не должны отвлекаться и доделывать все до конца. И есть такие, где можно запустить какое-то действие, дождаться его результата и все доделать.
Например, в случае со стиральной машиной вы запустили стирку одежды, а по ее завершении должны достать и развесить выстиранное на просушку; после сушки – все собрать, погладить и сложить в шкаф. Лишь тогда можно считать, что работа закончена.
С книгой может быть по-другому. Вы дочитали главу и отложили книгу до завтра, или до следующей недели, или до следующего месяца. И пока вы не дочитаете книгу, работа считается незавершенной.
Если подумать, то можно вспомнить очень много незавершенной работы. Поэтому у меня есть для вас предложение – ограничивать количество незавершенной работы, причем явно. Есть как физические, так и ментальные аспекты, почему важно вводить ограничение на количество незавершенной работы, именуемое WIP-лимитом. Давайте с ним разберемся.
Непредсказуемость на ровном месте
Давайте рассмотрим небольшой пример. У нас будет три персонажа: Заказчик, поставляющий работу нашему небольшому подразделению, в котором есть Руководитель и подчиненный ему Инженер. Если визуализировать работу этого подразделения, то мы получим такую доску со стикерами.
Состав колонок следующий:
• «Сделать» – здесь Заказчик складывает задачи, которые надо реализовать.
• «План» – здесь находятся задачи, которые Руководитель обещал Заказчику выполнить.
• «В работе» – здесь расположены задачи, которые прямо сейчас решает Инженер.
• «Готово» – здесь расположены задачи, которые завершены.
Вся работа визуализирована, процесс виден. Что еще хотел бы понимать в этом процессе Заказчик? Думаю, он хотел бы знать, какое время пройдет с момента попадания задачи в колонку «План» до момента ее перехода в колонку «Готово». Это время мы будем называть «Время производства».
Давайте сделаем допущение, что все задачи, обозначенные желтым стикером, – одинаковые и их решение занимает у Инженера одно и то же время. Кроме того, введем строгое правило: задачи обрабатываются исключительно в порядке очереди FIFO (First In, First Out – первым пришел, первым вышел).
Итак, задачи одинаковые, трудоемкость их решения одна и та же, и все делается в порядке очереди. Будет ли время производства константой? И, как следствие, станет ли производственный процесс для Заказчика предсказуемым, то есть будет ли он знать, когда закончится решение той или иной задачи, переданной в работу?
Конечно, не будет! Но как такое получается? Ведь ситуация простая, задачи одинаковые и идут в работу строго по очереди. Элементом хаоса здесь становится Руководитель, который в абсолютно произвольное время и в абсолютно произвольном количестве может принимать работу на исполнение. Предположим, что решение каждой задачи занимает у Инженера один час. На доске в колонках «План» и «В работе» находятся шесть задач, чтобы их решить, необходимо минимум 6 часов.
Если Руководитель пообещает Заказчику решить еще одну задачу, то потребуется не менее семи часов, и т. д. Получается, что время производства зависит от WIP – количества работы, которая находится в нашей производственной системе: если работы много, то все делается дольше, если мало – быстрее. Чтобы взять хотя бы под минимальный контроль непредсказуемость решения задач, нужно ввести ограничение – вышеназванный WIP-лимит, то есть договориться, что в нашей системе находится не более (например) шести задач.
Обратите внимание на то, как я визуализировал на доске договоренность о шести задачах. Такая визуализация называется виртуальный канбан. Значение этого термина я поясню чуть позже, а пока обратите внимание на то, что у нас есть правило: в производственной системе должно быть не более шести задач, и для того чтобы Руководитель что-то пообещал Заказчику, требуется, чтобы Инженер выполнил какую-то работу. То есть, чтобы взять что-то в работу, сначала надо что-то завершить. Данный процесс получил название вытягивающий процесс.
Контекстные переключения
Дэвид Рок в своей книге «Мозг. Инструкция по применению»[3] сравнивает человеческий мозг с театром. При выполнении какой-то работы на сцене мозга разыгрывается спектакль с актерами и декорациями. Когда нужно одну работу остановить, а другую начать, спектакль требуется остановить. Прежние актеры должны собрать декорации и покинуть сцену, а новые, из другого спектакля – выйти на сцену, расставить собственные декорации и начать игру. Процесс замены актеров и декораций называют контекстным переключением. Чем чаще вы переключаетесь между разными работами, тем чаще происходит контекстное переключение.
Вредно ли контекстное переключение? Конечно, да! Но я предлагаю не верить мне на слово, а проверить все на своем опыте. Возьмите ручку или карандаш, лист бумаги и смартфон (он будет служить секундомером). Нарисуйте на листе бумаги таблицу.
В таблице три столбца. В первый мы будем записывать числа арабскими цифрами от 1 до 10, во второй – числа римскими цифрами от I до X и в третий – латинские буквы от A до J. Приготовим на смартфоне секундомер и, запустив его, начнем заполнять нашу табличку построчно. Сначала напишите в первом столбце цифру «1», во втором – цифру «I», в третьем – букву «A». Переходите ко второй строке и запишите в первом столбце цифру «2», во втором – цифру «II», в третьем – букву «B». Делайте так, пока не заполните всю таблицу. После этого остановите секундомер и запишите время, которое вам потребовалось, чтобы заполнить таблицу. Таким образом, мы закончили первый раунд нашего эксперимента.
Теперь второй раунд. Переверните лист, нарисуйте такую же таблицу, включите секундомер и заполните таблицу еще раз, но не построчно, а по столбцам. То есть вначале в первом столбце напишите все числа арабскими цифрами, затем во втором – числа римскими цифрами и, наконец, в третьем – латинские буквы. Запишите время, которое вам потребовалось, чтобы заполнить таблицу, и сравните его со временем первого раунда. Обычно результаты кардинально отличаются – по столбцам таблица заполняется гораздо быстрее.
Может показаться, что в первом раунде вы действовали медленнее, потому что вам приходилось, например, вспоминать римские цифры, которыми редко пользуются в обиходе. Если есть такое подозрение, то повторите первый раунд и убедитесь, что новый результат не будет разительно отличаться от результата первой попытки.
Почему же в первом раунде вы записываете цифры и буквы медленнее? Это происходит из-за того, что в голове приходится постоянно менять «декорации спектаклей», вспоминать цифры и алфавит, находить нужный символ и записывать его. Ведь при записи каждого символа контекст переключается.
Во втором раунде всего два переключения контекста: когда вы от колонки с арабскими цифрами переходите к колонке с римскими цифрами, а затем – к колонке с алфавитом.
Если здесь вернуться к нашему примеру с Заказчиком, Руководителем и Инженером, то легко обнаружить еще одну неприятную вещь. В абсолютно хаотичном порядке Руководитель может не только брать от Заказчика обязательства на реализацию, но и назначать работу Инженеру, размывая его фокус и заставляя терять время на контекстных переключениях. Ограничение незавершенной работы на процесс в целом – это хорошо, но еще лучше – ограничить количество незавершенной работы отдельно на этапах «План» и «В работе». Так количество контекстных переключений оказывается под контролем.
В таком случае хорошо видно, сколько обещано Заказчику и какое количество обязательств находится в работе у Инженера. Кроме того, отсутствуют лишние переключения контекста при добавлении на этап «В работе» большего числа активностей, а общий объем незавершенной работы – под контролем.
Впрочем, здесь есть интересные тонкости, связанные с работой вытягивающих систем. Давайте разбираться дальше.
Вытягивающий процесс и виртуальный канбан
Мы добрались до вопроса, что такое канба́н. Это японское слово, а в японском языке есть три способа записи слов. Да простят меня знатоки японского за сильное упрощение, которое я делаю, чтобы максимально просто объяснить значение слова «канбан». Итак, три способа записи:
• алфавит катака́на – используется преимущественно для записи заимствованных слов;
• алфавит хирага́на – используется преимущественно для записи японских слов;
• кандзи́ – иероглифическая запись, запись идеограмм, означающих понятия.
Так вот, слово «канбан» на хирагане ( ) означает «сигнальная карта», а на кандзи () – «большой визуальный щит» или «вывеска».
Почему менеджеры взяли это слово и начали использовать его в своем обиходе?
Дело в том, что в 1950-е годы, когда промышленность Японии начала восстанавливаться после Второй мировой войны, были нужны новые инструменты управления, которые позволили бы получить хороший результат в очень сложных условиях. Например, сделать эффективным автомобильное производство в маленьком островном государстве с разрушенной экономикой и потребностями не в одном типе автомобилей, а в нескольких (грузовики, малолитражки, автобусы). Эта непосильная задача легла на плечи менеджера по имени Тайити Оно. Благодаря ему родилась производственная система предприятия «Тойота» (TPS), которая, выйдя за пределы одной компании, преобразовалась в то, что сейчас известно как Lean Manufacturing, или бережливое производство. Более подробно о том, как все происходило, можно прочесть в книге Джеффри Лайкера «Дао Toyota»[4]. Нас же сейчас интересует то, что Тайити Оно предложил вытягивающий принцип работы производства в целом. Как все происходит на практике? Рассмотрим пример.
1. На завод приходит запрос на производство двух автобусов, трех легковых автомобилей и пяти грузовиков.
2. Заказ идет в сборочный цех, где специалисты, посмотрев заказ, говорят, что для его выполнения требуется определенное количество определенных шасси, двигателей и кузовов.
3. Заказы на двигатели, шасси и кузова идут в соответствующие цеха, специалисты которых, в свою очередь, формируют требования к деталям, из которых они будут создавать эти двигатели, шасси и кузова.
И т. д.
Таким образом реализуется принцип «каждый следующий этап ставит задачу предыдущему», и работа на каждом этапе идет, только когда есть заказ. Условно на местах все происходит следующим образом. Токарь стоит за своим выключенным станком и ждет заказ. Со следующего этапа к нему приходит заказ в виде корзины или тележки для транспортировки деталей, которые ему предстоит выточить. На этой корзине или тележке висит карточка с заказом, где указано, сколько и каких деталей требуется. Наличие корзины или тележки с карточкой означает для токаря сигнал к действию: он должен включить свой станок и начать работать. Если у токаря нет достаточного количества заготовок, то он берет корзинку, пишет на карточке заказ на их нужное количество и отправляет корзинку с карточкой на предыдущий этап производственного процесса.
Карточка, прикрепленная к корзинке или тележке, называется канбаном. Она и есть сигнал к началу работы. Теперь понятно, почему было выбрано именно это японское слово?
Вернемся к визуализации. У нас есть доска с этапами и стикерами. Что на ней является канбаном – сигналом к тому, что пора начать работу? Существует мнение, что речь идет о стикерах на доске, но это не так.
Как только вы завершаете работу по какому-либо рабочему элементу, стикер из колонки «В работе» перемещается в колонку «Готово», а в колонке «В работе» появляется пустое место. Оно и является сигналом к тому, что какой-то рабочий элемент из колонки «План» может быть перемещен в колонку «В работе».
Исходя из этого, благодаря визуализации становится понятно, что канбан – вовсе не стикер на доске, а пустое место или отсутствие стикера. Как понять отсутствие стикера? Очень просто: нужно подсчитать количество рабочих элементов в колонке и вычесть его из числа, записанного над колонкой. Из-за этих действий данный способ визуализации сигнала о том, что какая-то работа может быть вытянута из предыдущего этапа, получил название виртуальный канбан.
Теперь представим, что наш процесс гораздо сложнее и состоит из большого количества этапов. Если использовать WIP-лимит на всех этапах процесса, то заказ будет перемещаться по системе благодаря выполнению работы и с использованием сигналов о вытягивании. Такие производственные системы называются вытягивающими.
Теперь было бы логично ждать от вас реплики: «Окей, мы поняли, что такое WIP-лимит и что такое вытягивающие системы. Но как понять, какой лимит ставить?» Тут много разных мифов и рекомендаций. Давайте разбираться.
WIP-лимит, скорее всего, у вас уже есть
Возможно, это неочевидно, но ограничение незавершенного производства у вас уже есть, просто вы о нем не знаете или, скорее всего, еще его не обнаружили. Возьмите из своей трекинговой системы (информационная система для отслеживания хода производства) данные о количестве незавершенной работы за последние полгода или больше и постройте график, на котором по оси Х будет откладываться время, по оси Y – значение WIP.
На графике вы увидите некую флуктуацию (отклонение). Нам важно, что есть точка, выше которой значение WIP никогда не поднималось. Если проанализировать причины данного факта, то появятся следующие варианты, которые можно описать с помощью введенных ранее ролей Заказчика, Руководителя и Инженера.
• Руководитель говорит: «Думаю, моему Инженеру достаточно». И начинает активно сопротивляться принятию новой работы.
• Инженер говорит: «Мне достаточно». И активно убеждает Руководителя, что ему не нужно давать новую работу.
• Заказчик говорит: «Хм-м-м, по-моему, им достаточно». И перестает добавлять новую работу.
Все эти сценарии базируются на некотором внутреннем чувстве участников действия о том, что в производственный процесс поступило достаточно много работы и ее больше не следует добавлять. Остается лишь превратить это внутренне чувство в явное правило путем общей договоренности. Отсюда вытекает самый безопасный способ установки WIP-лимита: легализуйте то, что у вас есть. Этому посвящена следующая глава.
Легализуйте то, что у вас уже есть
В предыдущем примере описан довольно вычурный вариант, при котором устанавливается лимит. Обычно делают проще: смотрят, сколько незавершенной работы есть, и превращают это количество в лимит, то есть просто больше не берут.
Почему мы не пытаемся придумать какие-то значения лимита и навязать их исполнителям и заказчикам? Дело в том, что любое изменение рабочего процесса, а введение ограничения незавершенной работы – это изменение рабочего процесса, будет вызывать сопротивление. И чем сильнее вы давите, чем больше изменений предлагаете в единицу времени или чем они кардинальнее, тем сильнее будет сопротивление и отторжение данной практики. Но если следовать первому принципу управления изменениями «начните с того, что есть сейчас», то, по сути, правила игры не меняются, а вносимые изменения минимальны. Так мы снижаем риск сопротивления.
Допустим, вы, пребывая в роли Руководителя, по какой-либо причине (их мы разберем детально, когда будем говорить о метриках производственных процессов) хотите ввести ограничение для количества рабочих элементов в системе. Если предложить это Инженеру и Заказчику сразу, велика вероятность, что они начнут сопротивляться. Если вначале предложить использовать ограничение и сделать его равным или чуть больше текущего объема незавершенной работы, то сопротивление будет гораздо ниже, так как Заказчику и Инженеру не потребуется серьезно перестраивать свое поведение. Когда они примут саму идею ограничения незавершенной работы, следующим шагом может стать обсуждение конкретного снижения количества незавершенной работы. Нужно вводить изменения постепенно, небольшими порциями, приучая специалистов к тому, что изменения неизбежны и происходят постоянно. В итоге со временем компания сможет проводить более масштабные изменения – по мере закрепления в корпоративной культуре идеи о непрерывном совершенствовании.
Я описал некое светлое будущее, а в настоящем есть лишь попытка ограничить незавершенные производства. Кроме мягких действий, описанных выше, стоит разобрать парочку часто встречающихся мифов о WIP-лимитах.
Миф 1. WIP-лимит должен быть маленьким
Друзья, маленький WIP-лимит (два-три или вообще один, так называемый One Piece Flow) – всего лишь частный случай, а не лучшая практика, которая подходит для любого контекста. Дальше мы детально разберем, как лимит влияет на показатели системы, а здесь я хочу сказать следующее: маленький WIP-лимит нужен, когда требуется выполнение рабочих элементов за минимальное время, то есть очень быстро. Но быстро – не значит ни много, ни вовремя. Ваш заказчик может быть толерантен ко времени выполнения своего заказа, но будет требователен к его исключительному качеству. Или заказчику важно, чтобы результат поставлялся ежедневно, и неважно, что каждая единица результата занимает полгода. Порой быстро и много – взаимоисключающие понятия, поэтому запомните: маленький WIP-лимит – это когда надо, чтобы каждый рабочий элемент выполнялся быстро, а не универсальный рецепт для всех ситуаций.
Для иллюстрации того, что быстро и много – взаимоисключающие понятия, представим себе дорогу, точнее, многополосное шоссе. Это будет наша производственная система. По шоссе едут автомобили – это наши рабочие элементы. Если автомобилей на шоссе немного, они могут двигаться с большой скоростью и ехать достаточно быстро, однако количество автомобилей, которые проедут по шоссе, будет небольшим. Если автомобилей на шоссе очень много, то ситуация будет напоминать пробку, в которой все двигаются медленно. При этом шоссе покинет очень много автомобилей – просто потому, что до конца дороги доехали многие.
Миф 2. С введением WIP-лимита выпуск уменьшается
Очень часто WIP-лимит путают с пропускной способностью. Пропускная способность – это количество рабочих элементов, завершаемых в единицу времени. WIP-лимит – это максимальное значение элементов, работа над которыми начата, но еще не закончена. Если говорить кратко, то, введя WIP-лимит, вы будете завершать столько же работы, сколько и раньше, но меньше делать одновременно. Влияние WIP на пропускную способность мы детально рассмотрим в отдельной главе, посвященной метрикам производственных систем, пока примите все как есть.