Канбан: что это такое? Система Канбан: что такое, с чего начать, как внедрить, главные принципы

Я собираюсь написать несколько статей про новую методологию гибкой разработки Канбан (Kanban Development) в целях подготовки к Scandinavian Agile Conference 2009 , где я буду делать один из докладов (кстати, заодно приглашаю всех на конференцию).
Сегодня публикую первую из статей.
Основная задача первой статьи - это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.


Для начала напишу про происхождение термина Канбан .

Этот термин пришёл к нам из Японии благодаря широко известной в узких кругах производственной системе Тойота . Хотелось бы, чтобы как можно больше людей прочитало про эту систему и основные принципы, заложенные в неё - бережливое производство, постоянное развитие, ориентацию на клиента и т.п. Все эти принципы описаны в книге Тайити Оно Производственная система Тойоты , которая переведена на русский.

Термин Канбан имеет дословный перевод: “Кан” значит видимый, визуальный, и “бан” значит карточка или доска.
На заводах Тойота карточки Канбан используются повсеместно для того, чтобы не загромождать склады и рабочие места заранее созданными запчастями. Например, представьте, что вы ставите двери на Тойоты Короллы. У вас около рабочего места находится пачка из 10 дверей. Вы их ставите одну за другой на новые машины и, когда в пачке остается 5 дверей, то вы знаете, что пора заказать новые двери. Вы берете карточку Канбан, пишете на ней заказ на 10 дверей и относите ее тому, кто делает двери. Вы знаете, что он их сделает как раз к тому моменту, как у вас закончатся оставшиеся 5 дверей. И именно так и происходит - когда вы ставите последнюю дверь, прибывает пачка из 10 новых дверей. И так постоянно - вы заказываете новые двери только тогда, когда они вам нужны.
А теперь представьте, что такая система действует на всём заводе. Нигде нет складов, где запчасти лежат неделями и месяцами. Все работают только по запросу и производят именно столько запчастей, сколько запрошено. Если вдруг заказов стало больше или меньше - система сама легко подстраивается под изменения.

Основная задача карт Канбан в этой системе - это уменьшать количество «выполняющейся в данный момент работы» (work in progress).
Например, на всю производственную линию может быть выделено ровно 10 карточек для дверей. Это значит, что в каждый момент времени на линии не будет больше 10 готовых дверей. Когда заказывать новые двери и сколько - это задача для того, кто их устанавливает. Только он знает свои потребности, и только он может помещать заказы производителю дверей, но он всегда ограничен числом 10.
Этот метод Бережливого производства (Lean manufacturing) был придуман в Тойоте и сейчас многие производственные компании по всему миру его внедряют или уже внедрили.

Но это всё относится к производству, а не к разработке программного обеспечения.
А что же такое Канбан разработка применительно к ПО, и чем она отличается от других гибких методологий, буть то SCRUM или XP?

Во-первых, нужно сразу понять, что Канбан - это не конкретный процесс, а система ценностей. Как, впрочем, и SCRUM с XP. Это значит, что никто вам не скажет что и как делать по шагам.
Во-вторых, весь Канбан можно описать одной простой фразой - «Уменьшение выполняющейся в данный момент работы (work in progress)» .
В-третьих, Канбан - это даже еще более «гибкая» методология, чем SCRUM и XP. Это значит, что она не подойдет всем командам и для всех проектов. И это также значит, что команда должна быть еще более готовой к гибкой работе, чем даже команды, использующие SCRUM и XP.

Разница между Канбан и SCRUM:
- В Канбан нет таймбоксов ни на что (ни на задачи, ни на спринты)
- В Канбан задачи больше и их меньше
- В Канбан оценки сроков на задачу опциональные или вообще их нет
- В Канбан «скорость работы команды» отсутствует и считается только среднее время на полную реализацию задачи

