Поделиться через


Что такое Канбан?

Канбан является японским термином, который означает знак или рекламный щит. Промышленный инженер с именем Taiichi Ohno разработал Канбан в Toyota Motor Corporation для повышения эффективности производства.

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

Изображение, показывающее людей, использующих доски Kanban.

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

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

Визуализация работы

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

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

Схема, на которой показана доска Kanban.

Используйте модель извлечения

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

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

Установить ограничение WIP

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

Команды решают ограничение WIP или максимальное количество элементов, над которые они могут работать одновременно. Хорошо дисциплинированная команда следит за тем, чтобы не превышать установленный предел работы в процессе (WIP). Если команды превышают ограничения WIP, они изучают причину и работают над решением первопричины.

Измерение непрерывного улучшения

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

Доски Канбан

Совет Канбан является одним из средств, используемых для реализации практик Канбана . Доска Kanban может быть физической доской или программным приложением, которое показывает карточки, расположенные в столбцах. Типичные имена столбцов: "Работа", "Выполнение" и " Готово", но команды могут настраивать имена для сопоставления состояний рабочего процесса. Например, команда может предпочесть использовать New, Development, Testing, UAT и Done.

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

Снимок экрана: доска Kanban для разработки программного обеспечения.

На доске Kanban ограничение WIP применяется ко всем столбцам в процессе выполнения. Ограничения WIP не применяются к первым и последним столбцам, так как эти столбцы представляют работу, которая не запущена или завершена. Доски Kanban помогают командам оставаться в пределах WIP, привлекая внимание к столбцам, превышающим ограничения. Затем команды могут определить курс действий для устранения узкого места.

Накопительные схемы потоков

Распространенное дополнение к доскам Kanban на основе программного обеспечения — это диаграмма, называемая накопительная диаграмма потоков (CFD). Диаграмма накопительных потоков (CFD) показывает количество элементов в каждом состоянии по мере времени, как правило, в течение нескольких недель. Горизонтальная ось показывает хронологию, а вертикальная ось показывает количество элементов невыполненной работы продукта. Цветные области указывают на состояния или столбцы, в которых в настоящее время находятся карточки.

CFD особенно полезно для выявления тенденций с течением времени, включая узкие места и другие препятствия темпа. Хороший CFD показывает устойчивую восходящую тенденцию, пока команда работает над проектом. Цветные области на диаграмме должны быть примерно параллельными, если команда работает в рамках своих ограничений WIP.

Изображение, показывающее накопительную схему потока.

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

Изображение, показывающее узкие места в накопительной схеме потока.

Канбан и Scrum в гибкой разработке

Хотя Agile разработка охватывает и Scrum, и Kanban, эти методологии значительно отличаются друг от друга.

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

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

Канбан с GitHub

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

Канбан с «Azure Boards»

Azure Boards предоставляет комплексное решение Kanban для планирования DevOps. Azure Boards имеет глубокую интеграцию с Azure DevOps, а также может быть частью интеграции Azure Boards-GitHub.