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

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

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

Image that shows people using Kanban boards.

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

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

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

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

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

Diagram showing a Kanban board.

Использование модели извлечения

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

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

Налагает ограничение WIP

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

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

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

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

Канбан-доски

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

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

Screenshot of a software development Kanban board.

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

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

Распространенное дополнение к доскам Kanban на основе программного обеспечения — это диаграмма, называемая накопительной схемой потоков (CF). В ФОРМАТЕ CF показано количество элементов в каждом состоянии с течением времени, как правило, в течение нескольких недель. Горизонтальная ось показывает временная шкала, а вертикальная ось показывает количество элементов невыполненной работы продукта. Цветные области указывают на состояния или столбцы карта в настоящее время.

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

Image showing a cumulative flow diagram.

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

Image showing a bottleneck in a cumulative flow diagram.

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

В то время как широко подходят под зонтиком гибкой разработки, Scrum и Kanban совершенно разные.

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

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

Канбан с GitHub

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

Kanban с Azure Boards

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