А теперь посмотрите на этот список и задумайтесь - что остается от гибкой методологии, если мы удаляем спринты, увеличиваем размеры задач и перестаем мерять скорость работы команды? Ничего?
Как вообще можно говорить о контроле за разработкой, если мы убираем основные инструменты контроля - сроки, скорость работы и спринты? Для меня этот вопрос является чуть ли не самым важным.
менеджеры всегда думают о контроле и пытаются его получить, хотя на самом деле никогда его не имеют. Контроль разработки со стороны менеджера - это фикция. Если команда не хочет работать, то как ее не контролируй, она провалит проект.
Если команда получает фан от работы и работает с полной отдачей, то никакой контроль и не нужен, а только мешает, увеличивает издержки.
Например, общеизвестная проблема SCRUM - это большие издержки от обсуждений, встреч и большие потери времени на стыках спринтов (когда как минимум день уходит на закрытие одного спринта, а потом день на открытие нового. И если спринт - 2 недели, то 2 дня из 2 недель - это 20%, чертовски много). В итоге чуть ли не 30-40% времени при применении SCRUM тратится на поддержание самого процесса - на ежедневные митинги, на 5% workshop, на спринт ретроспектив и т.п. 30%!

Канбан разработка отличается от SCRUM в первую очередь ориентацией на задачи. Если в SCRUM основная ориентация команды - это успешное выполнение спринтов (надо признать, что это так), то в Канбан на первом месте задачи.
Спринтов никаких нет, команда работает над задачей с самого начала и до завершения. Деплоймент задачи делается тогда, когда она готова. Презентация выполненной работы - тоже. Команда не должна оценивать время на выполнение задачи, ибо это имеет мало смысла и почти всегда ошибочно вначале.
Если менеджер верит команде, то зачем иметь оценку времени? Задача менеджера - это создать приоритизированный пул задач, а задача команды - выполнить как можно больше задач из этого пула. Всё. Никакого контроля не нужно. Всё, что нужно от менеджера - это добавлять задачи в этот пул или менять им приоритет. Именно так он управляет проектом.

Команда для работы использует Канбан-доску. Например, она может выглядеть так (взял ):

Столбцы слева направо:

Цели проекта :
Необязательный, но полезный столбец. Сюда можно поместить высокоуровневые цели проекта, чтобы команда их видела и все про них знали. Например, «Увеличить скорость работы на 20%» или «Добавить поддержку Windows 7».

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

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

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

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

Деплоймент :
У всех проектов свой деплоймент. У кого-то это значит выложить новую версию продукта на сервер, а у кого-то - просто закомитить код в репозиторий.

Закончено :
Сюда стикер попадает только тогда, когда все работы по задаче закончены полностью.

В любой работе случаются срочные задачи. Запланированные или нет, но такие, которые надо сделать прямо сейчас. Для таких можно выделить специальное место (на картинке отмечено, как «Expedite»). В Expedite можно поместить одну срочную задачу и команда должна начать ее выполнять немедленно и завершить как можно быстрее. Но может быть только одна такая задача! Если появляется еще одна - она должна быть добавлена в «Очередь задач».

А теперь самое важное. Видите цифры под каждым столбцом? Это число задач, которые могут быть одновременно в этих столбцах. Цифры подбираются экспериментально, но считается, что они должны зависеть от числа разработчиков в команде.
Например, если вы имеете 8 программистов в команде, то в строку «Разработка» вы можете поместить цифру 4. Это значит, что одновременно программисты будут делать не более 4-х задач, а значит у них будет много причин для общения и обмена опытом. Если вы поставите туда цифру 2, то 8 программистов, занимающихся двумя задачами, могут заскучать или терять слишком много времени на обсуждениях. Если поставить 8, то каждый будет заниматься своей задачей и некоторые задачи будут задерживаться на доске надолго, а ведь главная задача Канбан - это уменьшение времени прохождения задачи от начала до стадии готовности.
Никто не даст точный ответ, какие должны быть эти лимиты, но попробуйте для начала разделить число разработчиков на 2 и посмотреть, как это работает в вашей команде. Потом эти числа можно подогнать под вашу команду.
Под «разработчиками» я понимаю не только программистов, но и других специалистов. Например, для столбца «Тестирование» разработчики - это тестеры, т.к. тестирование - это их обязаность.

Задачи на такой доске - это не просто задачи, а то, что называется Минимальной Маркетинговой Фичей, то есть фича, которую можно «продать» клиентам.
Хорошая проверка для ММФ - это вопрос себе «А стал бы я писать про эту фичу в блоге компании?». Если нет - это не ММФ.

Что нового и полезного дает такая доска с лимитами?

