Использование канбан в разработке программного обеспечения: от Agile к Lean

Kenji Hiranabe (tocpeople.com)
Источник

Автор: Кенжи Хиранабе (Kenji Hiranabe), основатель и генеральный директор Change Vision, Inc., Япония

Перевод: В. Федорущенко

Введение

Канбан (Kanban) — это карточка (доска), используемая в производственных системах Тойота (TPS) для поддержки нецентрализованного «вытягивающего» управления производством. Канбан стал популярен в промышленной сфере по всему миру в качестве инструмента Бережливого производства. В настоящее время в среде разработки программного обеспечения (ПО) Agile визуализация проектов, например, вывешивание на стене карточек с заданиями, стала довольно распространенной практикой, которая иногда называется «программный канбан» или «канбан задач». Стали даже появляться команды, использующие канбан в каскадной (или водопадной) модели разработки программного обеспечения. Так что же такое канбан? Почему он используется в разработке программного обеспечения?

В данной статье мы сначала объясним понятие канбан в контексте Бережливого производства, особенно в TPS, проанализируем основные принципы и практику применения канбан в развитой промышленной индустрии, определив те концепции, которые можно применить к программному обеспечению. Затем мы рассмотрим примеры использования канбан на конкретных проектах. После этого мы проанализируем сходства и различия применения канбан-систем в производстве и программном обеспечении, предложим несколько советов по эффективному внедрению канбан-систем в процесс разработки ПО, поговорим о новом движении KSSE (Kanban Systems for Sustaining Engineering — системы канбан для обеспечения разработки). В конце мы обсудим общую картину TPS, где канбан используется как один из инструментов, и у которого отрасли разработки программного обеспечения еще есть чему поучиться.

Что такое канбан в TPS?

Канбан — это визуальное сигнальное устройство (чаще всего карточка в прозрачном пластиковом конверте), которое сигнализирует о необходимости производства нового изделия (детали) или его передвижения на следующий этап вытягивающего производственного процесса. Канбан был придуман и разработан как часть производственной системы Toйота (TPS — Toyota Production System).

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

Канбан и вытягивающее производство

Рис.1. Канбан и вытягивающее производство

На рис.1 изображена абстрактная модель системы канбан. Здесь показаны два процесса, причем предшествующий процесс поставляет детали (единицы продукции) последующему. Для того, чтобы поставить продукцию конечному потребителю, процесс должен произвести детали и передвинуть их на следующий этап, но не в избыточном количестве, так как перепроизводство считается одной из худших потерь. Поэтому для того, чтобы предотвратить перепроизводство, предшествующий процесс не «выталкивает» детали на следующий процесс, а, наоборот, последующий процесс «вытягивает» детали из предыдущего процесса. Место, где хранятся детали, называется «склад» или «супермаркет» (Таичи Оно выбрал такое название после посещения американских супермаркетов самообслуживания, где не продавец, а сам покупатель выбирает в магазине то, что ему нужно). Склад расположен ближе к предшествующему этапу производства и служит буфером (очередью) для незавершенного производства. Когда рабочий последующего этапа, называемый «транспортный рабочий» приходит на склад и забирает произведенные детали, он также посылает обратный «сигнал» на производство — то есть последующий процесс забирает детали у предыдущего, и, одновременно с этим, отправляет для него информацию посредством канбан-карточек. Это необходимо, потому что предыдущий процесс никогда не производит деталь без получения на то команды от последующего процесса.

Таким образом, на рис.1 изображены два типа канбана, работающие вместе:

  • Канбан перемещения (отбора) – это единица товара в списке заказов, которую транспортный рабочий берет со склада.
  • Канбан производства – дает команду предыдущим процессам производить детали для последующих процессов.

Как показано на рис.1, канбан перемещения движется между процессами, канбан производства циркулирует внутри процесса, а обмен между ними происходит на складе. Давайте более детально рассмотрим механику этого процесса. Рисунок 2 иллюстрирует, как «Канбан биржа» (обмен карточками) работает на складе.

Обмен канбанами на складе

Рисунок 2. Обмен канбанами на складе

1. Рабочему-транспортировщику с последующего этапа поступает сигнал забрать материалы со склада. Этот сигнал определен последующим процессом, а также одним из двух сигналов:
a) сигналом о количестве собранных канбанов перемещения;
b) сигналом о периодическом промежутке времени.
После этого рабочий направляется на склад предыдущего процесса с пустыми поддонами и собранными канбанами перемещения в виде листов заказов, в которых указано, что и в каком количестве требуется для последующего процесса.

2. Детали, изготовленные на предыдущем процессе, складываются в поддоны, к каждому из которых прикрепляется канбан, затем они помещаются на склад (этот процесс проходит независимо от процесса 1).

