В чем разница между спринтом, итерацией и инкрементом?

Опубликовано: 22 Февраля, 2023

Существуют различные термины, используемые в методологии Agile в жизненном цикле продукта, из которых важную роль играют период оценки и общая продолжительность. Именно здесь на сцену выходят спринт, итерация и приращение. Циклы разработки помогают нам понять, что нужно исправить, прежде чем добавить еще один элемент поверх всего, что было сделано до сих пор. В статье основное внимание уделяется обсуждению разницы между спринтом, итерацией и приращением.

Что такое Спринт?

Спринт — это одна ограниченная по времени итерация непрерывного цикла разработки, позволяющая довольно быстро достичь лучших результатов. Здесь команда должна выполнить всю запланированную работу в установленные сроки и подготовить ее к рассмотрению.
Например, команда разработчиков iOS в Apple Inc. обычно работает по двухнедельному графику с конкретной целью завершить 20 приложений на каждого члена команды. Каждое приложение имеет имя, полученное из названия и номера спринта (например, iOS 10 Summer 2017). Во время каждого спринта участники сосредотачиваются на разработке определенной функции, избегая при этом ошибок и других проблем, которые могут задержать завершение. После того, как приложение завершено, оно проходит тестирование, прежде чем будет одобрено для выпуска руководством компании. После одобрения приложение публикуется для использования на устройствах Apple.

Характеристики спринта:

  • Устанавливает лимит незавершенной работы: незавершенная задача — это задача, которая началась, но не была завершена. В традиционном управлении проектами существовал длинный список таких рабочих элементов, которые откладывались на несколько месяцев. Неспособность управлять этими задачами WIP может иметь серьезные последствия для бюджета, качества и сроков. Поскольку спринты ограничены по времени, эти незавершенные задачи не могут превышать их продолжительность. Будет выбрана только та работа, в выполнении которой команда уверена в течение спринта.
  • Приоритизация сил: поскольку Scrum является итеративным, мы можем выбирать, какую работу необходимо выполнить в каждом спринте. Это будет происходить каждые 1-4 недели, в зависимости от продолжительности спринта. Это заставляет команду Scrum расставлять приоритеты в своей работе.
  • Избегает рабочего золотого покрытия: Золотое покрытие влечет за собой целенаправленное включение функций, которые изначально не планировались. Это часто радует клиентов.

Что такое Итерация?

Итерация включает длительный период времени с небольшими изменениями исходного плана. При запуске с нуля по-прежнему существуют риски, но пока вы находитесь в положении, когда ваши цели могут быть достигнуты, и если на каждой итерации имеется достаточно резервных мощностей, все движется быстро. Например, если первоначальный проект разработки начинается сейчас, а итерация проводится всего две недели, прежде чем переходить к созданию более сложных систем, то в этом случае проблем не возникнет, поскольку все эти тесты выполняются с использованием среды тестирования JUnit, которая может обнаруживать ошибки без особых усилий, но если вы начнете медленно или слишком быстро введете новые функции после некоторых незначительных незавершенных изменений, они, вероятно, уже начали давать сбои.

Другой пример: в дополнение к исправлению ошибок и разработке новых функций команды разработчиков Android также вносят небольшие изменения после каждой итерации. Каждое незначительное изменение происходит на основе отзывов пользователей во время регулярных сеансов тестирования пользователей. Во время каждой итерации разработчики сосредотачиваются на одной или нескольких конкретных областях, которые они хотят улучшить, одновременно устраняя любые непредвиденные проблемы, которые могут возникнуть. После того, как улучшения завершены, разработчики снова проверяют свою работу, прежде чем отправлять какие-либо изменения команде управления на утверждение, после чего они становятся «выпуском».

Особенности итерации:

  • Следовать календарным неделям: Итерация следует за календарными неделями, начиная с понедельника и заканчивая пятницей.
  • Итерации фиксированной длины: фиксированная длина итерации помогает командам разработчиков получить точную оценку того, сколько времени потребуется для завершения проекта.
  • Короткие итерации. Короткие итерации предназначены для управления неопределенностью и связанными с ней рисками. Этот короткий период помогает заинтересованным сторонам менеджеров по продукту часто оценивать технические и бизнес-гипотезы в системе.

При выборе продолжительности итерации следует учитывать, насколько хорошо команда знакома и удобна с методологией Agile. Команды, которые плохо знакомы с agile-методологией, должны начинать с более длительных итераций, с другой стороны, те, кто знаком с agile-методологией, могут начинать с более коротких итераций.

Что такое Инкремент?

Инкремент включает в себя небольшие изменения, вносимые во время каждой итерации для улучшения существующих функций или исправления ошибок без задержки. При работе над любым проектом важно знать, каковы ваши цели, чтобы вы могли эффективно работать над их достижением. Постановка конкретных целей поможет вам оставаться сосредоточенным, работая над достижением желаемых конечных результатов. Кроме того, понимание того, когда и как изменить свои планы, поможет вам не сбиться с пути и уложиться в сроки с профессиональным мастерством.

Спринт против Итерации против Инкремента

В таблице ниже приведены основные различия между спринтом, итерацией и приращением.

Факторы

Спринт

Итерация

Увеличение

Длина

У нас может быть 4-недельный спринт, но 4 однонедельных «внутренних» итерации в рамках этого спринта. 1 неделя (варьируется). Инкремент программы длится от 8 до 12 недель.

связи

Все спринты — это итерации. Не все итерации являются спринтами. Итерация и приращение не одно и то же, и результат каждого приращения и итерации различается.

Время обратной связи

Обзор спринта / обратная связь занимает максимум 1 час в неделю. Продукт готов, но можно выращивать дальше. Каждая итерация не заканчивается обзором. Встроенные детали, для обратной связи требуется доставка конечного продукта.

Время окончания

Завершено на основе запланированной даты. Завершено на основе запланированной даты. Готово в зависимости от готовности Продукта.

Подход

Команды больше внимания уделяют производительности. Команды создают определенные функции и функции, но в конечном итоге они не ждут, пока они будут полностью завершены, когда произойдет выпуск. Делит жизненный цикл Продукта на почти равные рабочие части, называемые приращениями.

Пример

Подобно итерации, но в основном зависит от длины.

Возьмем сайт электронной коммерции:

Версия 1: очень простые функции, не полностью работающая, но также имеющая дополнительные функции, такие как функции.

Выпуск 2: улучшение по сравнению с R1 на основе работы функций и аналитики.

Выпуск 3: Включение новых требований.

Возьмем сайт электронной коммерции:

Версия 1: основные функции, такие как покупка продукта.

Версия 2: дополнительные функции, такие как избранное.

Версия 3: учет отзывов клиентов.