Во-первых, уменьшение числа параллельно выполняемых задач сильно уменьшает время выполнения каждой отдельной задачи. Нет нужды переключать контекст между задачами, отслеживать разные сущности, планировать их и т.д. - делается только то, что нужно. Нет нужды устраивать спринт планнинги и 5% воркшопы, т.к. планирование уже сделано в столбце «очередь задач», а детальная проработка задачи начинается ТОЛЬКО тогда, когда задача начинает выполняться.

Во-вторых, сразу видны затыки. Например, если тестеры не справляются с тестированием, то они очень скоро заполнят весь свой столбец и программисты, закончившие новую задачу, уже не смогут переместить ее в столбец тестирования, т.к. он заполнен. Что делать? Тут время вспомнить, что «мы - команда» и решить эту проблему. Например, программисты могут помочь тестерам завершить одну из задач тестирования и только тогда передвинуть новую задачу на освободившееся место. Это позволит выполнить обе задачи быстрее.

В-третьих, можно вычислить время на выполнение усредненной задачи. Мы можем помечать на карточке дату, когда она попала в очередь задач, потом дату, когда ее взяли в работу и дату, когда ее завершили. По этим трем точкам для хотя бы 10 задач можно уже посчитать среднее время ожидания в очередь задач и среднее время выполнения задачи. А из этих цифр менеджер или product owner может уже рассчитывать всё, что ему угодно.

Весь Канбан можно описать всего тремя основными правилами:
1. Визуализируйте производство
- Разделите работу на задачи, каждую задачу напишите на карточке и поместите на стену или доску.
- Используйте названные столбцы, чтобы показать положение задачи в производстве.
2. Ограничивайте WIP (work in progress или работу, выполняемую одновременно) на каждом этапе производства.
3. Измеряйте время цикла (среднее время на выполнение одной задачи) и оптимизируйте постоянно процесс , чтобы уменьшить это время.

Всего 3 правила!
Например, в SCRUM - 9 базовых правил. В XP - 13, а в классическом RUP - аж более 120. Почувствуйте разницу.

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

КАНБАН

Cистема Канбан (Kanban) - тянущая система организации производства и снабжения, позволяющая реализовать принцип точно вовремя (Just-In-Time).

Разработана и впервые в мире реализована фирмой "Тойота". В 1959 г. эта фирма начала эксперименты с системой Канбан и в 1962 г. начала процесс перевода всего производства на принципы Канбан. В основе Канбан - теоретические построения Ф. Тейлора (1856-1915); Г. Форда (1863-1947), а также некоторые положения философии дзэн-буддизма и конфуцианства.

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

Постоянное использование философии «точно-во-время» позволяет раскрыть не обнаруженные до сих пор дефекты. Запасы очень хорошо приспособлены для сокрытия дефектов. Только при уменьшении запасов можно разглядеть проблемы. Это очень похоже на то, как высокий уровень воды скрывает подводные рифы.

«Канбан» - на японском языке означает карточка.

Существует два вида системы «Канбан»:

- тарный «Канбан»;

- карточный «Канбан».

Тарный «Канбан» представляет из себя единицу тары, на которой находится бирка «Канбан». Бирка «Канбан» на контейнере закреплена жестко и имеет следующие содержание:

Наименование детали;

Номер детали;

Количество деталей;

Адрес получателя детали;

Адрес отправителя детали.

Система заказа деталей и узлов по тарному «Канбану» осуществляется следующим образом: по мере окончания деталей в первом тарном «Канбане» оператор убирает его с рабочего места на нижний ярус стеллажа (нижний ярус стеллажа является местом для складирования заказов оператора и получением заказов транспортировщиком) и работает из второго. Транспортировщик забирает порожнею тару и поскольку к таре прикреплен «Канбан» осуществляется обратная связь между оператором и кладовщиком через транспортировщика для заказа материалов.

Тарный «Канбан» имеет недостаток - требуется дополнительное количество тары на каждую единицу детали или КИ при создании склада.

Карточный «Канбан» представляет из себя карточку, разделённую на четыре раздела:

Цвет карточки;

Адрес отправителя детали;

Наименование детали, номер детали, количество деталей или узлов, необходимое для поставки по адресу получателя;

Адрес получателя детали.

Один из вариантов цветовой гаммы:

Синий - производственный «Канбан» (между производственной линией и зоной выдачи);

