Ответ
Scrum — итеративный фреймворк с фиксированными спринтами. Kanban — метод непрерывного потока работы с визуализацией на доске.
Сравнительная таблица:
| Параметр | Scrum | Kanban |
|---|---|---|
| Итерации | Фиксированные спринты (1-4 недели) | Непрерывный поток, без итераций |
| Роли | Scrum Master, Product Owner, Development Team | Нет строгих ролей, может быть Kanban Master |
| Планирование | В начале спринта (Sprint Planning) | По мере необходимости (on-demand) |
| Изменения | Запрещены во время спринта | Разрешены в любой момент |
| Метрики | Velocity, Sprint Burndown | Cycle Time, Lead Time, WIP |
| Артефакты | Product Backlog, Sprint Backlog, Increment | Kanban Board, Cards |
| Церемонии | Daily Standup, Sprint Review, Retrospective | Daily Standup, Replenishment, Delivery Review |
| Визуализация | Доска обновляется каждый спринт | Постоянная доска с колонками |
Пример Scrum-процесса:
┌─────────────────────────────────────────────────┐
│ Sprint #5 (2 недели) │
├─────────────────────────────────────────────────┤
│ День 1: Sprint Planning → выбираем задачи из │
│ Product Backlog в Sprint Backlog │
│ День 1-10: Daily Standup (15 мин) │
│ День 10: Sprint Review → демонстрация инкремента│
│ День 10: Retrospective → улучшение процесса │
└─────────────────────────────────────────────────┘
Пример Kanban-доски:
┌─────────────┬──────────────┬─────────────┬─────────────┐
│ Backlog │ Selected │ In Progress │ Done │
│ │ (WIP≤5) │ (WIP≤3) │ │
├─────────────┼──────────────┼─────────────┼─────────────┤
│ • Task F │ • Task A │ • Task B │ • Task X │
│ • Task G │ • Task C │ • Task D │ • Task Y │
│ • Task H │ • Task E │ │ • Task Z │
└─────────────┴──────────────┴─────────────┴─────────────┘
↑ WIP-лимиты предотвращают перегрузку команды
Практические рекомендации по выбору:
# Псевдокод для выбора методологии
def choose_methodology(project_type):
"""
Выбор между Scrum и Kanban на основе характеристик проекта
"""
if project_type == "new_product_development":
# Scrum: предсказуемые итерации, приоритизированный бэклог
return {
"methodology": "Scrum",
"reason": "Нужны регулярные релизы и фиксированное планирование",
"sprint_length": "2 недели",
"ceremonies": ["Planning", "Daily", "Review", "Retro"]
}
elif project_type == "support_maintenance":
# Kanban: непрерывный поток, срочные запросы
return {
"methodology": "Kanban",
"reason": "Непрерывный поток работ, частые срочные задачи",
"wip_limits": {"Selected": 5, "In Progress": 3},
"metrics": ["Cycle Time", "Throughput"]
}
elif project_type == "mixed":
# Scrumban: гибридный подход
return {
"methodology": "Scrumban",
"reason": "Нужны итерации Scrum с гибкостью Kanban",
"features": ["Sprints", "Kanban Board", "WIP Limits"]
}
Ключевой insight: Scrum фокусируется на предсказуемости через итерации, Kanban — на гибкости и непрерывном потоке. Многие команды используют гибридные подходы (Scrumban).