6.1 Введение в управление проектом программного средства
Проект охватывает деятельность по созданию индивидуального продукта или услуги (Руководство РМВОК [1]). Таким образом, в проект вовлекают группу лиц, ресурсы и мероприятия, характеризуемые следующими общими свойствами:
- основными целями проекта является создание продуктов, услуг и выходных результатов;
- проект имеет начало и конец, то есть носит временной характер;
- проект не связан с обычной деятельностью организации, то есть проект носит индивидуальный характер. Некоторые организации (например, исследовательские или разрабатывающие) существуют только за счет реализации соответствующих проектов.
Программные проекты относятся к проектам, связанным с созданием программных средств, услуг или выдачей соответствующих результатов. Вопрос об отличии программных проектов от проектов, связанных с созданием других продуктов, услуг или результатов, рассмотрен Уоттом Хемпреем (Watts Haumphrey) [3] и охватывает следующие аспекты:
- программные средства являются наиболее сложными;
- внести изменения в программное средство достаточно просто;
- большинство обнаруженных проблем с техническими средствами решают путем изменения программных средств;
- в связи с низкой стоимостью тиражирования для программных средств отсутствует установленный технологический процесс;
- программирование не связано с традиционными естественными науками и отсутствуют соответствующие методы тестирования и проектного моделирования;
- программные средства являются элементами общей системы, увеличивающими ее сложность и создающими предпосылки для последующих ее изменений;
- программные средства наиболее доступны для пользователей и поэтому являются основным объектом их претензий.
Программные средства по своей природе отличаются от непрограммных продуктов, услуг и результатов, поэтому управление программными проектами имеет характерные особенности. Это не означает, что УПП полностью отличается от управления непрограммными проектами. Ключевым вопросом является разграничение областей УПП и общего управления проектом для обеспечения реализации целей проекта и предотвращения возникновения проблем.
В Руководстве РМВОК [1] дана важная информация по управлению проектами в целом. ГОСТ Р ИСО/МЭК 12207 содержит важную информацию о программных проектах в целом, вспомогательных процессах (5.2 ГОСТ Р ИСО/МЭК 12207) и описание большинства подлежащих реализации работ (видов деятельности) и задач (заданий). В ИСО 10006 [2] приведена информация, относящаяся к повышению качества управления проектом. Основными целями настоящего стандарта являются определение вышеописанных особенностей, с которыми сталкивается администратор программного проекта, демонстрация взаимодополняемости трех вышеуказанных документов и помощь АП программных проектов в принятии адекватных решений.
Быстрое изменение технологий программирования опережает существующие методы управления и обработки. Это осложняется некомплектностью методов и инструментальных средств управления проектом, доступных программным инженерам, по сравнению с другими техническими дисциплинами.
Реализация методологии УПП зависит от многих факторов, например персонала, организационных и договорных требований и сложности проекта.
Администраторы программного проекта определяют методологию и методы (технологию) реализации проекта, необходимые для:
прогнозирования и соответствующего предотвращения или минимизации неблагоприятного воздействия потенциальных проблем;
- принятия временных и постоянных решений;
- решения возникающих проблем;
- принятия ответственности за проект в целом, его процессы, работы, ресурсы, продукты и результаты.
Администратор программного проекта должен постоянно влиять на ход работ, например, санкционируя работу или приостанавливая ее, если эта работа может повлиять на другие области деятельности.
6.2 Процесс управления
В данном подразделе рассмотрен процесс управления из 7.1 ГОСТ Р ИСО/МЭК 12207. В указанном стандарте определен общий процесс управления (более широкий, чем УПП), который может быть применен любой стороной, управляющей каким-либо процессом. В данном подразделе обсуждено применение процесса управления из ГОСТ Р ИСО/МЭК 12207 для управления программным проектом (УПП).
Известно, что определенные процессы, работы и задачи необходимо выполнять неоднократно, чтобы реализовать требования и цели проекта. Например, основываясь на выбранной модели жизненного цикла программного средства, некоторые процессы, работы и задачи можно выполнять одновременно, при этом они могут быть взаимосвязаны или скоординированы в организационные серии структуры классификации работ (СКР) в зависимости от жизненного цикла программного проекта.