Красный - складской «Канбан» (между складом и зоной выдачи);

Зелёный - межцеховой «Канбан»(между цехами, производствами заводами и.т.д.).

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

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

Первый принцип системы «Канбан» - бирка «Канбан» должна находиться в таре с деталями или прикреплена к ним.

Второй принцип системы «Канбан» - два «Канбана» на рабочем месте, т.е. на одном рабочем месте допускается иметь две нормы деталей. Этот принцип распространяется только на мелкие и средние детали, транспортировка которых осуществляется в специальной таре - данный принцип устанавливает время на транспортировку деталей.

Третий принцип системы «Канбан» - отсутствие бракованных деталей на производственной линии (конвейере), так как если бракованные детали будут попадать на конвейер, будет отсутствовать стабильная работа транспортировщика и работа конвейера.

Четвертый принцип системы «Канбан» - формирование новой схемы складского хозяйства:

Склад должен быть один, максимально приближённый к конвейеру;

Склад формируется по принципу магазина самообслуживания - транспортировщик движется по складу и сам собирает в тележку необходимые детали и сборочных единиц;

Детали и КИ в нужном количестве должны быть подготовленные для транспортировщика работниками склада, одним из самых важных факторов является отсутствие пересчёта, либо скорый пересчёт (мерная, ячеистая тара). Передача ТМЦ от транспортировщика оператору, также должна осуществляться без пересчёта - на первый план выходит доверие людей друг другу.

Для рационального использования рабочего времени кладовщика, транспортировщика и т.д., необходимо применить - упростить систему документооборота (применить штрих-кодирование).


Wikimedia Foundation . 2010 .

Синонимы :

Книги

  • Канбан и "точно вовремя" на Toyota. Менеджмент начинается на рабочем месте , . О писках совершенствования, восходящих к самурайской традиции, согласно которой воин никогда не перестает повышать свое мастерство и оттачивать свой меч. О системе канбан и "точно вовремя",…

Система канбан начала свой путь в 1950-х годах на производственных линиях корпорации Toyota, после чего перекочевала в офисы и стала важным инструментом для проектных менеджеров.

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

Происхождение

Как и концепция бережливого производства (Lean), система канбан была разработана менеджерами Toyota. Автора системы, японского инженера Тайити Оно, вдохновил принцип работы американских супермаркетов, где покупатель сам выбирал нужные себе товары. Роль «супермаркета» в корпорации Toyota выполнил склад.

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

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

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

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

Принципы канбана

Менеджеры Toyota сформулировали 6 системообразующих правил:

  1. Исполнители из нижнего потока изымают ровно столько деталей из склада, сколько указано в канбане
  2. Представители верхнего потока тоже поставляют запчасти строго в соответствии с карточками
  3. Ничто не производится или не перемещается без канбана
  4. Канбан должен быть всегда прикреплен к деталям
  5. Бракованные запчасти не используются в системе
  6. Уменьшение количества карточек канбан делает управление более чувствительным к переменам. Но без крайней необходимости менять устоявшееся количество карточек не стоит.
Канбан — это «вытягивающая» система. В ней создается баланс между постоянным потоком, который устраняет затраты на ожидание, и минимальным количеством работы в процессе (РВП), что снижает риски перепроизводства. РВП регулируется с помощью карточек: их количество зафиксировано, а инструкции в них направляют исполнителей нижнего потока.

Правило обязательно прикрепленной бирки работает как закон сохранения энергии.

Лимит РВП составляется в пропорции к количеству канбан-карточек, которое рассчитывается в зависимости от уровня продаж и статистической вариантности в текущих процессах. Максимальное количество бирок — та самая «энергия» в системе — закрепляет верхний уровень РВП в любое заданное время. РВП также ограничивается принципом вытягивания: скорость производства верхнего потока зависит от скорости работы нижнего.


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

Применение канбан в IT

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

Только карточки, на которых указаны информация о сроках выполнения, описание или номер процесса и имя исполнителя, теперь прикрепляются не к таре с запчастями, а к доске с расчерченными колонками:

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

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


Структура выше не является строгой — в зависимости от специфики проекта могут быть добавлены импровизированные колонки. Нередко встречается канбан система, в которой требуется определить критерии готовности задачи перед ее выполнением. Тогда появляются две колонки, которые в английском языке называются specify (уточнить параметры) и execute (взяться за работу).

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


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

