Інкрементальная модель процесса
Иногда представляется возможным понемногу продвигать проект вперед при практически непрерывном процессе. Такая модель процесса особенно полезна на поздних стадиях проекта, когда продукт находится на сопровождении или когда продукт, который разрабатывается, очень похож с созданным раньше. Например, Кукумано и Селбі [21] подготовили доклад по процессу, используемому в некоторых отделениях корпорации Microsoft, где обновления программного кода и документации представляются ежедневно до конкретного времени для интеграции и ночного тестирования. Другие организации используют для этого недельные циклы. Для поддержки соответствующего уровня необходимо иметь четко установленную архитектуру проекта и исключительно синхронизированную систему документации (рис.7). Для организации инкрементальной разработки обычно выбирается характерный часовой интервал, например неделя. Потом в течение этого интервала происходит обновление начального проекта (документации, набору тестов, программного кода и т. д.). Теоретически шаги разработки (increments) могут выполняться и параллельно, но такой процесс очень сложно скоординувати. Інкрементальная разработка проходит лучше всего, если следующая стадия n+1 начинается по возможности после того, как обновление всех модулей на стадии n закончено, и хуже всего, если время, нужное на обновление модулей, значительно превышает выбранный интервал. Для того, чтобы убедиться в этом, представьте, что необходимо изменить модуль 789, который зависит от семи других модулей: 890, 23, 489, 991, 7653, 2134 и 2314. Если изменение занимает девять недель, то модуль 789 должен быть построен исходя из предсказуемого состояния всех семи модулей через девять недель. Эту работу очень трудно скоординувати, поскольку каждая из семи частей может быть изменена до девяти раз (ежевоскресно), причем каждое новое изменение может основываться на исследовании эффективности предыдущих изменений.
Рис.7. Інкрементальная разработка
В отчете Кукумано и Селбі указывается, что обычно Microsoft осуществляет разбитие проекта на части, потом применяет процесс инкрементальной разработки и синхронизации и периодически «стабилизирует» дополнение путем сборника всех его частей. Они называют этот процесс «синхронизация и стабилизация».
Дата добавления: 2016-02-27; просмотров: 804;