Разделение жизненного цикла программного изделия на фазы обеспечивает несколько контрольных точек, в которых изделие оценивается (см. рис. 8.5). Сознательные решения, принимаемые в конце каждой фазы с целью заблаговременного определения судьбы изделия в будущем, называются фазовым планированием. Эта процедура выполняется следующим образом.
Сначала определяются фазы и основные события в конце каждой из них. Затем проводится формальный обзор на основе, по крайней мере, одного документа для каждого события.
Таблица 8.2 — Документы обзоров
Фаза
Обзор основных событий
Рассматриваемые вопросы
1. Распределение бюджета
2. Извещение о календарных сроках
3. Соглашение о требованиях
4. Спецификации
5. Издание документации
6. План испытаний
7. План поддержки
8. Отчеты
9. План выпуска
10. Конфигуратор
I. Исследования
II. Анализ осуществимости
Окончание табл. 8.2
III. Конструирование
IV. Программирование
V. Оценка
VI. Использование
Ресурсы распределены
Требования утверждены
Спецификации утверждены
Испытания начаты
Распространение начато
Изделие снято
1, 2
1, 2, 3, 9, 10
1, 2, 4, 5, 6
1, 2, 8
2, 8, 9, 10
Ключевые решения, которые должны основываться на результатах фазового обзора, будут ответами на следующие вопросы:
Фаза I. Следует ли вкладывать ресурсы в продолжение анализа осуществимости проекта?
Фаза II. Обоснована ли реализуемость проекта и следует ли расходовать средства на проектирование?
Фаза III. Удовлетворяет ли проект потребностям пользователя в текущий момент времени и следует ли выделять средства для завершения работ?
Фаза IV. Закончена ли разработка изделия и можно ли ему дать объективную независимую оценку?
Фаза V. Достаточно ли высоко качество программного изделия для его поставки пользователю?
Фаза VI. Можно ли прекратить обслуживание программного изделия?
Администраторы планирования выступают в роли организаторов фазового обзора. Однако эту роль могут выполнять и представители различных конкурирующих групп.
Независимо от того, кто проводит обзор, группа планирования обладает решающим голосом в фазовых обзорах I, II, V и VI.
Перечень вопросов, подлежащих рассмотрению в каждом обзоре, строго стандартизирован:
· Строго ли выполняются планы?
· Строго ли соблюдаются все предварительные технические условия?
· Идет ли разработка проекта в соответствии с намеченным графиком?
· Не превышают ли расходы, связанные с проектированием, определенные статьи бюджета?
· Обеспечены ли все необходимые взаимодействия?
· Существуют ли какие-либо оправдания замеченным нарушениям?
· Каков элемент случайности, присутствующий в планах?
· В чем состоят основные трудности?
· Каковы возможные пути преодоления основных трудностей?
· С каким риском связано продолжение работ?
· С каким риском связано прекращение работ?
· Удовлетворяет ли программное изделие в его нынешнем виде текущим требованиям?
Когда эти вопросы изучены, определяются, согласовываются и предпринимаются необходимые действия. Набор этих действий также стандартизован:
· Продолжение работ по плану.
· Пересмотр планов и спецификаций с последующим продолжением работ согласно новым установкам.
· Ввод в действие планов в случае непредвиденных обстоятельств для обеспечения возможности возврата к исходным спецификациям, графикам работ и сметам затрат.
· Прекращение работ.
Проведение фазовых обзоров упрощается за счет использования стандартного обслуживания механизма обсуждения. Некоторые вопросы, поднимаемые в фазовых обзорах, относятся к сфере текущей интерпретации предварительных соглашений. Всякое несоответствие должно устраняться по ходу его обнаружения. Следует помнить, что соглашение о требованиях всегда должно правильно отражать реальную ситуацию, а спецификации должны быть в любой момент времени законченным документом, который правильно описывает, что представляет собой программное изделие.
Управление программным изделием основано на осуществлении контроля и сведении балансов: группа планирования постоянно следит за расхождением между реальным положением дел, связанных с проектированием программного изделия, планами и спецификациями. Механизм рассмотрения и утверждения должен обеспечивать возможность выявления расхождений и последующее их устранение. Технические советы, объединенные комиссии и фазовые обзоры как раз и являются таким механизмом.