Преимущества и недостатки канбан

Kanban имеет такие достоинства:

  1. Гибкость планирования. Команда концентрируется только на текущей работе, приоритет задачи выставляется менеджером.
  2. Высокое вовлечение команды в процесс разработки. Благодаря постоянным собраниям, прозрачности процессов и возможностям самоорганизации работники сплачиваются и проявляют искренний интерес.
  3. Меньшая продолжительность цикла. Если несколько человек обладает схожими навыками, продолжительность сокращается, если же только один — появляется узкое место. Поэтому сотрудники должны делиться знаниями и тем самым оптимизировать продолжительность цикла. Тогда вся команда сможет взяться за работу, которую забуксовала,и восстановить плавный поток.
  4. Меньше узких мест. Лимиты РВП позволяют быстро находить узкие и проблемные места, которые появились из-за дефицита внимания, людей или навыков.
  5. Наглядность. Когда все исполнители имеют доступ к данным, то узкие места легче заметить. Kanban-команды, помимо самих карточек, обычно используют два общих отчета: графики управления и совокупного потока.

На практике система отлично себя показывает в сферах неосновного производства:

  • группы поддержки программного обеспечения или службы поддержки.
  • Канбан хорошо работает при управлении стартапами без четкого плана, но где активно продвигается разработка.

Канбан имеет и недостатки:

  1. система плохо работает с командами численностью более 5 человек
  2. он не предназначен для долгосрочного планирования.

Отличия от Скрама

Скрам, как и agile kanban, является гибкой методикой и тоже часто применяется в IT-сфере. Различия между ними не очевидны на первый взгляд. Существует много схожестей, например, наличие бэклога в обоих подходах.

Скрам

Канбан

Темп

Повторяемые спринты фиксированной продолжительности

Непрерывный процесс

Выпуск релиза

В конце каждого спринта после одобрения проектным менеджером (владельцем продукта)

Поток продолжается без перерывов или на усмотрение команды

Роли

Владелец продукта, Scrum-мастер, команда разработчиков

Команда под руководством ПМ, в некоторых случаях привлекаются тренеры по agile kanban

Главные показатели

Скорость команды

Ведущее время

Приемлемость изменений

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

Изменение могут случиться в любой момент

Примеры применения в IT

Сразу с Microsoft: Дебют Канбан в сфере программных разработок

Использование принципов канбана в сфере информационных технологий началось чуть более 10 лет назад. Дэвид Андерсон, один из главных популяризаторов канбана для программных разработчиков, консультировал в 2005 году компанию Microsoft. Там были недовольны работой своего отдела — XIT Sustained Engineering, который устранял ошибки во внутренних приложениях. К началу отчетного года этот отдел был худшим в своем департаменте. Бэклог превысил допустимый размер в 5 раз, а время на обработку одного запроса — ведущее время — обычно занимало 5 месяцев.

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

Интересный факт: программный менеджер Драгос Думитриу, который взялся переломить ситуацию в XIT, как раз был увлечен книгой Андерсона. К своему удивлению, он встретил идеолога программного канбана в самой компании Microsoft, куда тот накануне устроился. Думитриу попросил Андерсона помочь со своей задачей, и последний согласился применить принципы своей книги на практике.

Думитриу застал отдел, состоявший из трех разработчиков и трех тестировщиков, у которых в бэклоге накопилось 80 запросов. Сам ПМ был назначен временно, так как требования к вакансии включали умение работы с технологией ASP, администрирование с помощью SQL Server и знание MS Project Server. Начальство видело на этой должности «технаря», который умеет программировать, должен составлять отчеты и прогнозировать загрузку бэклога. Как считалось тогда, проблема отдела будет выявлена, если собрать внушительный массив данных. Думитриу же таким «технарем» не был.

