Канбан как инструмент бережливого производства

Канбан можно отнести к инструментам бережливого производства. А бережливое производство – к способам организации производственного процесса. В общем, канбан – это подход к управлению.

Нас интересует канбан для инженеров, конкретно — в IT. Ниже — обзор на эту тему.

Сперва я расскажу вкратце о других подходах, свойственных самоорганизации инженерной деятельности. Потом немного подробнее о lean и внутри него kanban — в организационном и инструментальном аспектах. И в конце о некоторых максимах, которые могут быть реализованы в этом подходе.

1. Инженерные подходы

(По мотивам “Инженерной онтологии” группы С.Переслегина)

Есть работа, которую нужно работать. Работают люди. Дают результат. Что, как и зачем здесь можно изменить? Кто будет менять? Не будем углубляться, скажем: меняет менеджер. Меняет структуру деятельности инженеров: как она разделяется на части, приоретизируется, останавливается, передаётся. Как при этом происходит коммуникация.

Отношение инженер-менеджер — базовое противоречие. Обычно отношения развиваются по одному из четырёх позитивных сценариев — аттракторов состояний:

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

Fat — избыточный, толстый. Минимизация времени, максимизация ценности результата. Инженерная целесообразность при наличии невероятно амбициозной и срочной цели. Например, студия Гиперболоид, или Лебедевское “долго, дорого, …”. Исторически атомные, космические проекты, проекты освоения Арктики. Проекты, меняющие ситуацию в корне, результатами которых пользуются поколения.

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

Хаотический (chaos) подход — минимизация согласований. Действование в общем направлении и в общих интересах, но каждый сам. Появление хаоса — следствие либо чрезмерной простоты и незрелости компании, в которой коммуникация ещё не установлена, либо — невероятной сложности процесса управления, как, например, в государстве. Составные части ЧМС в таком случае могут быть организованы в других подходах. В малом масштабе подход помогает, когда есть только интуиция конечной цели, или когда ресурсов недостаточно, а двигаться нужно.

Lean — бережливый, поджарый. Минимизация усилий, не дающих непосредственной пользы потребителю. Наглядный для менеджера, упрощающий и линейный подход. Типичный пример — МакДак, Тойота, почти любое не стагнирующее потоковое производство. Быстрые компании, реагирующие на малые флуктуации. Хороший способ сохранять позиции и линейно масштабироваться.

2. Lean

2.1. Вытягивание

Можно разделить производство на выталкивающее и вытягивающее.

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

Вытягивание: работа с клиентом, с опорой на спрос. Для новых проектов — Customer Development: работа с опросами, контакт с представителями ЦА, маркетинг, стремление угодить.

Lean — вытягивающий подход. Вот бережливость: производится только та работа, которая имеет конкретную ценность для клиента, и только тогда, когда клиент её затребовал.

Создаётся и поставляется экземпляр ценности для конечного потребителя. Всё остальное минимизируется (бережётся), а именно:

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

Работу нужно доделывать в указанных рамках под требования конечного потребителя и ничего более.

2.2. Метрики Lean

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

Самые базовые конкретные метрики таковы:

Менеджеру интереснее всего флуктуации: что-то особенно ресурсоёмкое или долгое, любой сбой в ходе производственного процесса, задержка. Для работы с такими флуктуациями необходимо определить понятие нормы, поэтому производственный процесс в Lean постоянно рефлексируется, стандартизируется, делится на части.

Lean неотделим от практик постоянного совершенствования, ассоциирующихся со словом Kaizen. Описание Kaizen, процесса стандартизации и работы с качеством выходит за рамки этого обзора.

2.3. Канбан

2.3.1. Что такое канбан

Канбан — способ организации вытягивания работы, создания наглядной тяги от заказчика. Это принцип организации обратной связи в потоке работ.

Карточка передаётся из отдела, в котором появился спрос на выполнение работ, в отдел исполнения этого вида работ.

Важны стандартные отношения поставщик-получатель внутри компании: известно, кому и как передать задачу, как получить результаты работы. Важно известное количество работы: нормальная загрузка исполнителя, нормальный объём работ в соответствии с каждой карточкой. Важно видеть весь цикл производства ценности от запроса и до поставки.

2.3.2. Виртуальный канбан

В виртуальной реализации канбан — это доска или набор досок, на которой размещаются тикеты.

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

Колонка “сделано" не нужна: выполненная работа передаётся в другой отдел как “запрос”. Например, выполненное API — это запрос к фронтэндерам на интеграцию.

Количество тикетов в колонке — это запасы: или задачи, на постановку которых потрачено время и которые требуются для выполнения каких-то других работ, или неудовлетворённые запросы клиента. Ограничение максимального количества тикетов в колонке — имитация ограничения эмиссии карточек в реальном мире. Задачи должны не накапливаться на каких-либо фазах выполнения, а делаться до конца и поставляться клиенту.

Сама по себе доска с тикетами канбаном не является: это просто другое отображение todo листа.

2.3.3. Визуальные инструменты

Кумулятивный поток показывает застревание работы на фазе: рост или падение объёмов запасов. Рост запасов в фазе А может означать ожидаемую перегрузку на фазе Б, или чрезмерное напряжение и необходимость манёвра, расширения, оптимизации работы А.

Диаграмма скорости поставки помогает идентифицировать задержки: по одной оси откладывается количество задач, по другой — время от постановки задачи до её исполнения. Задачи отмечаются точками.

Скорость и поток – ключевые явления и цели команды и руководителя.

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

Поэтому поощряется взаимозаменяемость, в том числе способность к переходу, при необходимости, из отдела в отдел: так манёвр ресурсами позволяет помочь решить затруднения на другом участке фронта.

Приоритет у старых задач: чаще всего канбан — это first in, first out очередь. Исключение делается только для сверхсрочных задач, уровня “всё бросить и немедленно чинить продакшн”. Для них делается отдельный уровень на доске с местом только на один тикет, в норме пустой.

Таким образом, в случае засорения потока все концентрируют усилия не на накоплении проблем и не на закапывании денег в эфире, а на их разрешении.

2.3.4. Команда как единый такт работы.

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

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

Но алгоритм всё равно тот же:

3. Живые системы

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

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

В итоге получаются две тенденции.

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

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

Lean — спринтер. Нет запасов воздуха, не добежит — умрёт.

Нет запасов запчастей. Наработок. Идей.

Часто это лучшее, что можно сделать на короткой дистанции.

Но умные инвесторы держат пакет проектов, в хорошем проекте — спектр ценностей и адресатов. Все поджаро умрут, один выстрелит. И это стратегический подход – совсем не lean.