Ответ
Канбан — это метод управления workflow, направленный на визуализацию работы, ограничение объема незавершенных задач (Work In Progress, WIP) и оптимизацию потока доставки ценности. В разработке ПО он реализуется как канбан-доска.
Основные принципы канбана:
- Визуализируйте workflow: Все задачи отображаются на доске с колонками, соответствующими этапам процесса (например,
Backlog,To Do,In Progress,Code Review,Testing,Done). - Ограничьте Work In Progress (WIP): Для каждой колонки устанавливается максимальное количество одновременно выполняемых задач. Это выявляет "узкие места" (bottlenecks) и фокусирует команду на завершении, а не на старте новых задач.
- Управляйте потоком: Измеряйте и анализируйте метрики, такие как цикл времени (lead time, cycle time), чтобы постоянно улучшать процесс.
- Сделайте правила процесса явными: Команда четко определяет критерии входа/выхода для каждой колонки (например, "задача готова для Code Review, если есть работающий код и unit-тесты").
- Внедряйте улучшения постепенно (эволюционно): Канбан не требует резких изменений процесса, а предлагает улучшать существующий workflow.
Пример канбан-доски в инструментах (Jira, Trello, физическая доска):
| Backlog | To Do (WIP=3) | In Progress (WIP=2) | Code Review (WIP=2) | Done |
|------------------|---------------|---------------------|---------------------|---------------|
| • Добавить виджет| • Исправить баг| • Реализовать API | • Рефакторинг модуля| • Обновить дизайн |
| • Написать докум.| • Написать тест| | | |
Как применяется в iOS-разработке:
- Визуализация: Задачи на доске могут быть user stories, баги, технические долги.
- WIP-лимиты: Не дают разработчику взять 5 задач сразу, заставляя сначала завершить текущие (например, закончить код, прежде чем брать задачу в ревью).
- Ежедневные стендапы: Команда обсуждает доску, а не статусы. Вопросы: "Что блокирует движение этой задачи из 'In Progress' в 'Code Review'?"
- Планирование пополнения (Replenishment): Новые задачи из бэклога берутся в работу не по жесткому спринту, а по мере освобождения слотов WIP.
Преимущества:
- Гибкость: Приоритеты можно менять оперативно, добавляя срочные задачи в бэклог.
- Прозрачность: Весь процесс и его bottlenecks видны всем участникам.
- Предсказуемость: Анализ метрик потока позволяет точнее оценивать сроки завершения.
- Фокус на завершении: WIP-лимиты помогают бороться с многозадачностью и контекстными переключениями.
Потенциальные сложности:**
- Требует дисциплины: Без соблюдения WIP-лимитов и правил доска превращается в простое "хранилище" задач.
- Не определяет роли и события: В отличие от Scrum, в "чистом" канбане нет ролей Scrum Master/Product Owner и фиксированных временных итераций (спринтов). Часто практики комбинируются (Scrumban).
Канбан — это мощный инструмент для постоянного улучшения процесса на основе данных, а не просто цифровая или физическая доска для трекинга задач.