В чем разница между Agile, Scrum и Kanban

«В чем разница между Agile, Scrum и Kanban» — вопрос из категории Методологии разработки, который задают на 24% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Agile — это философия разработки, основанная на 12 принципах манифеста Agile (гибкость, итеративность, фокус на ценности для клиента).

Scrum — один из фреймворков Agile с жесткой структурой:

  • Фиксированные спринты (1-4 недели)
  • Роли (Scrum Master, Product Owner, Dev Team)
  • Артефакты (бэклог, спринт-бэклог)
  • Церемонии (планирование, стендап, ретро)

Kanban — более гибкий метод, без жестких итераций:

  • Визуализация потока (доска с колонками: To Do, In Progress, Done)
  • Ограничение WIP (Work In Progress)
  • Непрерывный поток задач

Пример:

# Scrum: задачи разбиты на спринты
sprint_backlog = ["Implement login", "Fix bug #123", "Write tests"]

# Kanban: задачи в непрерывном потоке
kanban_board = {
    "To Do": ["Refactor API", "Update docs"],
    "In Progress": ["Optimize DB"],
    "Done": ["Deploy v1.0"]
}

Scrum подходит для проектов с четкими целями, Kanban — для поддержки и ad-hoc задач.