Scrum
Фреймворк гибкой разработки: команда работает спринтами по 1–4 недели, в конце каждого показывая работающий результат.
Scrum — самый распространенный фреймворк гибкой разработки (Agile). Работа идет короткими циклами — спринтами длиной от одной до четырех недель, чаще двухнедельными. В начале спринта команда выбирает, что успеет сделать, а в конце показывает работающий результат и обсуждает, как работать лучше. Подход сформулировали Кен Швабер и Джефф Сазерленд в 1995 году; правила описаны в кратком «Руководстве по Scrum», последняя редакция — 2020 года.
Роли
- Владелец продукта (Product Owner) отвечает за ценность продукта: ведет список задач, расставляет приоритеты, принимает результат.
- Scrum-мастер помогает команде работать по Scrum, убирает препятствия и защищает команду от отвлечений во время спринта.
- Разработчики — все, кто создает результат: программисты, аналитики, тестировщики, дизайнеры. Обычно команда — до десяти человек.
События
- Планирование спринта — что и зачем будет сделано в этом спринте и как.
- Ежедневный Scrum — встреча на 15 минут: что мешает достичь цели спринта, нужно ли перестроиться.
- Обзор спринта — демонстрация результата заказчику и заинтересованным людям и обсуждение дальнейших шагов.
- Ретроспектива — что в работе команды получилось, что нет, и одно-два конкретных улучшения на следующий спринт.
Артефакты
- Бэклог продукта — упорядоченный по приоритету список всего, что может понадобиться в продукте.
- Бэклог спринта — задачи, выбранные на текущий спринт, и план их выполнения.
- Инкремент — работающий результат спринта, который можно выпустить.
Отдельно команда договаривается о «критериях готовности» (Definition of Done): задача считается сделанной, только если код проверен на код-ревью, покрыт тестами, задокументирован и выкачен на тестовый стенд. Без этого «почти готовые» задачи копятся из спринта в спринт.
Чем Scrum помогает
- Заказчик видит прогресс каждые две недели, а не в конце проекта.
- Приоритеты можно менять между спринтами без хаоса внутри спринта.
- Ретроспективы постоянно улучшают процесс.
- Скорость команды становится измеримой, а сроки — предсказуемее.
Когда Scrum не подходит
Если работа состоит из непредсказуемого потока срочных задач — поддержка, исправление инцидентов, — планировать на две недели вперед бессмысленно: спринт будут постоянно прерывать. Там удобнее Kanban. Частая проблема на практике — Scrum «для галочки»: встречи проводятся, но владелец продукта не принимает решений, результат спринта не показывают пользователям, а ретроспективы не приводят к изменениям. Задачи и спринты обычно ведут в трекерах вроде Jira и ее российских аналогов.