7 антипаттернов Канбан
24 Янв 2020
В блоге Майкрософт Пресс Эрик Брехнер, ответственный за направление разработки Xbox, описывает 7 ошибок, которые допускают команды при применении Канбан-метода.
Канбан – это инструмент управления потоком работы, который унаследовал принципы управления промышленным конвейером. Канбан-доску можно встретить в рабочей комнате команды по разработке программного обеспечения и или в качестве пробковой доски на корпоративной кухне. Он ассоциируется с карточками, которые двигаются по доске по мере выполнения работы, которую она содержит. Канбан может показаться довольно простым, но наивно считать, что в этом и есть весь Канбан. Если вы только двигаете карточки по доске, вы используете крошечную частичку силы Канбана.
Быстро познакомиться с основами Канбан-метода можно, прочитав книгу Agile Project Management with Kanban. Однако, если вы думаете, что уже знаете Канбан, но не видите выгод от постоянной поставки ценности, простого планирования и оценки, тесной связи с пользователем, гарантий качества, сфокусированности на работе и сокращенном времени встреч, то, скорее всего, вы попали в один из семи антипаттернов Канбана, которые я описываю ниже. К счастью, эти антипаттерны легко исправить. Прочтите и получите максимум от Канбана для себя и своей команды.
Антипаттерн №1. Нет колонок «Готово» на всех этапах процесса
Многие люди используют доски и стикеры, чтобы отслеживать работу, и называют это Канбаном. На этих досках обычно есть «начальная» колонка для отображения рабочих элементов в очереди (ваш бэклог), одна или более колонок для шагов, которые проходят активные элементы, и последняя колонка для готовых элементов. Иногда у этих колонок даже есть описание критериев готовности, которым должны соответствовать рабочие элементы, прежде чем они будут перемещены в последнюю колонку.
Однако, эти доски нельзя назвать Канбан-досками до тех пор, пока колонки «Готово» и правила перевода в эти колонки существуют для каждого шага процесса, а не только его окончания (каждый шаг, например, тестирование, содержит две колонки: «В работе» и «Готово»). В Канбане «Готово» относится не только к последнему шагу процесса, но и к промежуточным. Рабочие элементы не двигаются по доске беспорядочно. Напротив, когда столбец готов принять следующий рабочий элемент, этот элемент вытягивается из множества должным образом завершенных элементов предыдущего шага. Чтобы корректно определить эту готовность к переходу на следующий этап, у каждого этапа должна быть колонка «Готово» и правило перевода в эту колонку.
Почему Канбан стремится так дотошно описать готовность элемента на каждом шаге процесса? Этому есть две причины: это помогает контролировать качество на каждом шаге (и не создавать технический долг) и выровнять поток работы. Тогда как ценность контроля качества на каждом этапе легко понять, понимание механизма выравнивания потока требует примера.
Скажем, у вас в потоке работы есть этап «Разработка» и этап «Тестирование». Ваш продукт таков, что «Тестирование» каждого элемента занимает много времени. Несмотря на то, что ваша команда может проводить тестирование трех элементов одновременно, сейчас она работает над одним сложным элементом (остальные два переведены в «Готово»). Для выравнивания потока и постоянной поставки ценности, команда должна немедленно заметить проблему и разблокировать работу, прежде чем принимать новые рабочие элементы.
Однако, если на этапе «Разработка» нет колонки «Готово», два новых разработанных элемента будут перемещены в «Тестирование» (на два свободных места), и в разработку поступит еще два следующих элемента – ускоряя «цунами» накопленной работы. На Канбан-досках есть колонки «Готово» для каждого шага процесса, и рабочие элементы «вытягиваются» на следующий этап, а не «проталкиваются» с предыдущего. Тогда разработанные элементы не переместятся в «Тестирование», новые элементы не будут взяты в разработку и моментально будет видна проблема на этапе «Тестирование». Канбан не ухудшает проблемы, он позволяет привлечь внимание и исправить эти проблемы.
Если ваша доска содержит несколько шагов процесса и только одну колонку «Готово», возьмите маркеры или скотч и разделите каждый шаг на колонки «В работе» и «Готово». Затем зафиксируйте правила перевода рабочих элементов в каждый столбец «Готово» (мои команды располагают их над доской). Теперь вы можете получить качество и ровный поток работы благодаря Канбану.
Антипаттерн №2. Неуправляемый поток
Другие критические элементы Канбан-досок, которыми пренебрегают или которые неправильно используют, это ограничения на количество одновременно выполняемой работы (WIP-лимиты, от англ. work-in-progress limits – прим.пер.) Доска не может называться Канбан-доской, пока для каждого шага процесса не установлены WIP-лимиты, ограничивающие количество рабочих элементов (стикеров), которые могут одновременно находиться на этом этапе. На последнем этапе WIP-лимиты устанавливаются только для столбца «В работе», количество элементов в столбце «Готово» не ограничено.
Почему WIP-лимиты так важны для Канбана и почему они применяются для элементов даже в столбцах «Готово» на промежуточных этапах? Три причины: они помогают сфокусироваться на работе (меньше многозадачности), увеличить гибкость (меньше элементов, которые нужно завершить или от которых нужно отказаться, когда меняются приоритеты), и выравнивание потока. Ценность сфокусированности и гибкости понятна, а для влияния WIP-лимитов на выравнивание потока нужен пример.
Например, у вас есть этапы «Оценка», «Разработка» и «Тестирование». В идеале, на каждом этапе ежедневно должно быть завершено одинаковое количество элементов, то есть, у каждого этапа должна быть одинаковая пропускная способность. Когда пропускная способность совпадает, поток работ стабилен, если не появляются новые задачи и производительность команды не снижается из-за человеческого фактора.
Но в реальности некоторые этапы выполняются быстрее, чем другие. Чтобы сделать поток настолько ровным, насколько возможно, нужно установить WIP-лимиты на более быстрые этапы, чтобы уравнять их пропускную способность с самым медленным этапом. WIP-лимит для самого медленного этапа устанавливается на уровне такого количества рабочих элементов, с которым обычно справляется этот этап (учитывая что он остается максимально загружен). Конечно, каждый рабочий элемент уникален и может занять разное время на разных этапах. Чтобы учесть эти отклонения, повысьте немного WIP-лимиты.
Проблемы начинаются у команд, которые завышают WIP-лимиты с целью сохранения загрузки людей, игнорируя настоящие проблемы (или игнорируя WIP-лимиты в целом). Если ваш поток работает ровно, а блокируется только в случае возникновения содержательных проблем в рабочих элементах, — это показатель правильной настройки WIP-лимитов.
Если WIP-лимитов на вашей доске нет, они игнорируются или намного выше количества человек, работающих на этой доске, начните снижать WIP-лимиты и решать проблемы с потоком работы, которые лежат на поверхности. Главное – не допустить «загноения» этих проблем. Ваша команда скоро начнет работать быстрее, с меньшими усилиями и большей гибкостью, предоставляя больше ценности пользователям каждый день.
Антипаттерн №3. Непонятный статус
Команды могут усложнять Канбан-доски без необходимости. Их карточки задач могут содержать ненужные детали. Эти карточки могут быть разных цветов или иметь пометки для обозначения важности. Они могут использовать отдельные горизонтальные дорожки («свимлайны», от англ. swim lanes – прим.пер.) для разных типов работы, или слишком большое количество критериев готовности. Все эти практики могут быть полезны при модерировании встреч, но если команда злоупотребляет ими, можно запутаться.
Одни из сильных сторон Канбана – это простота и визуализация. Когда вы или другие участники команды не могут воспринять ситуацию на доске с одного взгляда или обновить ее за несколько секунд, значит доска слишком усложнена. Время сделать шаг назад и оставить только те вещи, которые действительно необходимы. Сохраняйте Канбан простым и он будет работать лучше для всех.
Антипаттерн №4. Централизованный контроль
Команды могут тратить избыточное время на статус-встречи или ограничить права на изменение своей Канбан-доски, централизуя контроль. Как и другие подходы agile, в Канбане есть ежедневные встречи по статусу. Но эти встречи в Канбане необходимы в основном для обсуждения блокирующих проблем и могут занимать меньше пяти минут. Причина в том, что статус по задачам и так виден на доске. Участники команды могут добавлять, убирать, переприоритизировать или перемещать карточки на доске в любое время в течение дня.
Если ваши встречи по статусу длятся слишком долго, попросите команду обновлять статус в течение дня. Можно также предусмотреть время после ежедневной встречи для обсуждения общих вопросов. Если вы используете громоздкую онлайн-доску, которая не всем нравится, рассмотрите вариант перехода на бумажный физический аналог, и вручную синхронизируйте ее с онлайн-системой в той части, где это необходимо. Канбан должен быть быстрым и простым для всех – не обуза, а удовольствие.
Антипаттерн №5. Неясный план
Команды могут воспринимать Канбан-доску только как инструмент для выполнения работы и мало внимания уделять планированию. Если ваша команда работает только с сервисами, планирование не занимает много времени: вы просто выстраиваете запросы в очередь (возможно в рамках приоритизированных категорий) и выполняете их. Но если вы работаете в проектах с альтернативными задачами и скоординированной стратегией, вам необходимо планировать свою работу.
Планирование, особенно для крупных проектов с сотнями или тысячами участников, может стать очень трудоемкой задачей. В книге Agile Project Management with Kanban Эрик описывает, как проводить планирование по Канбану для индивидуальных задач, команды размером 10 человек и организации с 8 000 сотрудников.
Любой качественный план содержит рабочие элементы разный уровней абстрактности: от верхнеуровневых сценариев до индивидуальных задач. Для равномерного потока нужно детализировать крупные рабочие элементы на более мелкие. Ваша Канбан-доска может включать специальный шаг «Детализация» в начале процесса, или вы можете создать правило для этапа оценки задач, что все задачи должны быть детализированы. В любом случае, вы избавитесь от рабочих элементов, которые могут создать «засор» в потоке.
Несмотря на то, что планы часто меняются, качественное планирование необходимо для любого проекта. Оно помогает расставить приоритеты и понять, как разные фрагменты работы собираются в один результат. Канбан позволяет быстро реагировать на изменения, но вы можете выбрать проактивный подход, разработав стратегический план своей работы.
Антипаттерн №6. Пренебрежение качеством
Команды могут откладывать исправление концептуальных и структурных проблем продукта до релиза или демонстрации пользователю, попадая в ловушку плохой привычки «хорошо сейчас-плохо потом». Это можно понять, но такой подход безответственен и непрофессионален. Критерии готовности для вашей команды гарантируют, что проверка качества встроена в каждый этап, а не откладывается до отдельной вехи.
Другие команды, от которых вы зависите, могут пренебрегать качеством, усложняя создание качественных продуктов для вашей команды. В таких ситуациях, вы можете следить за проблемами, пока ваши коллеги не решат их, использовать «костыли» до тех пор, пока результат другой команды сохраняет работоспособность, взять на себя работу другой команды (часто этот вариант нежелателен на многих уровнях управления), поступиться качеством работы вашей команды (встроить полу-готовый результат в свой продукт, понимая последствия), или настоять на том, чтобы другие команды работали на вашем уровне качества.
Поддержание качества на каждом шаге процесса – это ключевая задача для стабильной поставки ценности потребителю. Этот подход не только более эффективен, предсказуем и устойчив, но и позволяет радовать ваших клиентов новыми, качественными результатами в запланированные сроки. У нас это получается, и у вас с помощью Канбана тоже получится.
Антипаттерн №7. Потребитель выпадает из процесса
Команды могут приспособиться к комфортным для них ритмам работы, которые могут ухудшить отношения с пользователями и обратную связь от них. Например, можно договориться о встречах для демонстрации прогресса в четвертую пятницу месяца вне зависимости от того, может пользователь присутствовать на этой встрече или нет. Регулярные каденции (встречи, события – прим.пер.) для получения обратной связи и координации с другими командами полезны. Люди любят предсказуемые графики, а графики помогают не забывать о редких событиях. Но получение обратной связи от потребителя намного важнее, чем выполнение планов.
Канбан поставляет ценность потребителю непрерывно. Нет никаких надуманных дат или каденций. Календарь любого пользователя или партнера принимается во внимании при планировании встреч. Непростительным будет отсутствие обратной связи или несоблюдение обязательств по срокам перед пользователями. Вы можете установить расписание заранее, и многие команды так делают. Но правит бал не расписание, а ваши пользователи.
Используйте Канбан, чтобы постоянно поставлять ценность пользователю, и собирайте обратную связь тогда, когда это удобно всем. Ваши продукты и услуги станут лучше, а потребители – счастливее. Канбан дает вам гибкость, чтобы учитывать графики ваших потребителей.
Чек-лист
Вот список действий, которые помогут избавиться от антипаттернов Канбана:
- Проверьте, что на каждом шаге вашего процесса на доске есть колонки «В работе» и «Готово»;
- Определите WIP-лимиты для каждого шага, и используйте их, чтобы ограничить общее количество рабочих элементов на соответствующих шагах (и для колонки «В работе», и для колонки «Готово», кроме последнего шага – здесь установите ограничения только для «В работе»);
- Обновляйте доску в течение дня и призывайте участников команды делать так же;
- Предусмотрите время после ежедневной встречи по статусу для обсуждения общих вопросов;
- Используйте физическую (бумажную) доску, если команда считает онлайн-доску неудобной;
- Составляйте бэклог вдумчиво, в соответствии с общей стратегией и работой смежных команд;
- Включите шаг «Детализация» или используйте критерии готовности, чтобы делить крупные рабочие элементы на более мелкие задачи;
- Создайте критерии готовности, чтобы обеспечить контроль качества на каждом шаге;
- Решите, как будете работать с внешними зависимостями, которые влияют на качество;
- Планируйте встречи по получению обратной связи от пользователей и демонстрации результата, отталкиваясь от их расписания.
Насладитесь получением максимума от вложенного времени и усилий, применяя Канбан.
В статье Эрика Брехнера, которую мы перевели для вас, описаны 7 ошибок, которые допускают команды при применении Канбан-метода:
- Нет колонок «Готово» на всех этапах процесса
- Неуправляемый поток
- Непонятный статус
- Централизованный контроль
- Неясный план
- Пренебрежение качеством
- Потребитель выпадает из процесса
Эрик объясняет каждую из семи ошибок, или «антипаттернов», как он их называет, на примерах, и дает рекомендации по тому, как избежать этих ошибок. Эти рекомендации удобно использовать как чек-лист при ежедневном применении Канбан-метода.
Смотрите также:
- Тренинг “Agile Certified Professional”
- В каких случаях применим Kanban?
- Не Скрамом единым: где и как применять Канбан-метод
- Проектные сервисы в цифрах: Agile побеждает Waterfall