Впервые Scrum (Скрам) описали аж в 1986 году, но как полноценная методология он появился в 1996 году и сразу приобрел популярность. И не напрасно — Scrum идеально подходит для создания чего-то нового, что ранее не создавалось: веб-разработка, программное обеспечение, новые продукты и услуги и т.д.
Scrum состоит из трех смысловых блоков-процессов: Команда, Спринты и Митинги.
Scrum команда
В команда обязательно присутствуют три роли:
1. Product owner (Владелец продукта) — Видит весь проект, понимает его суть и определяет, каким он должен получиться. Очень часто, в роли PO выступает сам заказчик;
2. Scrum-мастер — Отвечает за то, чтобы команда держала ритм и выполняла задачи. Решает возникающие проблемы и налаживает все процессы в работе команды;
3. Scrum-команда — остальные участники команды, специалисты в различных областях.
Спринты и бэклог
Спринт — отрезок времени (обычно от 1 до 2-х недель), за который команда выполняет какой-то объем работ. Весь проект нарезается на такие спринты.
Главное, что по окончанию цикла команда получает итоговый результат. Например, в разработке результатом спринта зачастую является релиз продукта. Урезанный и ограниченный по функционалу, но рабочая версия.
Backlog — список задач по всему проекту. Основной инструмент планирования: в него добавляются новые идеи, и из него команда берет задачи на спринт.
Митинги
В Scrum уделяется много внимания общению внутри команды. Каждое такое совещание называется «митинг» и есть как минимум четыре типа митингов:
Sprint meeting — собрание для выбора задач на сл. спринт
Daily meeting — ежедневное, короткое (не более 15-и минут) собрание с короткой отчетностью каждого члена команды
Sprint Rewiev — демонстрация результатов спринта
Retrospective — обсуждение ошибок, узких мест и наоборот, хороших решений, которые возникли в процессе спринта.
Работа по Scrum
Рассмотрим последовательность действий в двухнедельном спринте:
1. Команда проводит Sprint meeting, на котором коллектив определяет, какие задачи из backlog пойдут в очередной спринт и какой длительности будет сам спринт.
2. Теперь на каждую задач надо найти ответственного (в отличии от классического менеджмента, в Scrum никто никого не назначает ответственным — каждый сам подхватывает ту задачу, которая ему больше нравится).
Все это происходит под чутким присмотром и помощью Scrum-мастера. Он в данной ситуации является модератором происходящего и следит чтобы команда не ушла в сторону.
3. Пока идет спринт, ежедневно команда собирается на короткий Daily meeting и каждый участник дает короткую отчетность своим коллегам по трем вопросам:
1. Что я сделал вчера
2. Что я планирую сделать сегодня
3. Как у меня возникли сложности
Если Scrum-мастер видит, что команда отклоняется от графика, то он обращает на это внимание команды и участники принимают решение.
4. Когда спринт подошел к концу, команда проводит два митинга (обычно они проходят друг за другом):
Sprint Review, на котором SCRUM-мастер демонстрирует команде и Product Owner результаты, которые были получены в результате спринта.
И Retrospective, на которой команда обсуждает, что им мешало выполнению задач, а что, наоборот, помогало. В результате команда составляет лист улучшений, чтобы в будущем убрать те барьеры, что мешали на этом спринте.
Цикл закончен, команда переходит к следующему спринту и так, друг за другом, итерация за итерацией идет прогресс проекта.