Requirement management (rus)

Kanban and Scrum

У меня появилась книга “SCRUM И KANBAN: ВЫЖИМАЕМ МАКСИМУМ” Авторы: Хенрик Книберг и Маттиас Скарин. Книга просто потрясающая – очень краткая, читается легко. Заинтересовавшись данной темой, я нашел ещё статью на хабре по этой теме, но по содержанию она похожа на мой пост, и вообще, я бы рекомендовал прочитать именно книгу.

Вопросы:

  • Что такое канбан и с чем его едят
  • При чём тут agile

Канбан – это не методология, это подход.   В его основе лежат простые идеи:

  • Визуализируйте поток работ:
    • Разбейте работу на части, выпишите каждый из пунктов на карточку и прикрепите на стену.
    • Подпишите столбцы, чтобы видеть на какой стадии находится каждое задание.
  • Ограничьте НЗР (WIP) (прим. переводчиков work-in-progress – незавершѐнная работа) – определите возможное количество незавершенных пунктов на каждой стадии рабочего процесса.
  • Измеряйте время выполнения задачи (lead time) (среднюю продолжительность времени для завершения одного пункта, иногда называемую “оперативным временем” (cycle time)), оптимизируйте процесс, чтобы свести время выполнения задачи к минимуму и сделать его настолько прогнозируемым, насколько это возможно.

Инструмент – это то, что используется в качестве средства для выполнения задачи или достижения цели. Процесс – это то, как вы работаете. Scrum и Kanban – это инструменты процесса, они помогают вам работать более эффективно, до определенной степени подсказывая, что делать. Java – тоже инструмент, он упрощает программирование компьютера.

Как видно из книги, Канбан более чем гибкий и адаптивынй. Приведу количество предписаний:

  1. Rup – более 120
  2. XP – 13
  3. Scrum – 9
  4. Kanban -3
  5. Делай что хочешь – 0

Scrum более директивный, чем Kanban, поскольку он предусматривает такие вещи, как итерации и кросс-функциональные команды. Scrum предписывает наличие 3-х ролей: Product Owner (отвечает за видение продукта и приоритеты), Команда (отвечает за реализацию продукта) и Scrum Master (устраняет препятствия в работе и руководит Scrum-процессом). Kanban же не предписывает вообще никаких ролей, чем меньше, тем лучше! Нужен один Product Owner с основной задачей – выставление приоритетов.

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

Команда №3 (управляемая событиями)

“Мы проводим планирование, когда у нас заканчивается работа. Мы делаем релиз, когда есть минимальная коммерчески ценная функциональность (minimum marketable feature set – MMF), готовая к выпуску. Мы проводим спонтанное обсуждение качества, когда сталкиваемся с одной и той же проблемой во второй раз. Мы также проводим более развернутые ретроспективы каждую четвертую неделю”.

Когда мы говорим о досках со стикерами мы видим колонку To Do (из  Product Backlog), колонку In process (Ongoing) и колонку с завершенными задачами Done. Отличие Kanban от Scrum такое – в колонке Ongoing не может более n записей. В Scrum-е незавершенная работа ограничена за единицу времени.В Kanban-е незавершенная работа ограничена по каждому из статусов.

Канбан позволяет редактировать колонку To Do, в то время, как в Scrum мы можем поместить новую критичную задачу только в Product Backlog. То ест в канбане есть принцип “один ушел, один пришёл”. Следует лишь следить за эквивалентность задач по трудозатратам.

Доска в Канбан может никогда не быть пустой во время проекта, в то время, доску Scrum надо очищать после каждого спринта.  Доска в Канбан может быть поделена по функциям, а в Scrum команды кросс-функциональные.

Задачи в Канбан не обязательно разбивать на кучу подзадач тк, в отличие от Scrum, нет нужды уложиться с завершением в спринт. Кроме того: Scrum предписывает приоритезированный Product Backlog; В Scrum-е обязательны ежедневные собрания; В Scrum-е обязательны burndown диаграммы. Обе методологии, в принципе, позволяют работать с двумя проектам на одной доске.

Пример доски в Канбан:

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

P.S. Scrum и Kanban это не разные подходы, Kanban вполне используется для Scrum.

Advertisements
Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s