3.1.3. Итеративный инкрементный подход к разработке (эволюционная модель) 3.1.3.1 Итеративная модель Итеративная модель предполагает разбиение жизненного цикла
проекта на последовательность итераций, каждая из которых напоминает
«мини-проект», включая все фазы жизненного цикла в применении к
созданию меньших фрагментов функциональности, по сравнению с
проектом, в целом. Цель каждой итерации – получение работающей
версии программной системы, включающей функциональность,
определенную интегрированным содержанием всех предыдущих и
текущей итерации. Результата финальной итерации содержит всю
требуемую функциональность продукта. Таким образом, с завершением
каждой итерации, продукт развивается инкрементально.
Шансы
успешного
создания
сложной
системы
будут
максимальными, если она реализуется в серии небольших шагов и если
каждый шаг заключает в себе четко определенный результат, а также
возможность возврата к результатам предыдущей успешной итерации, в
случае неудачи. Перед тем, как пустить в дело все ресурсы,
предназначенные для создания ПО, разработчик имеет возможность
получать обратную связь из реального мира (заказчиков, пользователей)
и исправлять возможные ошибки в проекте.
Итеративная модель подразумевает возможность не только сборки работающей (с точки зрения результатов тестирования) версии системы - прототипа , но и её развертывания в реальных операционных условиях с анализом откликов пользователей для определения содержания и планирования следующей итерации. Поскольку на каждом
шаге мы имеем работающую систему, то можно:
очень рано начать тестирование пользователями;
принять стратегию разработки в соответствии с бюджетом,
полностью защищающую от перерасхода времени или средств (в
частности,
за
счет
сокращения
второстепенной
функциональности).