Scrum – это методология управления проектами, построенная на принципах тайм-менеджмента. Основной ее особенностью является вовлеченность в процесс всех участников, причем у каждого участника есть своя роль. Суть в том, что не только команда работает над решением задачи, но все те, кому интересно решение задачи, не просто поставили ее и расслабились, а постоянно работают с командой, и эта работа не означает только постоянный контроль.
Scrum – это методика работы, а Agile – это философия.
Scrum – это спортивный термин, который пришел к нам из регби, и представляет собой фигуру, которую образуют игроки перед началом игры.
Согласно принципам Scrum, команда тестировщиков должна участвовать в следующих этапах:
Более того, участники QA-отдела должны присутствовать на всех ежедневных собраниях, как и другие члены команды, чтобы обсудить, что было протестировано и сделано вчера, что будет протестировано сегодня, а также общий прогресс тестирования.
В то же время принципы Agile методологии в Scrum приводят к появлению специфических особенностей:
Scrum – это одна из нескольких методологий гибкой разработки ПО:
Scrum процесс на одном листе:
В классическом Scrum существует 3 базовые роли:
В Scrum существует четыре основные церемонии, каждая из которых имеет свою цель и формат проведения:
1. Планирование спринта (Sprint Planning). Это совещание, на котором присутствуют все (команда, Scrum-мастер, Владелец продукта). Владелец продукта представляет бэклог с приоритетами, команда оценивает работу и формирует спринт-бэклог. По времени обычно занимает 1–2 часа и проводится в начале спринта. В итоге формируется список задач, который не может изменяться в течение спринта и к концу спринта должен быть полностью выполнен.
2. Ежедневный Daily Scrum Meeting Короткое ежедневное собрание (до 15 минут), где каждый член команды рассказывает, что он сделал за вчера, что планирует сделать сегодня и какие препятствия есть. То есть отвечает на вопрос "что я сделал вчера?", "что я планирую сделать сегодня?", "какие препятствия на своей работе я встретил?". Задача Daily Scrum – определение статуса и прогресса работы над Sprint, раннее выявление возникших препятствий, выработка решений по изменению стратегии, необходимых для достижения целей Sprint'а. Это помогает координировать работу и оперативно решать проблемы.
3. Backlog Refinement (рефайнмент) это вспомогательная, но неофициальная церемония, где команда и владелец продукта совместно уточняют и подготавливают задачи для будущих спринтов, чтобы облегчить планирование. Решает, что улучшить, почистить, оценивает приоритетность задач и все максимально детализирует.
4. Ретроспектива спринта (Sprint Retrospective). Встреча команды после спринта для обсуждения того, что прошло хорошо, что можно улучшить и какие изменения внести в процесс. Цель — постоянное улучшение работы команды.
Эти церемонии обеспечивают регулярную коммуникацию, прозрачность и адаптацию процесса разработки. По окончании Sprint'а проводятся Sprint Review и Sprint Retrospective, задача которых – оценить эффективность (производительность) команды в прошлом Sprint'е, спрогнозировать ожидаемую эффективность (производительность) в следующем спринте, выявить имеющиеся проблемы, оценить вероятность завершения всех необходимых работ по продукту и прочее.
В Scrum существуют 3 основных артефакта, которые помогают управлять процессом разработки и обеспечивают прозрачность:
1. Product Backlog (Бэклог продукта). Это упорядоченный список всех работ, функций, требований, улучшений и исправлений, которые нужно реализовать в продукте. Бэклог постоянно обновляется и уточняется владельцем продукта и командой, чтобы отражать текущие приоритеты и требования.
2. Sprint Backlog (Бэклог спринта). Список задач и элементов из Product Backlog, которые команда планирует выполнить в конкретном спринте. Он включает в себя также план достижения цели спринта и представляет собой рабочий план на короткий период.
3. Increment (Инкремент). Рабочая версия продукта, полученная после завершения спринта. Представляет собой сумму всех элементов беклога продукта, исполненных во время спринта, и ценность инкрементов всех предыдущих спринтов. Это часть продукта с добавленной новой функциональностью, готовая к использованию или демонстрации заказчику. Каждый инкремент должен соответствовать критериям готовности (Definition of Done).
Также важным связанным артефактом является Definition of Done (DoD) — набор критериев, по которым определяется, что работа над задачей или инкрементом завершена.
Эти артефакты обеспечивают прозрачность, контроль и адаптивность разработки, позволяя команде и заинтересованным сторонам точно видеть текущее состояние и прогресс проекта.
Процесс в скраме построен на цикличных коротких итерациях — спринтах, в которых кросс-функциональная команда под руководством скрам-мастера и владельца продукта планирует, выполняет задачи из бэклога, ежедневно синхронизируется, а по итогу демонстрирует результат и анализирует работу для постоянного улучшения. Все действия направлены на создание и выпуск рабочего инкремента продукта с максимальной ценностью для заказчика. Роли, артефакты и церемонии взаимосвязаны в едином процессе, обеспечивая прозрачность, адаптацию и постоянную проверку качества.
Product Backlog (владелец продукта) ↓ Sprint Planning (вся команда) ↓ Sprint (2 недели) ↳ Daily Scrum (ежедневно) ↓ Sprint Review (вся команда + заинтересованные лица) ↓ Sprint Retrospective (команда) ↓ Increment (готовый продукт) ↓ Обратная связь и обновление Product Backlog