Фреймворк Scrum – один из наиболее распространенных сегодня фреймворков, основанных на Agile. Последний предполагает итерационное управление и частую, регулярную поставку продукта заказчику. В случае со Scrum, продолжительность изготовления продукта разбивается на определенные временные отрезки – недели или месяцы. Команды, состоящие из 5-7 человек, а также все содержание проекта, разделенное на условные части, и являются скрамом.
Согласно Скрам Гайду (версия №2 от 2016 года) и работам Джеффа Сазерленда, американского программиста – разработчика методологии Scrum и автора Agile Manifesto, в центре скрама находится команда.
В ней существуют определенные роли, каждая из которых очень важна. Первая из них – владелец продукта. Это компетентный представитель, которого бизнес делегировал в проект, и которому хорошо известны все характеристики и выгоды создаваемого продукта. При этом он не является лидером команды. Он приносит команде требования относительно проекта. Роль скрам-мастера сложно переоценить. Это, без преувеличения, душа команды. Его ключевая задача – создание комфортных условий для команды, которые позволили бы претворить в жизнь самый сложный проект. Примечательно, что руководителя в команде нет. С точки зрения технологии Agile, к которой относится Scrum, команда является ядром и должна быть самоорганизованной. Лидеры в ней должны появляться в зависимости от поставленной задачи.
Один из важнейших этапов в работе команды является формирования бэклога – списка требований, предлагаемых проекту всеми заинтересованными сторонами. За него отвечает владелец продукта. Он формирует его и расставляет в нем приоритеты с помощью команды. При этом требования приоритезированы изначально и сформулированы на языке пользователя для всего проекта. В каждый спринт (отрезок времени) берется лишь определенный набор требований из бэклога. Как правило, вся команда участвует в выборе из пользовательских историй в бэклоге спринта с учетом приоритета. Пользовательские истории, созданные на языке бизнеса, должны быть разбиты на конкретные технические задачи. Идеально, если они будут иметь длительность один человеко-день.
Планирование спринта определяет, чем команда будет заниматься в течение ближайшего времени. Еще один инструмент скрама – scrum-meeting. Он проводится стоя, в одном и том же месте и длится примерно 15 минут. Скрам-мастер четко следит за соблюдением времени. Все участники должны дать ответ на три вопроса: что было сделано вчера, что будет сделано ими сегодня и какие проблемы возникали в работе. Если команда не успела выполнить какие-либо задачи на протяжении двух недель, они возвращаются в бэклог. Владелец продукта заново сортирует бэклог по приоритетам.