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