В Scrum, спринт — это итерация разработки, выполняющаяся за определенный промежуток времени. Длительность спринта обычно составляет 1-4 недели, но не больше одного месяца. Длительность итерации определяется в начале agile-проекта и должна соблюдаться на всем его протяжении.
Во время спринта Scrum-команда определяет набор функциональности, которую важно реализовать за спринт. За каждый спринт создается потенциально новый релиз программного продукта.
Каждый спринт начинается с планирования, на котором владелец продукта (или продакт-менеджер), Scrum-мастер и команда разработки вместе решают какую функциональность из бэклога важно реализовать в следующем спринте.
Пока продакт-менеджер определяет цели спринта и критерии их достижения, команда разработчиков оценивает какой объем работ реально выполнить за спринт.
После начала спринта владелец продукта участия в Scrum команде не принимает и работает независимо до конца спринта, только в случае необходимости отвечая на вопросы.
Спринт заканчивается за отведенное на него время вне зависимости от того все выполнены задачи или нет. После этого проводится совещание по обзору спринта, где владелец продукта определяет была ли достигнута цель спринта.
Сразу после окончания agile-спринта начинается следующий, это позволяет процессу разработки работать как хорошо отлаженный механизм.
Что происходит во время планирования спринта?
Планирование спринта происходит на специальной встрече, где принимает участие вся Scrum-команда — владелец продукта (product owner), Scrum-мастер (scrum master) и команда разработки (development team).
Планирование спринта — это методика проработки состава задач на следующий спринт. Встреча длительностью не более 8 часов при длине спринта в месяц, но в идеале она должна занимать по часу за каждую неделю спринта.
Результат встречи — план, и он должен быть результатом совместной работы всей Scrum-команды, план должен определять элементы бэклога, которые важно взять в работу на ближайший спринт, а еще план определяет, как именно эта работа будет выполняться.
Планирование спринта должно проводиться прямо перед началом спринта, и только после обзора и анализа предыдущего.
У каждого спринта должна быть цель, с которой и начинается разбор в начале каждого совещания по планированию спринта. Цель спринта — это такая цель, которой должна руководствоваться команда разработки при развитии продукта. Все задачи следующего спринта должны согласовываться с его целью.
Кто принимает решения при Scrum-подходе?
Как мы уже сказали, каждый из Scrum-команды должен быть вовлечен в планирование спринта и у каждого есть своя роль:
- Владелец продукта должен предложить цель спринта и элементы бэклога, над которыми в следующим спринте предстоит поработать.
- Ребята из команды воплощения продукта должны определить сколько задач они могут закрыть в предстоящем спринте и обсудить, как они будут эти задачи решать, чтобы в итоге достичь цели спринта
- Скрам-мастер налаживает коммуникацию между участниками команды и обеспечивает эффективность обсуждения. Он должен убедиться в том, что все говорят на одном языке относительно цели и элементов бэклога, которые будут выполняться во время спринта.
Вместе они должны решить какие пункты бэклога будут завершены в спринте, определить к ним требования, проработать потенциальные проблемы и критерии выполнения задачи.
Как спланировать Scrum-спринт в Infinity
В Infinity лучший способ планирования спринта - это совещание по планированию спринта. Пока команда обсуждает задачи для выполнения в следующем спринта, владелец продукта должен перенести задачи из Backlog в папку Sprint перетаскиванием и нажать кнопку “Move”.
После того как задача перешла в папку Sprint, владелец продукта должен добавить к ней все необходимые детали для определения задачи. В частности, указать ответственного за выполнение задачи, расчетное время выполнения задачи, приоритет и так далее. Можно для планирования спринта использовать шаблон Product Management. вот как это сделать:
- Шаг 1: Переместите задачу из Backlog в папку Current Sprint
- Шаг 2: Задача из бэклога в том же виде с той же информацией перейдет в спринт, ее можно изменить, если нужно.
- Шаг 3: Поставьте расчтеное время выполнения задачи то, которое назвали разработчики
- Шаг 4: Поставьте статус To Do, это переместит задачу в первую колонку
- Шаг 5: Поставьте уровень приоритета - High, Medium или Low
- Шаг 6: Добавьте дату выполнения
- Шаг 7: Свяжите задачу с соответствующей функцией в дорожной карте, прикрепив ссылку на функцию
- Шаг 8: Добавьте актуальные ссылки если нужно.
После того как вы спланировали спринт, пора заняться самим спринтом. Как управлять спринтов в Infinity?
Один из самых удобных способов управления спринтами - это хранение их в отдельных папках. После каждого совещания по планированию спринта вы можете легко перенести в папку Sprint согласованные с командой элементы бэклога.
Как только у вас появится отдельная папка Sprint вы сможете использовать ее каждый раз в течение всего проекта. Вы можете просто добавлять новые задачи из бэклога после каждого совещания и в конце спринта перемещать завершенные задачи в папку Archive.
В нашем шаблоне Product Management можно увидеть, что спринт организован в виде колонок, означающих этапы процесса разработки задачи. Тут хорошо работает классический подход Kanban, так как по нему вся Scrum-команда четко понимает ход спринта.
По мере продвижения задачи по спринту ее также следует перемещать и в доске Kanban. Каждая задача будет стартовать с колонки To Do и заканчивать на колонке Done, если будет выполнена. Люди, ответственные за выполнение задачи, должны перемещать между колонками задачи, над которыми они работают, чтобы Scrum-мастер и остальные ребята в команде видели движения по спринту.
После завершения задачи ее нужно переместить из колонки Done в папку Archive.
Как использовать вкладки для организации спринта в Infinity
Первая и самая важная вкладка для всей команды - это столбцы, сгруппированные по статусу. По ним каждый участник команды легко может отследить ход выполнения спринта.
Таким образом вы сможете оптимизировать ход спринта и всегда знать статус каждой задачи и оставшийся до конца спринта объем работы. Вы легко можете добавить при необходимости дополнительные задачи.
Вторая вкладка в нашем шаблоне - это еще одна Kanban-доска, в которой задачи сгруппированы по типам. Третья вкладка отведена под календарь, который нужен для отслеживания сроков. В четвертой вкладке содержатся ежедневные задачи, а на пятой отображаются задачи, отсортированные по приоритету.
Конечно вы всегда можете переместить вкладки, убрать ненужные, добавить новые, просто нажав кнопку + в конце панели вкладок.
Зачем нужны ежедневные Scrum-собрания
Ежедневные собрания, также известные как Daily Scrum — это короткие ежедневные собрания, которые проводятся во время спринта каждый день.
Ежедневные Scrum-собрания должны проводиться в одно и то же время в одном и том же месте каждый день, чтобы исключить путаницу и сделать работу максимально продуктивной. Лучше всего проводить их утром до начала работы.
На ежедневных собраниях должна быть вся команда — Scrum-мастер, владелец продукта / продакт-менеджер и команда воплощения продукта. Другие участники команды могут присутствовать и слушать, но активного участия в обсуждении они принимать не должны.
Если на ежедневном собрании присутствуют ребята из других команд, то Scrum-мастер должен следить за тем, чтобы они не мешали проводить собрание.
Во время собрания Scrum-команда должна обсудить повестку дня собрания. Оно включает в себя синхронизацию действий и планирование на следующие сутки. Каждый участник команды должен сказать:
- Что он делал в прошлый день
- Что он планирует делать сегодня
- Есть ли какие-то на его пути препятствия
Scrum-мастер должен позаботиться о том, чтобы устранить эти препятствия или найти человека из команды, который это сделает за него.
Обмениваясь этой информацией вся команда знает что сделано и над чем еще нужно будет поработать. Рассматривать ежедневные собрания как фидбек-сессии, на которых разработчики отчитываются перед Scrum-мастером или продакт-менеджером неправильно. Эти встречи должны помочь всей команде получить дополнительную информацию о проделанной работе и сосредоточиться на поставленной цели.
Проведение ежедневных Scrum-совещаний повышает вероятность достижения командой цели спринта.
Ревью спринта и отличие от ретроспективы
Хотя ревью спринта и ретроспектива спринта можно принять за одно и то же, эти два мероприятия совсем разные. Разберем более подробно каждый из них и их отличия.
Ревью спринта: что это и зачем применяется, кто нужен и как провести
Каждый Спринт должен включать минимум один Инкремент*, чтобы считаться завершенным успешно. Инкремент* (“приращение”) — это группа задач из бэклога, от реализации которых, продукт станет ценнее и даже концептуально совершеннее.
Т.е в каждом спринте Scrum-команда создает потенциально готовое к релизу обновление продукта (Инкремент). Ревью спринта — это общий сбор в конце спринта, на котором команда и заинтересованные стороны вместе обсуждают что ценного удалось сделать за спринт и достигнута ли цель спринта.
На встрече должны присутствовать владелец продукта и продакт-менеджер, Scrum-мастер, команда разработки, менеджмент и все, кто участвуют в процессе создания продукта.
Обычно это неформальная встреча, на которой Scrum-команда представляет дополнение к продукту, а заинтересованные стороны дают обратную связь. Ревью спринта не должен длиться дольше четырех часов за месяц спринта (до одного часа за каждую неделю спринта). Scrum-мастер должен следить за тем, чтобы совещание не затянулось.
Кроме представления результатов проделанной за спринт работы, собрания по обзору спринта должны содержать еще несколько вопросов:
- Владелец продукта должен проинформировать команду о выполненных и невыполненных задачах
- Разработчики должны обсудить проблемы, с которыми они столкнулись во время спринта и их решения
- Scrum-команда отвечает на вопросы остальных участников команды, связанные со спринтом
- Команда должна обсудить какие задачи будут следующими. Это является хорошей основой для следующего собрания по планированию спринта.
Ретроспектива спринта: что это и зачем применяется, кто нужен и как провести
Ретроспективное собрание проходит сразу после ревью спринта. Если ревью спринта — это обсуждение того, что команда разрабатывает, то ретроспектива сосредоточена на том, как именно она это делает и как действовать результативнее.
Такое собрание обычно немного короче, чем Ревью спринта и должно длиться не больше трех часов при месячном спринте. Чтобы получить максимальную отдачу от ретроспективы спринта, нужно обеспечить участие всей Scrum-команды, включая владельца продукта.
Цель ретроспективы спринта — поиск точек совершенствования процесса воплощения или разработки решения. Scrum-команда анализирует итоги предыдущего спринта и говорит о том, что работает хорошо, что можно улучшить и как повысить общую продуктивность.
Хотя эти улучшения могут быть сделаны во время спринта, ретроспектива спринта дает команде формальную возможность обсудить процесс и мотивирует каждого участника команды высказать свои идеи и мнение.
Для успешного проведения ретроспективы спринта каждый участник команды должен попытаться ответить на следующие вопросы:
- Что удалось сделать во время спринта?
- Что стоит улучшить?
- Как мы можем внести эти улучшения?
Ретроспектива спринта — это вовсе не повод пожаловаться. Такая встреча должна быть конструктивной, и каждый участник команды на ней должен приложить усилия для улучшения процесса, предлагать конкретные действия по улучшению и скорее сподвигать команду к совершенствованию (а не демотивировать ее своими действиями и настроем).
При организации собраний по ревью и ретроспективе спринта полезно пользоваться специальным инструментом для управления задачами. Например Infinity предлагает шаблон Agile Development, который можно кастомизировать не только для планирования спринтов, но и для сбора и хранения заметок по итогам спринтов и ретроспектив, фидбека заинтересованных сторон, предложений по повышению продуктивности и многого другого