Какой должна быть длина итерации?

Считается, что длина итерации (спринта) определяется потребностью в обратной связи — чем чаще она нужна, тем короче должна быть итерация. Частота определяется потребностями заинтересованных лиц, которые, в свою очередь, определяются динамикой окружения, рынка, объема знаний о продукте и так далее.
Очевидно, это лишь половина ответа. Это определяет желаемую длину итерации, но не дает ответ про возможную длину итерации.
Допустим, динамика у вас высокая и хотелось бы уметь уложить итерацию в неделю. Сможем мы этого добиться?
Давайте разберемся от чего это зависит.
За итерацию вам нужно получить ценный для заказчика результат. Чаще всего это означает доделать до конца несколько пользовательских историй. Сколько времени нужно, чтобы сделать одну пользовательскую историю?
Давайте возьмем для примера типичную веб-разработку. Какие работы нужно выполнить:
  • Backend (1-2 дня)
  • Frontend (1-2 дня)

Вроде должны уложиться в неделю.
А теперь давайте вспомним, что мы хотим доделать работу до конца (done), и полный список может стать таким:
  • Разработка тестовых кейсов/сценариев
  • Backend
  • Frontend
  • Документирование
  • Автотесты
  • Ручное тестирование
  • Исправление багов
  • Закрытие багов
Выглядит уже страшновато. Понятно, что часть работ можно и нужно делать параллельно. И тем не менее недельный срок кажется уже неподъемным.

А если вам нужно выходить в промышленную эксплуатацию (прод)? Добавляйте регресс и багфиксинг.
Получается, чем длиннее таймлайн реализации истории, тем дольше должна быть итерация.
Может ли итерация быть недельной? Конечно. Например, вы работаете в системе вроде Axapta, 1С, SAP и ваша технологическая зрелость невысокая. Тогда ваш таймлайн будет выглядеть примерно так:
  • Разработка
  • Протыкать самому. Вроде норм.
  • Выкатить на stage для пользователей, пусть посмотрят.
  • Готово
Имхо тут нечего делать 2 недели 🙂
Есть и другой вариант. Технологическая зрелость высокая и весь процесс поставки полностью автоматизирован — от сборки и тестов до выкладки, мониторинга и логгирования. В этом случае поставка на прод становится простым делом и жизненный цикл истории сильно укорачивается.
На практике для большинства ИТ продуктов вполне надежно взять 2-недельную итерацию (это 10 рабочих дней). Это обеспечивает достаточно времени на реализацию до конца и хороший challenge делать работу быстро. К тому же ее проще запланировать, чем 3-недельную итерацию.


Tags: