Главная » UML » Обзор фаз

0

В данном разделе подробно рассматриваются цели каждой фазы и критерии оценки, используемые в каждой основной вехе.

Фаза исследования

Основной целью фазы исследования является получение согласия всех заинтересованных сторон относительно конечного результата жизненного цикла проекта. В число основных целей фазы исследования входят следующие.

можно только посредством формальной процедуры, такой как управление изменениями и конфигурацией.

6 Фазы разрабатывались совместно с Уокером Ройсом (Walker Royce), а данный раздел является адаптированным пересказом главы 6 его книги Software Project Management: A Unified Framework Reading, MA: Addison-Wesley Longman, 1998.

 

•       Установление области действия программного обеспечения проекта и гранич
ных условий, в том числе операционных понятий, критериев допустимости и
видения желаемого и нежелаемого в конечном продукте.

•       Выделение критических прецедентов системы, т.е. основных сценариев пове
дения, которые будут направлять функционирование системы и определять
основные проектные компромиссы.

•       Демонстрация не менее одной возможной архитектуры, отвечающей несколь
ким основным сценариям.

•       Оценка общей стоимости и графика работ проекта в целом, а также предостав
ление подробных оценок для фазы уточнения плана, следующей непосредс
твенно за данной фазой.

•       Оценка рисков (источников непредсказуемости).

В фазе исследования необходимыми являются следующие виды деятельности.

•       Сформулировать область действия проекта, т.е. зафиксировать среду, важней
шие требования и ограничения с тем, чтобы к завершению проекта можно
было получить критерии приемлемости.

•       Спланировать и подготовить бизнес-план, а также оценить альтернативы для
управления рисками, кадрового обеспечения, плана проекта и выбора компро
мисса между ценой, графиком работ и рентабельностью.

•       Спроектировать возможную архитектуру, оценить компромиссы в проекте и
определиться,  какие  компоненты  будут  создаваться,   какие —  покупаться,  а
какие — использоваться повторно, с тем, чтобы оценить стоимость, ресурсы и
график работ.

На выходе фазы исследования должны быть получены следующие артефакты.

•       Документ видения, в котором описано общее видение основных требований
проекта, ключевые функции и главные ограничения.

•       Обзор модели прецедентов, перечисляющий все прецеденты и акторы, кото
рые можно определить на ранней стадии проекта.

•       Начальный словарь проекта.

•       Первоначальный бизнес-план, включающий:

-    среду производства;

критерии успеха (ожидаемая прибыль, признание рынка и т.д.);

-    финансовый прогноз.

•       Первоначальная оценка риска.

•       План проекта, демонстрирующий фазы и итерации.

Для коммерческих программных продуктов бизнес-план должен включать набор предположений о проекте и коэффициент окупаемости инвестиций (return on investment — ROI), если указанные предположения считать истинными. Например, коэффициент ROI будет равен пяти, если проект будет завершен в течение года; двум — если он будет завершен за два года; и будет отрицательным, если на завершение проекта уйдет свыше двух лет. Эти предположения повторно проверяются в конце фазы уточнения плана, когда область действия и план определяются более точно.

 

Оценка ресурсов может относиться либо ко всему проекту, завершаемому стадией сдачи, либо только к ресурсам, необходимым в фазе уточнения плана. На данном этапе оценка ресурсов, требуемых для реализации всего проекта, должна рассматриваться как весьма приблизительная, "интуитивная". Эта оценка будет корректироваться при последующих фазах и итерациях, и с каждой такой итерацией она будет точнее.

Помимо указанных выше, в фазе исследования могут создаваться следующие артефакты.

•       Первоначальная модель прецедентов (завершенная на 10-20%). В нее входят
прецеденты, создаваемые в процессе работы с начальным циклом разработки.

•       Модель предметной области, более изощренная, чем словарь (см. главу 9).

•       Если необходимо — модель производства (см. главу 8).

•       Описание предварительного плана разработки, необходимое для определения
используемых процессов (см. главу 17).

•       Один или несколько прототипов (см. главу 11).

Веха: цель жизненного цикла

Фаза исследования завершается первой из основных вех: вехой цели жизненного цикла. Фаза исследования оценивается согласно следующим критериям.

•       Принятие   заинтересованными   сторонами   определения   области   действия,
предлагаемой стоимости и графика работ

•       Понятность требований, вытекающих из основных прецедентов

•       Правдоподобие оценок стоимости,  графика работ,  приоритетов,  рисков и
процесса разработки

•       Глубина и широта разработанного архитектурного прототипа

•       Отношение действительных расходов к запланированным

Если проект не пройдет данную веху, то он может быть отменен или в значительной степени пересмотрен.

Фаза уточнения плана

