10 вещей которые нужно знать о Канбан методике разработки ПО
1) Методика разработки программного обеспечения Kanban придумана Дэвидом Андерсеном (David Anderson). Многие из этих практик и подходов использовались разными Agile командами, прежде чем были описаны Дэвидом как единое целое.
Нововведения Дэвида состояли в том что он ясно ограничил задачи «в процессе». Это делалось и раньше другими Agile-командами, но в Канбан существует всем известное ограничение на количество рабочих задач которые могут выполняться в одно время. Этот предел обычно довольно низкий. В командах с которыми я работал лимит приблизительно равнялся числу разработчиков в команде или был немного меньше.
2) Множество Agile команд используют белую доску для отслеживания работы во время итерации. Обычно она разделена на три секции: «Сделать», «В процессе» и «Готово». Когда налагается физическое ограничение на задачи «В процессе», то бывает полезным сделать дальнейшее разбиение. Задача «в процессе» может быть: в разработке, в тестировании, в анализе или в других статусах. Каждый из них может иметь свое ограничение на количество одновременных задач.
Итак, второе нововведение в Канбан заключается в разделение доски на множество разных колонок. Иногда между ограниченными колонками могут вставляться буфферы, которые могут помечаться как «сделано».
3) Канбан тест: в ноябре 2008 в списке рассылки Канбан, я спросил: «Какая определяющая характеристика делает Канбан таким каков он есть?». В ответ Дэвид Андерсон сказал:
«Для меня это просто… Вы ограничиваете задачи которые в процессе? Вы сигнализируете при перемещении задачи против течения процесса? Если это ЗВП-ограниченная (ЗВП — задача в процессе) система перемещений, то это канбан!»
Это дает нам тест на Канбан, и вообще гораздо приятнее пунктов 1 и 2.
4) Подход в стиле Канбан подытожил Карл Скотланд (Karl Scotland) когда сказал (опять же в Kanbandev):
«тонким различием между канбан и типичным гибким процессом является Scrum. Scrum фокусируется на гибкости, которая должна приводить (и приводит) к улучшениям. Канбан фокусируется на улучшениях, которые могут привести к гибкости. Несмотря на это, быть гибким не так важно — это становится лучшим путем которым мы (по-крайней мере я) знаю к этому моменту».
5) Kanban dev Yahoo list — лучшее место для того чтобы узнать о Канбан больше.
6) В настоящее время нет книг по Канбан разработке ПО. Есть одна, которая наиболее близка. Это книга Кори Ладас (Corey Ladas) «ScrumBan — Essays on Kanban Systems for Lean Software Development». Я читал эту книгу и я не собираюсь бросаться рекомендовать.
7) Канбан происходит больше от Lean философии и Lean методики разработки ПО, нежели от многи предыдущих Agile техник. Как только вы начнете применять нововведения описанные в пунктах 1 и 2, все остальное следует само собой.
8) Канбан команды уделяют больше внимания течению процесса, времени которое занимает перевод работы с одного края столбца к другому. В замечательных Канбан командах обходятся без оценки работы (что не увеличивает стоимость), итеративных совещаний о планировании (планирование представляет собой постоянный процесс), фиксированных релизов (производятся по мере готовности) и запланированных ретроспектив (применяется stop-the-line подход для реагирования на проблему при ее выявлении).
9) Изначально, японское слово Канбан состоит из двух слов — кан и бан; кан означает «видимый», а бан означает «карточка». Как и многие люди я говорю о Канбан карточках но, стого говоря, я повторяю сам себя.
В Lean системах карточки используются для передачи информации, для сигнализации того что лимиты достигнуты, для сигнализации ситуации нет-в-наличии или некоторых других триггеров для действий. Соответственно, Канбан стал несколько большим, нежели его дословное значение, и теперь слово используемое как название метода значит гораздо больше.
10) Всякий раз когда я пишу о Канбан я получаю больше переходов в мой блог. Это говорит о том что людям интересен Канбан. Фактически, я только что обнаружил что в настоящее время этот блог появляется на первой странице результатов Google по запросу «Kanban software development».
Урок: Канбан все еще новый и все еще в ранней стадии развития.
Для моих предыдущих описаний Канбан смотрите «Making sense of Kanban (and some doubts)», Agile and Lean — the same but different (в русском переводе — «Agile и Lean — похожие, но разные»), Allan Kelly — 10 things to know about Kanban software development (25.03.2009).