3. Транспортировщик собирает детали, указанные в канбане перемещения (листе заказов), сверяет их параметры с производственными канбанами, прикрепленным к деталям, затем заменяет один канбан на другой.

4. Транспортировщик помещает производственный канбан на «доску производства», что позже визуально подаст предыдущему процессу сигнал к производству, когда число канбанов достигнет порога.

5. Транспортировщик доставляет необходимые детали вместе с канбаном перемещения со склада на последующий этап производства.

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

Существуют шесть строгих правил управлением канбанами:

  1. Заказчик (последующий процесс) изымает детали строго в количестве, указанном в канбане.
  2. Поставщик (предыдущий процесс) производит детали строго в количестве, указанном в канбане.
  3. Никаких передвижений деталей не происходит без канбанов.
  4. Ко всем деталям всегда прикрепляется канбан.
  5. На последующую стадию производства никогда не передаются дефектные детали или детали в неточном количестве.
  6. Число канбанов следует аккуратно уменьшать, чтобы снизить объем запасов и выявить новые проблемы.
Еще рекомендуем:  Анализ предприятия с использованием инструментов ТОС: производство «мелкой» и «средней» серии

Как мы видим, склад необходим для выстраивания очереди деталей, поддоны служат для транспортировки деталей, а карточки канбан – для передачи информации, необходимой заказчику. Они превращают процесс в «вытягивающую» систему, создавая баланс между «непрерывным потоком» (уменьшая потери времени на ожидания) и «минимизацией незавершенного производства» (уменьшая потери от перепроизводства). Этот механизм поддержания «правильного» объема незавершенного производства (WIP) в потоке между закупкой и продажей и есть в точности то, что происходит в супермаркете, и умение делать это эффективно – ключевой фактор для прибыльности магазина.

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

Свойства канбан

Исходя из подробных наблюдений в предыдущей главе, вот список основных свойств и эффектов канбан в TPS.

  1. Физический: это физическая карточка. Ее можно держать в руках, перемещать, прикрепить к чему-либо.
  2. Ограничение незавершенного производства (WIP): канбан ограничивает объемы незавершенного производства, тем самым предотвращая перепроизводство.
  3. Непрерывный поток: канбан извещает о необходимости производства до того, как на складе закончится запас.
  4. Вытягивающий: последующий процесс «вытягивает» детали с предыдущего.
  5. Самонаправляющийся: канбан содержит всю необходимую информацию о том, что делать, тем самым он превращает производство в автономный, нецентрализированный процесс, не требующий микроуправления.
  6. Визуальный: канбан складывается или размещается так, чтобы визуально был виден текущий статус и прогресс работ.
  7. Сигнализирующий: визуальный статус канбан дает сигнал к дальнейшему перемещению или производству.
  8. Кайзен: визуальное отображение процессов стимулирует непрерывные улучшения (кайзен).
  9. Прикрепленный: канбан прикреплен к каждой поставленной детали и передвигается вместе с ней.

На рисунке 3 изображена причинно-следственная связь между девятью вышеописанными свойствами канбан.

Свойства и результаты канбан

Рис.3. Свойства и результаты канбан

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

Канбан физически прикрепляется к деталям, затем собирается и используется снова, поэтому общее число канбанов строго фиксировано. Также кабан визуально сигнализирует последующему процессу о том, что детали можно забирать («вытягивать»), только когда они нужны. Эти два механизма ограничивают незавершенное производство.

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

Канбан
1. Производит максимальное число деталей, зафиксированное в системе.
2. Заставляет скорость на входе зависеть от скорости на выходе.

Механизм канбан, ограничивающий незавершенное производство

Рисунок 4. Механизм канбан, ограничивающий незавершенное производство

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

«Направление» – последующий процесс дает команду к производству.
«Скорость» – кабан оповещает о времени и количестве следующего производства.
«Вытягивание» ограничивает незавершенное производство, т.к. производство предыдущего процесса, в первую очередь, зависит от потребления последующего. Эта зависимость достигается за счет обмена канбанами на складе, передавая информацию о контроле производства с последующего этапа на предыдущий.

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

Как видно по стрелкам на рисунке, ведущим к трем эффектам, конечными целями канбана можно назвать «ограничение незавершенного производства», «непрерывность потока» и «кайзен». Система канбан ограничивает незавершенное производство, в то же время обеспечивая непрерывность потока производства. Она создает буферы для вариаций, обусловленных обычными причинами, и выявляет случаи отклонений из-за особых причин, тем самым определяя кандидатов для кайзен.

Продолжение следует….

Владимир Речкалов
Редактор сайта TOCPEOPLE.COM
Пишите мне по всем вопросам, связанным с информацией и работой сайта
Обучение по Теории ограничений

Давайте обсудим...

Ваш e-mail не будет опубликован. Обязательные поля помечены *