|
@@ -0,0 +1,42 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Итеративная разработка. ## Что такое итеративный метод.
|
|
|
+Итеративная модель разработки ПО — это подход, предполагающий разделение жизненного цикла проекта на несколько фаз, над каждой из которых работают последовательно.
|
|
|
+Итеративный процесс — это поэтапное создание программного обеспечения.
|
|
|
+Продукт разделяют на несколько «мини-продуктов». Каждый из них выступает отдельной частью или версией итогового ПО. Все «мини-продукты» функциональны, даже самый базовый. По ним можно составить представление о финальном варианте ПО. Каждая новая итерация включает в себя функции предыдущей плюс нечто новое. Такая модель не требует, чтобы сроки и бюджет для задач определяли сразу. Подход допускает, что эти параметры будут меняться со временем. Разработчики действуют методом проб и ошибок. Они анализируют промежуточные результаты, корректируют требования к продукту, собирают обратную связь от пользователей. Ниже приведен пример итерационного проекта: от минимально жизнеспособного продукта до конечного результата.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## ## Итерационный принцип на примере строительства дома.
|
|
|
+Предположим, клиент хочет трехэтажный особняк с садом и бассейном.
|
|
|
+**1. Сначала создают** минимально жизнеспособный продукт — также его обозначают английской аббревиатурой MVP. Это рабочая версия ПО с минимальным набором функций. Она нужна, чтобы получить первичный отклик от пользователей и начать формулировать гипотезы насчет дальнейшего развития продукта. В нашем примере на участке, отведенном под особняк, возводят базовую модель жилья — небольшой одноэтажный дом.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+**Обратная связь и корректировка ТЗ.** Клиент заселяется и сообщает подрядчику, что ему нравится и не нравится. Например: «Не нравятся планировка и светлый цвет стен, окна слишком маленькие, а высоту будущего дома хочется снизить до двух этажей».
|
|
|
+
|
|
|
+**2. Следующая итерация:** подрядчик перекрашивает стены в темный, расширяет оконные проемы, достраивает второй этаж. **Обратная связь и корректировка ТЗ.** Клиенту нравится дом, он согласовывает дополнительные фичи: сад и бассейн.
|
|
|
+
|
|
|
+
|
|
|
+**3. Итерационный процесс переходит в третью фазу.** Подрядчик роет бассейн, засаживает сад деревьями. Клиент контролирует процесс, вносит замечания. Вскоре проект готов, заказчик доволен.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## Для каких проектов подходит итеративность
|
|
|
+
|
|
|
+- Разработка ведется по принципам Agile.
|
|
|
+- У заказчика нет четкого видения конечного продукта, определены только основные требования.
|
|
|
+- Заказчик приходит с четким видением продукта, но неоднократно меняет ТЗ после начала разработки.
|
|
|
+- Непонятно, какими функциями продукта люди будут пользоваться, а какими — нет.
|
|
|
+- Идет разработка инвестиционного проекта, условия финансирования которого могут неожиданно измениться.
|
|
|
+- Команда действует итеративно, чтобы изучать и сразу применять новую технологию.
|
|
|
+## Заключение
|
|
|
+Итерационная модель предполагает, что работу над продуктом разделяют на этапы. В конце каждого из них команда представляет более продвинутую версию программного обеспечения с расширенным набором функций. Каждый этап включает в себя шесть шагов: сбор и анализ требований, проектирование, разработка, тестирование, развертывание и обзор.
|
|
|
+
|
|
|
+Главное преимущество этой модели — ускорение выхода первой работоспособной версии на рынок. Этот подход позволяет быстро выявлять и исправлять ошибки в каждой новой версии. Заказчик начинает получать прибыль уже от базовой версии ПО. Пользователи предоставляют обратную связь, благодаря которой команда может улучшать продукт.
|
|
|
+Развивая продукт итеративно, можно совершенствовать его так долго, как захочет клиент.
|
|
|
+
|
|
|
+Однако основной недостаток заключается в том, что разработка может потребовать значительно больше ресурсов, времени и финансов, чем изначально было запланировано. Клиенту необходимо регулярно обсуждать и согласовывать изменения в проекте.
|
|
|
+## Литература
|
|
|
+https://orbitsoft.com/ru/blog/iterativnaja-razrabotka/
|