Какая длина спринта правильная? Как зависит длина от продукта и состава команды? Что нужно учитывать при выборе и какие паттерны являются самыми распространёнными? Постараемся ответить в этой статье.
Цель существования спринта
Спринт — это короткий период времени, в течение которого работает Scrum-команды и куда помещаются все остальные события фреймворка. Фиксированный период времени нужен затем, чтобы команда смогла сосредоточиться и разработать продукт с высоким качеством, а затем предоставить его клиенту.
Нет жёсткого правила, которое бы определяло длину спринта. Логически понятно, что длина спринта должна быть достаточно "длинной", чтобы давать результаты, но достаточно "короткой", чтобы ограничить риск.
Максимум и минимум длины спринта в Scrum
В руководстве по Scrum сказано, что спринт — это временной интервал продолжительностью в месяц или меньше, за который команда способна поставить инкремент продукта.
Спринты ограничены одним календарным месяцем. Когда горизонт спринта слишком велик, цель того, что создаётся, может измениться, сложность возрастёт, риск возрастёт — всё это способствует увеличению затрат и непредсказуемости. Спринты обеспечивают предсказуемость, давая возможность на проверку и адаптацию прогресса в достижении цели спринта, по крайней мере, каждый календарный месяц. Максимум, на что можно ошибиться — это один месяц.
Важно: если в вашей команды спринт длится больше одного календарного месяца, вы больше не занимаетесь Scrum.
Руководство по Scrum оставляет на усмотрение команды решение, какая длина спринта лучше всего подходит для них. Когда вы только внедряете Фреймворк, разумно будет поэкспериментировать и найти свою оптимальную длину.
Практика говорит, что спринт короче недели внедряется очень редко, так как события фреймворка будут идти слишком часто. С другой стороны, нет аргументов, почему нельзя пробовать спринт, например, длиной в три дня :)
Более короткие спринты помогают быстрее выявлять проблемы и препятствия. Ключевым моментом при выборе длины спринта является толерантность к риску. Более длинные спринты более рискованны с точки зрения предсказуемости и затрат.
Плюсы и минусы разной длины спринты
Рассмотрим за и против различных длин спринтов. Это лишь практические наблюдения и советы, но не замена собственному решению команды и анализу вашей конкретной ситуации.
Более длинные спринты (3-4 недели)
Плюсы:
Легче начать Scrum с более длительных спринтов, потому что команды часто думают, что будет легче выполнить ценный кусок работы и довести ее до состояния «Готово» за один месяц, а не за две недели.
Минусы:
- Трудно хорошо спланировать трёх-четырёхнедельный спринт во время планирования. Это ведёт к тому, что в спринт попадает сторонняя работа, новые функции, о которых забыли в начале и прочее.
- Если новые потребности возникают в середине спринта и команда не готова их включить в спринт (что правильно), нужно долго ждать до начала нового спринта. Владельцу продукта часто трудно пойти на это, а отношения со стейкхолдерами портятся.
- В обратном случае, это нарушает границы спринта и делает его бесполезным. По сути, команда просто сокращает количество ревью, ретро и планингов, а значит, избегает инспекции и адаптации.
- Меньшее количество ревью спринта даёт владельцу продукта меньше возможностей для улучшения продукта. Скорее всего, ревью подменяется другими встречами, также есть промежуточные демо и прочее — то есть, это точно не экономия времени, а просто неструктурированное, стихийное расписание.
- Повышенный риск отмены спринта из-за изменений на рынке или ожиданий клиентов.
- Повышенный риск того, что что-то пойдет не так, то есть ставит под угрозу первоначальную цель спринта.
- Само собой часто рождает «мини-водопады» в рамках Scrum, то есть Анализ -> Разработка -> Ручное тестирование, с определенным количеством дней, запланированным для каждого этапа.
- Командные и организационные проблемы обычно обнаруживаются и решаются медленнее.
Более короткие спринты (1-2 недели)
Плюсы:
- События фреймворка идут чаще, но короче, что переносится людьми легче.
- Поскольку у Команды больше ретроспектив, у них больше возможностей для внесения небольших изменений, и это кажется пропорциональным.
- Более частые обзоры спринтов дают владельцу продукта больше отзывов и возможность обновить бэклога продукта.
- Препятствия выявляются быстрее, так как ожидается, что команда получит готовую фичу к концу каждого спринта и пройдёт полный цикл.
- Более короткие циклы облегчают планирование, что повышает фокус и уменьшает количество «темной работы».
- Заставляет команды лучше выполнять работу по декомпозиции историй, что увеличивает прозрачность работы и понимание прогресса в спринте.
Минусы:
- Труднее получить готовый продукт в конце однонедельного или двухнедельного цикла. Предостережение: сначала это правда, однако большинство команд могут справиться с этим минусом после трёх-четырёх спринтов.
- Работа в недельных спринтах поначалу может быть более напряженной, так как темп будет выше.
- Есть команды, которые просто очень плохо реагируют на "постоянные собрания". Хотя встречи спринта должны линейно масштабироваться в зависимости от продолжительности спринта, тем не менее, это аргумент до сих пор существуют.
- Короткий спринт заставляет работать над прокачкой практик сразу, чтобы быть успешными: декомпозиция историй, инженерные практики, качество first, TTD и прочее. Это минус только для тех, кто приходит на работу отдохнуть или чьи организационные условия не дают этим заниматься.
Большинство команд, с которыми нам приходилось работать, выбирают спринт длиной две недели как наиболее сбалансированный отрезок времени. Также он хорошо ложится на разные планирования и бюджетирования, что часто есть в крупных компаниях (иногда со спринтом в 3 недели это будет сделать не очень удобно).
На какие вопросы нужно ответить
— Как долго команда может "идти не туда", то есть какой порог риска позволен в вашем продукте?
— Как часто вы хотите получать обратную связь от пользователя?
— Как много новой работы появляется в течение спринта?
— Насколько зрелая команда?
— Сколько времени обычно занимает средняя история спринта, выполненная от и до? Есть мнение, что спринт должен быть примерно в три раза больше, чем средняя история.
Важные советы
- После начала спринта не меняйте его продолжительность, т. е. не продлевайте, если не успели доделать работу.
- Воспринимайте конец спринта не как дедлайн, а как возможность сделать паузу.
- Когда возникают мысли увеличить длину спринта, лучше подумать, в чём причина запроса и какую проблему это призвано решить. Возможно, корень проблемы в другом и с ней нужно бороться.
- По мере развития вашей команды и организации то, что раньше работало, может измениться, поэтому не бойтесь проводить эксперименты.