Однако начав вместе с Андерсоном анализировать работу XIT, он быстро выявил ключевые факторы, которые негативно влияли на скорость отдела:

  • На прогнозирование последствий (ROM), к которым приведет исполнение запроса, уходило слишком много времени. И разработчику, и тестировщику приходилось тратить полный рабочий день, чтобы провести необходимые вычисления, проверку кода и заполнить документацию. В среднем ежедневно приходил один запрос. По подсчетам ПМ, на ROM уходило 40% от производительности отдела;
  • Приоритет отдавался запросам с большей стоимостью. XIT получал финансирование за счет стоимости заказа. Приоритетность запросов обсуждалась каждый месяц на встрече менеджеров отдела с заказчиками — менеджерами других отделов. При распирающем бэклоге при текущий скорости, когда за месяц обрабатывались лишь 6-7 запросов, постоянно менялись приоритеты других заявок из-за проходящего времени. Многие из них были отложены на внушительное «потом», не равное даже следующему месяцу.
  • На стадии ROM отсеивалась половина запросов. Часть из них были слишком большие и переквалифицировались в проекты с передачей другим отделам, другие являлись слишком дорогими и попросту отменялись. Некоторые запросы не брались в разработку из-за того, что их внедрение оказалось бы слишком долгим. Таким образом, 40% производительности отдела уходило на анализ запросов, 50% из которых были забракованы. Около 15-20% рабочих ресурсов тратилось впустую.
  • Подготовительная работа по запросу могла длиться месяцами, прежде чем начиналось внедрение. Вычисления на стадии ROM могли за это время затеряться или забыться. Особенно, если внедрением занимался не тот разработчик, который начинал анализ.

Канбан-решения для проблемного отдела Microsoft

  1. Думитриу и Андерсон настояли в беседе с руководством и менеджерами-заказчиками на отказе от стадии ROM. Расчеты производились непосредственно перед внедрением и тем же исполнителем, то есть оставались «свежими».
  2. Приоритизация запросов проводилась не в ходе ежемесячных совещаний, а по ситуации, посредством телефонных звонков или электронных писем. 80 задач в бэклоге рассортировали в зависимости от заказчиков. Последних попросили выделить главные запросы, которые нужно выполнить в первую очередь.
  3. Финансирование XIT стало фиксированным.
  4. Стоимость запросов перестала браться в расчет.
  5. ПМ ввел буферы на канбан-доске. Разработчики брали работу из двух зон: одобренные и выполненные задачи. В буфере находились 6 запросов, 5 брались в работу. Тестировщики выбирали из буфера «ожидает тестирования». Некоторые задачи, которые не требовали изменений в коде, попадали туда, минуя разработчиков. Разбив запросы на однозадачные процессы, ПМ мог лучше контролировать ситуацию, а также обеспечить прозрачность для заказчиков. Введение буферов уменьшило ведущее время. Заказчики в условиях предсказуемой системы стали лучше определять, чей запрос должен попасть в буфер следующим.
  6. По слишком большим или дорогим запросам решение принималось сразу. Если разработчик подтверждал, что он готов выполнить задачу в течение 15 дней или изменения стоят того, то запрос брался в работу вне зависимости от размера или стоимости.
  7. Понаблюдав за потоком в отделе, ПМ пришел к выводу, что структуру штата стоит изменить в пользу разработчиков, которые были больше загружены работой. Изменения проводились в соотношении 2:1: в XIT стали работать 4 разработчика и 2 тестировщика.



По итогу 2005 года производительность отдела выросла на 155%. Чтобы еще улучшить работу XIT, туда привлекли двух сотрудников: одного разработчика и одного тестировщика. Количество запросов в бэклоге снизилось до 10, а один разработчик стал стабильно обрабатывать 11 заявок за квартал. В среднем за квартал завершались 56 запросов против 11 ранее. Стоимость запросов упала с $7500 до $2900.

Применение в компании Corbis

Добившись успеха в Microsoft, Андерсон в 2006 году приступил к решению новой сложной задачи. Теперь он работал в Corbis — другой компании Билла Гейтса, который тогда еще не покинул MS. Одним из видов деятельности Corbis было лицензирование фотографий. На тот момент это был второй крупнейший в мире фотосток с базой около 3,5 тыс. снимков.

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

В офисе Corbis появилась канбан-доска, у которой Андерсон ежедневно беседовал с коллективом. Целью ПМ было улучшить визуальный контроль над процессами, способствовать самоорганизации и большей персональной ответственности исполнителей. Также система канбан была направлена на уменьшение надзора со стороны менеджеров и увеличение производительности.


Кроме разноцветных карточек и графиков, на доске появилась «мусорная корзина» — в нее отправлялись задачи слишком большого размера.


