Kanban
Зачем нужно
Kanban — Agile-метод управления потоком работы. В отличие от Scrum, нет спринтов и фиксированных ролей. Задачи двигаются по доске от «To Do» до «Done» с ограничением количества задач в работе. Простой и гибкий подход, который легко внедрить.
Где используется
- Поддержка продукта — баги и фичи без фиксированных спринтов
- Личное планирование — организация своих задач
- DevOps — управление инцидентами и задачами
- RS School — отслеживание прогресса задания
- Любая команда — визуализация работы
Kanban Board — доска
Базовая доска
┌───────────┬───────────┬───────────┬───────────┐
│ To Do │In Progress│ Review │ Done │
│ │ (WIP: 3) │ (WIP: 2) │ │
├───────────┼───────────┼───────────┼───────────┤
│ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │
│ │Task 5 │ │ │Task 3 │ │ │Task 1 │ │ │Task 0 │ │
│ └───────┘ │ └───────┘ │ └───────┘ │ └───────┘ │
│ ┌───────┐ │ ┌───────┐ │ │ │
│ │Task 6 │ │ │Task 4 │ │ │ │
│ └───────┘ │ └───────┘ │ │ │
│ ┌───────┐ │ │ │ │
│ │Task 7 │ │ │ │ │
│ └───────┘ │ │ │ │
└───────────┴───────────┴───────────┴───────────┘
Расширенная доска
┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
│ Backlog │ To Do │ Dev │ Test │ Review │ Done │
│ │ (WIP: 5) │ (WIP: 3) │ (WIP: 2) │ (WIP: 2) │ │
├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
│ │ │ │ │ │ │
│ Ideas │ Selected │ Coding │ QA │ CR │ Released │
│ │ for work │ │ │ │ │
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘
WIP Limits — ограничение незавершённой работы
WIP (Work In Progress) limit — максимальное количество задач в колонке.
Без WIP limits: С WIP limits:
───────────────── ─────────────────
In Progress: 8 задач In Progress (WIP: 3): 3 задачи
→ Все начаты, ничего → Фокус, задачи завершаются
не завершено быстрее
→ Переключение контекста → Меньше переключений
→ Долгий цикл → Короткий цикл
Правило: если колонка заполнена до лимита — нельзя брать новую задачу. Сначала заверши текущую или помоги коллеге.
Как определить WIP limit
Для одного человека: 1-2 задачи в In Progress
Для команды: число членов команды × 1.5 (примерно)
Команда из 4 разработчиков:
- Dev: WIP = 4-6
- Review: WIP = 2-3
Flow — поток
Основные метрики
| Метрика | Описание |
|---|---|
| Lead Time | Время от создания задачи до завершения |
| Cycle Time | Время от начала работы до завершения |
| Throughput | Количество завершённых задач за период |
| WIP | Количество задач в работе прямо сейчас |
Lead Time: ──────────────────────────────────────
Backlog → To Do → Dev → Test → Done
Cycle Time: ───────────────────────
To Do → Dev → Test → Done
Cumulative Flow Diagram
Tasks │
30 │ ████████████████████ Done
│ ███████████████
20 │ ██████████████ In Progress
│ █████████████
10 │ ████████████ To Do
│████████
0 │──────────────────────────────
Week 1 Week 2 Week 3 Week 4
Если полоса «In Progress» расширяется — работа застревает.
Swim Lanes — дорожки
Горизонтальное разделение доски по типу работы или приоритету.
┌───────────┬───────────┬───────────┬───────────┐
│ To Do │In Progress│ Review │ Done │
├───────────┼───────────┼───────────┼───────────┤
│ URGENT │ │ │ │
│ ┌───────┐ │ ┌───────┐ │ │ │
│ │Bug #42│ │ │Bug #38│ │ │ │
│ └───────┘ │ └───────┘ │ │ │
├───────────┼───────────┼───────────┼───────────┤
│ FEATURES │ │ │ │
│ ┌───────┐ │ ┌───────┐ │ ┌───────┐ │ │
│ │Feat #5│ │ │Feat #3│ │ │Feat #1│ │ │
│ └───────┘ │ └───────┘ │ └───────┘ │ │
├───────────┼───────────┼───────────┼───────────┤
│ TECH DEBT │ │ │ │
│ ┌───────┐ │ │ │ ┌───────┐ │
│ │Refact │ │ │ │ │Lint │ │
│ └───────┘ │ │ │ └───────┘ │
└───────────┴───────────┴───────────┴───────────┘
Pull System — система вытягивания
PUSH (плохо): PULL (Kanban):
Менеджер → назначает задачи Разработчик → берёт задачу
→ перегрузка когда освобождается
→ нет контроля WIP → контроль WIP
→ самоорганизация
Принцип: задачу берёт тот, кто свободен. Никто не «пушит» задачи в команду.
Kanban vs Scrum
| Параметр | Scrum | Kanban |
|---|---|---|
| Итерации | Спринты (2-4 недели) | Непрерывный поток |
| Роли | PO, SM, Dev Team | Нет обязательных ролей |
| Планирование | Sprint Planning | По мере появления задач |
| Изменения | Не в текущем спринте | В любой момент |
| Метрики | Velocity | Lead Time, Throughput |
| WIP | Весь спринт | Ограничен по колонкам |
| Церемонии | 4 обязательных | Опционально |
| Доска | Очищается каждый спринт | Постоянная |
| Лучше для | Продуктовая разработка | Поддержка, операции |
Инструменты
| Инструмент | Бесплатный | Особенности |
|---|---|---|
| Trello | Да (базовый) | Простой, интуитивный |
| GitHub Projects | Да | Интеграция с Issues/PR |
| Jira | Да (до 10 человек) | Мощный, сложный |
| Notion | Да (базовый) | Гибкий, база знаний |
| Linear | Да (базовый) | Быстрый, для разработчиков |
GitHub Projects как Kanban
Repository → Projects → New Project → Board view
Колонки:
- 📋 Backlog
- 🔜 To Do
- 🔧 In Progress
- 👀 Review
- ✅ Done
Issues и PR автоматически перемещаются по доске.
Частые ошибки
| Ошибка | Проблема | Решение |
|---|---|---|
| Нет WIP limits | Всё начато, ничего не закончено | Установи лимиты и соблюдай |
| Доска не обновляется | Не отражает реальность | Обновляй при каждом изменении |
| Слишком много колонок | Сложность без пользы | Начни с 3-4 колонок |
| Нет pull system | Задачи «пушатся» сверху | Команда сама берёт задачи |
| Игнорируют bottleneck | Задачи копятся в одной колонке | Проанализируй и устрани причину |
Практика
- Создай Kanban-доску в GitHub Projects для своего проекта
- Установи WIP limits и попробуй их соблюдать
- Отследи Lead Time для 5 задач
- Добавь swim lanes для багов и фич
- Проведи анализ: где задачи застревают дольше всего
Связанные темы
- Agile и Scrum — альтернативный Agile-фреймворк
- Модели разработки — обзор моделей SDLC
- Code Review — часть потока Kanban
- Работа с GitHub — GitHub Projects