Промежуточные этапы
В отличие от предыдущих фаз, естественным образом подразделяющихся на последовательные этапы, фаза «Стабилизация» состоит из промежуточных этапов, каждый из которых завершается выпуском промежуточной версии приложения. Промежуточные версии выпускаются до тех пор, пока группа не удостоверится, что продукт готов к окончательному выпуску. Отметим, что для каждой промежуточной версии проектная группа проверяет готовность и комплектацию. Каждая промежуточная версия тестируется, все обнаруженные проблемы регистрируются и устраняются. Решение об окончательном выпуске продукта принимается руководителями проектной группы, заказчиком и группами эксплуатации и сопровождения.
Этап 1: версии, появляющиеся по мере устранения ошибок Как уже отмечалось ранее, проектная группа распространяет промежуточные выпуски продукта в ограниченной группе пользователей, что позволяет дополнительно протестировать приложение. На стадии «Стабилизация» основная цель — снижение числа ошибок в каждом следующем выпуске продукта. Ее достижение свидетельствует о стабилизации приложения. Хотя число обнаруженных ошибок не обязательно убывает монотонно от версии к версии, группа должна добиваться именно такой динамики.
Этап 2: безошибочная версия Это первый промежуточный выпуск, в котором все известные проблемы устранены тем или иным способом (зафиксированы, отложены или признаны несущественными). Вполне возможно, что в следующем выпуске число ошибок возрастет, однако безошибочная версия позволяет группе разработки «держать» число проблем во всех следующих выпусках на приемлемом уровне. Выпуск безошибочной версии свидетельствует о том, что и окончательная версия не за горами.
Этап 3: версии-кандидаты Когда по мнению проектной группы продукт готов к окончательному выпуску, создается версия-кандидат . В нее включены все составляющие продукта; кроме того, эта версия должна быть свободна от неустраненных проблем. Выпуски-кандидаты подвергаются интенсивному тестированию, чтобы выявить и устранить проблемы, препятствующие выпуску окончательной версии. Результаты такого тестирования показывают, можно ли считать версию-кандидат окончательной или группе следует выпустить следующую. Как правило, первая версия-кандидат не становится окончательной, поскольку в ней обнаруживаются ошибки, недопустимые в окончательной версии продукта.
Этап 4: выпуск окончательной версии Окончательная версия продукта — это версия-кандидат, качество и состав которой устраивают всех участников проекта, в том числе, членов проектной группы и заказчика. Эта версия не требует ни дальнейшей разработки, ни дополнительного тестирования — именно ее «пакуют в коробку». Решение о выпуске окончательной версии никогда не бывает простым. Основная цель — выпуск продукта с заданными характеристиками в установленные сроки, поэтому прежде всего необходимо ответить на вопрос, отвечает ли версия-кандидат требованиям заказчика. Кроме того, надо принять во внимание результаты анализа проблем, результаты тестирования версии-кандидата и возможность ее сопровождения. Как и всякое ответственное решение, решение о придании кандидату статуса окончательной версии сопряжено со многими рисками и должно приниматься коллегиально.