Целью фазы уточнения плана является анализ области проблемы, установление прочного архитектурного фундамента, разработка плана проекта и исключение из проекта элементов наибольшего риска. Для достижения этого требуется осмотреть систему "на милю в ширину, на дюйм в глубину". Архитектурные решения нужно принимать с пониманием всей системы: ее области действия, основных функциональных возможностей и нефункциональных требований, таких как эксплуатационные требования.

 

Легко согласиться с тем, что фаза уточнения плана является самой критичной фазой проекта. После ее завершения "тяжелое машиностроение" считается законченным, и наступает важнейший час расплаты: принятие решения, стоит ли реализовывать фазы построения и развертывания.

В большинстве проектов эта фаза соответствует переходу от мобильной, гибкой работы с низким уровнем риска к более дорогой, рискованной и инертной работе. Процесс должен всегда адаптироваться к изменениям, однако виды деятельности фазы уточнения плана обеспечивают достаточную стабильность архитектуры, требований и планов, а также значительное снижение рисков, что позволяет спрогнозировать стоимость и график завершения разработки. Теоретически такой уровень точности соответствует уровню, необходимому организации для проведения фазы построения за предопределенную цену.

В фазе уточнения плана за одну или несколько итераций (это зависит от области действия, размера, риска и новизны проекта) создается выполнимый архитектурный прототип. Эта работа, как минимум, должна дать критические прецеденты, определенные в фазе исследования; обычно они показывают основные технические риски проекта. Хотя целью всегда является развиваемый прототип, дающий наивысшее качество производства, это не исключает разработку одного или нескольких альтернативных прототипов, направленных на смягчение последствий от реализации конкретного риска или исследование некоторых компромиссов между проектом и требованиями. Кроме того, это не исключает ни изучения выполнимости, ни проведения демонстраций перед инвесторами, заказчиками и конечными пользователями.

Основными целями фазы уточнения плана являются следующие.

•       Максимально быстрое определение, утверждение и создание базовой линии’
архитектуры.

•       Создание базовой линии видения.

•       Создание базовой линии высокоточного плана фазы построения.

•       Демонстрация того, что базовая архитектура позволяет получить желаемое
видение за разумную цену и разумное время.

В фазе уточнения плана необходимыми являются следующие виды деятельности.

•       Тщательная разработка видения и установление четкого понимания наиболее
критичных прецедентов, направляющих архитектурные и проектные решения.

•       Тщательная  разработка  процесса,   инфраструктуры   и  среды  разработки,   а
также согласование процесса, инструментальных средств и автоматической
поддержки.

•       Тщательная разработка архитектуры и выбор компонентов. Оценка потенци
альных компонентов. Приведение решения о создании/покупке/повторном
использовании компонентов к достаточно понятному виду, чтобы можно было
с уверенностью  определить  стоимость  и  график  работ  фазы  построения.
Интеграция и оценка выбранных архитектурных компонентов согласно основ-

7 Создание базовой линии — это создание некоторой опорной точки, т.е. подчинение утвержденной версии управлению конфигурацией, чтобы в дальнейшем она служила отправной точкой последующего развития.

 

Фаза построения

Во время фазы построения все оставшиеся компоненты и функции приложений разрабатываются и интегрируются в окончательный продукт; кроме того, все функции проходят тщательное тестирование. В некотором смысле фаза построения — это производственный процесс с акцентами на управлении ресурсами и операциями в целях оптимизации стоимости, графика работ и качества. В данном случае к управлению нужно относиться уже не как к разработке интеллектуальной собственности (как в фазах исследования и уточнения плана), а как к разработке распространяемых продуктов в фазах построения и развертывания.

Многие проекты настолько велики, что приводят к нагромождению параллельных конструкций. Конечно же, параллельные действия могут значительно ускорить выпуск распространяемых версий, но они также могут усложнить управление ресурсами и синхронизацию технологических процессов. Отметим, что устойчивая архитектура и четкий план весьма тесно связаны. Другими словами, одним из важнейших качеств архитектуры является легкость построения. Это является одной из причин того, что в фазе уточнения плана делается акцент на синхронной разработке архитектуры и плана.

В число основных целей фазы построения входят:

•       минимизация стоимости разработки путем оптимизации ресурсов и устранения
необязательных отходов и доработок;

•       скорейшее получение приемлемого уровня качества;

•       скорейшее получение полезных версий (альфа-, бета- и других тестовых версий).

В фазе построения основными являются следующие виды деятельности.

•       Управление ресурсами, контроль ресурсов и оптимизация процесса

•       Полная разработка компонентов и их тестирование согласно определенным
критериям оценки

•       Оценка версий продукта согласно критериям приемлемого видения

