Урок 7. Разработка по Kanban
В этом уроке рассмотрим другую методологию разработки из семейства Agile — Kanban. Разберем как общее устройство этого подхода, так и применение его к разработке сайта кофейни.
Связь Kanban и Scrum
  • Общее: Kanban, как и Scrum, основывается на принципах Agile, поддерживая гибкость и непрерывное улучшение процессов.
  • Различия: В отличие от Scrum, Kanban менее формализован и не требует строгих итераций (спринтов) или ролей в команде. Это делает Kanban более гибким и адаптивным к изменяющимся приоритетам.
Основные принципы Kanban
  • Визуализация рабочего процесса: Используя доску Kanban, команда визуализирует все этапы работы от начала до завершения. Это упрощает отслеживание прогресса и выявление узких мест.
  • Ограничение объема незавершенных работ (WIP — work in progress): Kanban акцентирует внимание на ограничении количества задач, выполняемых одновременно. Это улучшает качество работы и сокращает время на выполнение задач.
  • Поток работы: Постоянный поток задач в Kanban позволяет команде эффективно реагировать на изменения и приоритеты без необходимости ожидания следующего спринта.
Рабочий процесс Kanban
Kanban-доска
Kanban-доска разделяется на столбцы, отражающие этапы процесса работы над задачами (например, "To Do", "In Progress", "Done"). Каждая задача представлена карточкой, которая перемещается по столбцам в соответствии с ее статусом слева на право. Это обеспечивает наглядность текущего состояния работы и помогает выявить узкие места в процессе работы. На каждом этапе процесса устанавливается лимит незавершенных работ. Это помогает сосредоточиться на текущих задачах и избегать перегрузки команды.
Типы задач в Kanban
В Kanban-методологии используют четыре класса задач:
  • ускоренный — сюда относятся самые приоритетные задачи;
  • с фиксированной датой — задачи, которые нужно сдать к фиксированному дедлайну;
  • стандартный — задачи с обычным приоритетом;
  • нематериальный — задачи с низким приоритетом, невыполнение которых не приведет к убыткам.
Метрики Kanban
Kanban использует различные метрики для оценки эффективности процесса и выявления областей для улучшения. Вот некоторые из них:
  • Время поставки от постановки задачи — сколько времени проходит от записи задачи в бэклог до завершения работы над задачей.
  • Пропускная способность — сколько задач команда может делать за определенный промежуток времени (например, количество сделанных задач за неделю).
  • Количество задач в работе — количество незавершенных задач на доске.
Когда использовать Kanban
Kanban лучше всего подходит для проектов и команд, где приоритеты часто меняются, и требуется высокая степень адаптивности. Он также эффективен в областях поддержки и обслуживания, где работа не может быть заранее спланирована.
Применение Kanban к разработке сайта кофейни
1. Создать канбан-доску
Первый шаг — это визуализация задач и процессов. Нужно понять, какие повторяющиеся этапы есть в работе над задачами. Затем сделать колонку для каждого этапа. Для разработки сайта кофейни установим следующие этапы: Бэклог (задачи в очереди), Анализ, Дизайн, Разработка, Тестирование, Деплой, Готов.
Далее необходимо:
  • Все задачи, необходимые для создания сайта кофейни, разместить в колонке "Бэклог".
  • Команда выбирает задачи из колонки "Бэклог" и перемещает их далее по потоку работы: в Анализ, Дизайн и т.д.
  • Важно следить за тем, чтобы количество задач в работе не превышало установленный лимит, что предотвращает перегрузку команды.
2. Ограничить незавершённые задачи
Второй шаг — ограничить количество незавершённых задач. Например, у команды проекта может быть максимум 5 задач в статусе «Разработка». Если лимит превышен, то проджект-менеджер не может передать новую задачу от заказчика, пока не будет завершена одна из текущих.

3. Управлять потоком
Чтобы движение потока было равномерным и прогнозируемым, нужно найти и устранить «бутылочные горлышки» — места, в которых рабочий процесс замедляется. По распределению задач на доске выше можем предположить, что в проекте с разработкой сайта кофейни узким горлышком будет дизайн.
Отличия между Scrum и Kanban
  • Итерации: Scrum работает с фиксированными итерациями (спринтами), тогда как Kanban поддерживает непрерывный поток задач.
  • Роли: В Scrum определены конкретные роли (Scrum Master, Product Owner), в то время как в Kanban такого строгого разделения ролей нет.
  • Гибкость изменений: В Kanban можно вносить изменения в задачи в любой момент, в отличие от Scrum, где изменения обычно вносятся между спринтами.
  • Отчетность и планирование: Scrum требует более формализованного планирования и отчетности, в то время как Kanban фокусируется на текущем потоке работы.
  • Команда: В Kanban могут работать узкопрофильные команды. В Scrum только кросс-функциональные команды, которые могут без привлечения внешних ресурсов достигать целей спринтов.
Loading...