Спринт — основное событие в Scrum, которое включает в себя остальные встречи. У каждого события должна быть своя цель. Команды зачастую механически подходят к выбору цели спринта, потому что не понимают её значимость.
Давайте разбираться, зачем использовать цель спринта и как сделать её полезной.
Что такое цель спринта?
На планировании спринта команда выбирает несколько историй из бэклога, реализовав которые, она добавит продукту ценность. На следующий спринт команда получает установку, которая является результатом договорённостей между разработчиками и владельцем продукта.
Договорённости касаются конкретных задач, поэтому цель не должна быть расплывчатой. Например, цель «Чтобы всё работало» не подходит для спринта.
Все цели можно разделить на несколько групп:
- связанные с реализацией функции («Разработать функцию, готовую к релизу»),
- связанные с выбором, тестированием A/B-вариантов («Проверить...», «Выбрать из...»),
- связанные с управлением рисками (например, для рисков безопасности системы «Убедиться, что код защищен от атак X, Y и т. д.»).
Зачем нужна цель?
Команды пренебрегают установкой цели, если она никогда не используется в фактической работе. Когда цель определена номинально, она не работает, поэтому люди не хотят тратить время на формулировки.
Эффективная цель спринта помогает:
- проверить следование первоначальному плану, выделить важную функциональность,
- определить, зачем создаётся новый код, какое практическое значение он несёт,
- предыдущий пункт позволяет гибко подходить к технической части, а также даёт разработчикам подумать над тем, достаточно ли полно продумана работа на планировании,
- свериться на ежедневном стендапе, проверить прогресс в её достижении,
- сохранить фокус и установить приоритет при сжатых сроках разработки,
- рассказать про работу стейкхолдерам в понятной форме.
Как выбрать цель?
Роман Пихлер предлагает задать три вопроса:
- Почему мы проводим спринт? Что в нём нужно сделать?
- Как мы достигаем своей цели? Какой артефакт, метод проверки и тестовая группа используются?
- Как мы узнаем, что цель была достигнута?
Сложности возникают тогда, когда в спринт берутся PBI из разных областей.
- Если есть возможность, выбирайте близкие истории на спринт.
- Если нет, найдите общее между PBI, оцените совокупных вклад всех элементов в инкремент продукта. Например, все истории относятся к интерфейсу. Тогда нужно задуматься над путешествием пользователя по этим функциям и представить единое связное действие.
Есть несколько шаблонов, по которым можно формулировать цель.
Например, для начинающей команды важно продемонстрировать результат, чтобы доказать действенность гибкой разработки. Цель «Продемонстрировать...» учит команду ориентироваться на результат, то есть за практической целью стоит более высокая цель, направленная на формирование команды.
Цель не всегда должна быть формальной. В ситуациях, когда команда выгорает (ей приходится делать скучные задачи или она потерпела неудачу), можно использовать вдохновляющую метафорическую цель. Этот пример мы нашли в статье agile-коуча Вячеслава Москаленко:
«Создать сильный электрический забор для защиты города от монстров» — цель, которая поможет команде улучшить качество ПО.
Таких забавных или воодушевляющих формулировок можно придумать много. Для их создания — опираться на интересы команды, много смешных вариантов предложат сами разработчики. К тому же, такая постановка цели помогает оживить рабочий процесс.
В этой статье мы рассказали, что цель имеет важное значение для всего спринта, поговорили, как выбрать цель и каким способом сформулировать. А вы устанавливаете цели на спринт? Поделитесь самыми необычными целями, которым вы следовали!