На выходе фазы построения получаем продукт, готовый к передаче конечному пользователю. Он включает, как минимум, следующее:

•       программный продукт, реализуемый на соответствующей платформе;

•       руководства пользователя;

•       описание текущей версии.

Веха: первоначальная работоспособность

Фаза построения завершается третьей основной вехой проекта: вехой первоначальной работоспособности. В этот момент принимается решение, готовы ли к активной

 

работе программное обеспечение, узлы и пользователи и не подвергнуты ли они высоким рискам. Такая версия продукта часто называется бетагверсней.

Критерии оценки фазы построения включают ответы на следующие вопросы.

•       Устойчива ли данная версия проекта и готова ли она к распространению в
пользовательской среде?

•       Все ли  заинтересованные  стороны  готовы  к  переходу в  пользовательское
сообщество?

•       Приемлемо ли  соотношение  между запланированными  и действительными
расходами ресурсов?

Если проект не сможет пройти эту веху, то фазу развертывания, вероятно, придется отсрочить на одну версию.

Фаза развертывания

Целью фазы развертывания является передача программного продукта пользовательскому сообществу. После предоставления продукта конечному пользователю обычно возникают вопросы, требующие разработки новых версий, устранения некоторых проблем или доработки отложенных функций.

Фаза развертывания начинается тогда, когда базовая линия готова к передаче конечным пользователям. Обычно это означает, что некоторая сокращенная версия системы имеет приемлемый уровень качества и существует пользовательская документация; передача продукта пользователю даст результаты, положительные и для пользователя, и для разработчика. Данная фаза включает следующее.

•       Бета-тестирование, позволяющее убедиться, что новая система соответствует
ожиданиям пользователя

•       Параллельное функционирование с существующей системой, которую должна
заменить разрабатываемая

•       Перекодирование эксплуатационных баз данных

•       Подготовка пользователей и персонала поддержки

•       Передача продукта командам маркетинга, распространения и продаж

Фаза развертывания заканчивается в тот момент, когда базовая линия распространения соответствует полному видению. Для одних проектов эта конечная точка жизненного цикла может совпадать с начальной точкой следующего цикла, вызывая "рождение" нового поколения или версии продукта. Для других проектов она может совпадать с моментом передачи артефактов третьей стороне, отвечающей за функционирование, техническое обслуживание и модернизацию переданной системы.

В фазе развертывания акцент делается на видах деятельности, необходимых для передачи программного обеспечения в руки пользователей. Как правило, эта фаза включает несколько итераций, в том числе выпуск бета-версий, общедоступных версий, а также корректирующих и модернизирующих версий. Значительная часть работ приходится на разработку документации, ориентированной на пользователя, подготовку и

 

поддержку пользователей в период начального использования продукта и принятие мер в ответ на обратную связь с пользователем. Впрочем, в этот период жизненного цикла обратная связь с пользователем должна, в первую очередь, ограничиваться вопросами настройки продукта, конфигурирования, установки и практичности. Основные цели фазы развертывания состоят в следующем.

•       Добиться независимости от пользователя

•       Получить подтверждение заинтересованных сторон, что базовая линия раз
работки готова и согласуется с критериями оценки видения

•       Максимально быстро и рентабельно получить окончательную базовую линию
продукта

В фазе развертывания необходимыми являются следующие виды деятельности.

•       Проектирование с акцентом на распространение, т.е. отбрасывание лишнего,
коммерческое оформление продукта и производство, развертывание продаж и
подготовка технического персонала

•       Настройка видов деятельности, в том числе коррекция ошибок и модернизация
в целях повышения производительности и практичности

•       Оценка базовой линии разработки согласно видению и критериям приемлемос
ти продукта

Виды деятельности фазы развертывания зависят от поставленной цели; для коррекции ошибок достаточно, как правило, реализации и тестирования. При необходимости введения новых функций используются итерации, подобные итерациям фазы построения.

В зависимости от типа продукта эта фаза может быть как простой, так и крайне сложной. Например, новая версия существующего продукта рабочего стола может быть простой, а замена государственной системы управления воздушным сообщением, наверняка, будет сложной.

Веха: выпуск продукта

Фаза развертывания завершается четвертой важнейшей вехой проекта: вехой выпуска продукта. В этот момент принимается решение, достигнуты ли поставленные цели и стоит ли начинать еще один цикл разработки. В некоторых случаях данная веха может совпадать с концом фазы исследования следующего цикла.

Основные критерии оценки фазы развертывания включают ответы на следующие вопросы.

•       Удовлетворены ли пользователи?

•       Остается ли приемлемым соотношение между запланированными и действительными расходами ресурсов?

 

По теме:

  • Комментарии