Фото из официальной
A Kanban System for Sustaining Engineering on Software Systems by David J Anderson

Система kanban прояснила, когда поток перестает быть плавными и где возникают задержки, так называемое бутылочное горлышко. Быстрые обсуждения с командой помогали выявить текущие проблемы. Например, тестирование длилось 3 дня, что негативно отражалось на сроке релиза. Трое сотрудников объединились и нашли способ, как уменьшить время до одних суток.

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

Лимиты для канбан-карточек дважды устанавливались эмпирическим путем. В колонке «готово для разработки» лимиты были увеличены. Также появилась новая колонка — «готово для тестирования». Многие запросы для нижнего потока были некорректно сформулированы, вызывая лишние затраты времени. Поэтому ПМ исследовал работу верхнего потока и нашел ошибки.

Обработка запросов могла занимать 100 дней, но релизы все равно стали выходить раз в две недели, как и планировалось. Решение по содержимому выпуска принималось за 5 дней до публикации. Практика подсчетов, как и в случае с отделом XIT Microsoft, была отброшена в пользу продуктивности. Приоритет задачам расставлялся согласно «стоимости задержек» или готовности ресурсов.

Канбан система не только помогла добиться Андерсону поставленной цели, но и улучшила настроения в коллективе. Благодаря совместным обсуждениям и наглядности процессов у сотрудников утвердилось доверие друг к другу. Также персонал приобщился к кайзену, то есть практике постоянного улучшения.

Чтобы использовать их в работе, придумали правила.

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

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

Кому подходит Канбан

Канбан не имеет ограничений. С его помощью молодожёны планируют семейный бюджет , небольшие подразделения в Microsoft разрабатывают новые программы, а Toyota управляет всеми производствами.

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

Как использовать, чтобы быть аджайл

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

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

Правило 1. Визуализируйте поток задач

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

Визуализация бывает разной: доска со стикерами, стол с карточками, таблица в Excel или программы типа Trello и Jira. Правильной или неправильной визуализации нет - хорошо то, что подходит именно вам:

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

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

Запишите все задачи. Чтобы создать визуализацию, нужно записать все задачи, которые вы делаете сейчас и собираетесь сделать в ближайшие дни. После этого станет понятно, сколько у вас реальной работы, а сколько в планах.

Определите статусы задач. Статусы задач - это колонки на доске. Колонки можно использовать разные, конкретных правил нет. Для начала мы предлагаем три: «Сделать», «В работе» и «Готово». Потом их можно разбить на более мелкие, если нужно, или придумать новые статусы.

Важно: все задачи должны быть на доске. Нельзя работать над тем, чего нет в визуализации.

Правило 2. Ограничивайте количество одновременной работы

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

Канбан предлагает ограничить количество одновременной работы. Так вы повысите свою эффективность и ускорите продвижение карточек от статуса «Сделать» до статуса «Готово». Рекомендуем зафиксировать количество текущих задач и взять это число за начальное ограничение. Дальше лимит нужно постепенно уменьшать:

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

Приоритизируйте задачи. После ограничения количества одновременной работы в колонке «Сделать» окажется много карточек. Чтобы их упорядочить, нужна приоритизация. Можно пометить карточки цветом, расположить в определённом порядке или составить рейтинг с баллами. Главное, чтобы все однозначно понимали, какие задачи нужно сделать сейчас, а какие можно отложить на пару дней.

Важно: заканчивайте начатые дела, а не беритесь за несколько новых параллельно.

Правило 3. Контролируйте поток задач

Визуализация помогает следить за скоростью продвижения карточек и равномерной загрузкой сотрудников. Если что-то не так, на доске это сразу видно:

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

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

Контролируйте загрузку. Работа должна быть ритмичной. Если вы почувствовали спад, сходите к доске. Возможно, у коллег завал, и нужна ваша помощь.

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

Важно: доска покажет, как идёт работа. Помогите Команде закончить её как можно быстрее.

Правило 4. Сделайте договорённости и ожидания явными

Правила, по которым работает Команда, должны быть известны каждому и при этом регулярно меняться . Мы рекомендуем повесить самые важные правила у доски или внутри колонок. Вот как это выглядит:

Запишите правила работы с доской. Договоритесь с коллегами и запишите, при каких условиях можно брать новую задачу, как переносить её в другую колонку и когда считать готовой. Сделайте правила продвижения карточек очевидными.

Повесьте правила на видное место. Чтобы подключаться к коллегам было проще, повесьте правила у доски или внутри колонок.

Важно: договорённости помогают Команде работать слаженно. Сделайте их явными.

Правило 5. Анализируйте работу

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

Ограничений по формату нет. Это могут быть встречи, созвоны или просто анкеты. Аджайл отдаёт предпочтение живому общению, поэтому мы рекомендуем собираться у доски. Планёрки - каждый день и каждую неделю, анализ - раз в месяц. Что представляют собой эти встречи:

Ежедневные планёрки удобно проводить рядом с визуализацией. Цель встречи - увеличить скорость потока задач. Команда просматривает доску справа налево, находит проблемные места и принимает решение, как быстрее завершить текущие задачи. Каждый может внести предложение, и Команда к нему прислушается.

На еженедельных планёрках вся Команда встречается с руководством. Вместе они обсуждают скорость работы и снижение рисков.

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

Важно: будьте инициативны, общайтесь с коллегами и предлагайте идеи.

Правило 6. Эволюционируйте благодаря совместным экспериментам

Канбан-команда всегда находится в поиске идеальной системы, где карточки двигаются по доске максимально быстро.

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

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

Пробуйте одно изменение за раз. Чтобы точно знать, какой эффект дало нововведение, не проводите несколько экспериментов сразу. Лучше пробовать одну идею за другой, и оставлять в работе самые удачные.

Важно: эксперименты помогают Команде развиваться, не бойтесь пробовать новое.

Как не забыть о правильном образе мышления

Мы разобрали все шесть правил Канбана. Они не дают конкретных указаний, а только направляют Команду. Мы рекомендуем проверять себя:

Каждый сотрудник инициативен и заботится об общем успехе;

Он помогает, если у коллег завал;

Сотрудники регулярно проводят эксперименты, чтобы улучшить процесс работы;

Команды обсуждают финансы компании и свой вклад в её показатели;

В компании происходят эволюционные изменения.

Она позволяет увидеть главное: какие дела у вас в приоритете и чего вы уже достигли. А также учит не распыляться на второстепенные, неважные в данный момент занятия и не брать на себя слишком много обязательств.

Наверное, всё это очень сложно?

Нет. В системе канбан всего два главных правила:

  1. Нужно визуализировать свой рабочий процесс. Это помогает увидеть вашу реальную загрузку и, если нужно, изменить её.
  2. Необходимо ограничить количество задач, над которыми вы работаете активно. Часто для иллюстрации этого правила приводят в пример жонглёра: чем больше предметов он берёт в руки, тем выше шанс что-то разбить.

Визуализировать - значит повесить доску со стикерами?

Не обязательно. Вы можете использовать любой удобный для вас вариант: доску, холодильник с магнитами, блокнот, специальные приложения и так далее. Главное, чтобы вы расчертили минимум три столбца: «Сделать» (To do), «Делаю» (Doing), «Сделано» (Done). Их нужно заполнить стикерами или надписями, чтобы в любой момент увидеть, какая у вас в данный момент загруженность.

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

Работает это просто: вы переносите стикеры (или записи) из одной колонки в другую по мере выполнения задач.

И что это мне даст?

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

Со временем у вас выработается привычка приступать к новой задаче только после того, как предыдущая завершена. А значит, в идеале не будет незаконченных дел.

Как определить, сколько задач я могу выполнить?

Опытным путём. Начните использовать персональный канбан, и со временем узнаете, какова ваша «пропускная способность». Она может меняться в зависимости от сложности задач, вашего состояния и настроения. Выберите минимум, а затем повышайте планку.

Кстати, это хорошая защита от выгорания на работе. Вы научитесь управлять своей нагрузкой без ущерба карьере.

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

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

Обычный список дел не интерактивен, не даёт обратной связи, не снимает стресс, так как не структурирует рабочий день.

Какие приложения заменяют доску со стикерами?

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

KanbanFlow внешне похож на Trello, но по сути ещё больше подходит под классическое понятие «канбан». Приложение, помимо создания досок и задач, позволяет отслеживать потраченное на их выполнение время (применяется метод