Процессы жизненного цикла программных средств — страница 3 из 11

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

1. процесс заказа;

2. процесс поставки;

3. процесс разработки;

4. процесс эксплуатации;

5. процесс сопровождения.

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

5.1 Процесс заказа

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

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

Заказчик управляет процессом заказа на проектном уровне в соответствии с процессом управления (подраздел 7.1), который конкретизируется в данном процессе; определяет инфраструктуру для данного процесса в соответствии с процессом создания инфраструктуры (подраздел 7.2); адаптирует данный процесс к условиям проекта в соответствии с процессом адаптации (приложение А) и управляет процессом заказа на организационном уровне в соответствии с процессами усовершенствования (подраздел 7.3) и обучения (подраздел 7.4).

Список работ. Данный процесс состоит из следующих работ:

1. подготовка;

2. подготовка заявки на подряд;

3. подготовка и корректировка договора;

4. надзор за поставщиком;

5. приемка и закрытие договора.

5.1.1 Подготовка

Данная работа состоит из следующих задач:

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

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

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

5.1.1.4 Заказчик может выполнить определение и анализ требований к программным средствам сам или поручить решение этой задачи поставщику.

5.1.1.5 При решении задач, определенных в 5.1.1.2 и 5.1.1.4, должен использоваться процесс разработки (подраздел 5.3).

5.1.1.6 Заказчик должен рассмотреть варианты реализации заказа, начиная с анализа соответствующих критериев, включая рискованность и стоимость проекта и выгоды от каждого варианта. Анализируются следующие варианты:

a. покупка готового программного продукта, удовлетворяющего определенным требованиям;

b. разработка программного продукта или обеспечение программной услуги собственными силами;

c. разработка программного продукта или получение программной услуги на договорной основе;

d. комбинации по перечислениям а), b), с);

e. модернизация существующего программного продукта или услуги.

5.1.1.7 При приобретении готового программного продукта заказчик должен получить гарантии того, что удовлетворены следующие условия:

a. программный продукт соответствует установленным требованиям;

b. имеется в наличии соответствующая документация;

c. соблюдены права собственности, использования, лицензирования и гарантии;

d. предусмотрена последующая поддержка программного продукта.

5.1.1.8 Заказчик должен подготовить, документально оформить и выполнить план заказа. План должен содержать:

a. требования к системе;

b. планируемую загрузку системы;

c. тип реализуемого договора;

d. обязанности организаций, участвующих в договоре;

e. обеспечение подходов к реализации договора;

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

5.1.1.9 Заказчик должен определить и документально оформить принятые правила и условия (критерии) реализации договора.

5.1.2 Подготовка заявки на подряд

Данная работа состоит из следующих задач:

5.1.2.1 Заказчик должен документально оформить требования к заказу (например, в виде заявки на подряд), состав которых зависит от вариантов реализации заказа, выбранных в соответствии с 5.1.1.6. Соответствующая документация по заказу должна содержать:

a. требования к системе;

b. описание области применения системы;

c. указания для участников торгов;

d. список программных продуктов;

e. сроки и условия реализации заказа;

f. правила контроля над субподрядчиками;

g. технические ограничения (например, по условиям эксплуатации).

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

5.1.2.3 В документации по заказу должны быть также определены контрольные пункты договора, при выполнении которых анализируется и проверяется деятельность поставщика (см. подразделы 6.6 и 6.7).

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

5.1.3 Подготовка и корректировка договора

Данная работа состоит из следующих задач:

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

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

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

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

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

Примечание — Заказчик определяет, используется ли при применении настоящего стандарта термин «договор» или.

5.1.4 Надзор за поставщиком

Данная работа состоит из следующих задач:

5.1.4.1 Заказчик должен осуществлять надзор за работами поставщика в соответствии с процессами совместного анализа (подраздел 6.6) и аудита (подраздел 6.7). При необходимости заказчик должен дополнять текущий надзор процессами верификации (подраздел 6.4) и аттестации (подраздел 6.5).

5.1.4.2 Заказчик должен взаимодействовать с поставщиком по вопросам своевременного взаимообмена всей необходимой информацией и решения всех возникающих проблем.

5.1.5 Приемка и закрытие договора

Данная работа состоит из следующих задач:

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

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

5.1.5.3 После приемки заказчик должен принять на себя ответственность за управление конфигурацией поставленного программного продукта (см. подраздел 6.2).

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

5.2 Процесс поставки

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

Поставщик управляет процессом поставки на проектном уровне в соответствии с процессом управления (подраздел 7.1), который конкретизируется в данном процессе; определяет инфраструктуру для данного процесса в соответствии с процессом создания инфраструктуры (подраздел 7.2); адаптирует данный процесс к условиям проекта в соответствии с процессом адаптации (приложение А) и управляет процессом поставки на организационном уровне в соответствии с процессами усовершенствования (подраздел 7.3) и обучения (подраздел 7.4).

Список работ. Данный процесс состоит из следующих работ:

1. подготовка;

2. подготовка ответа;

3. подготовка договора;

4. планирование;

5. выполнение и контроль;

6. проверка и оценка;

7. поставка и закрытие договора.

5.2.1 Подготовка

Данная работа состоит из следующих задач:

5.2.1.1 Поставщик проводит анализ требований, установленных в заявке на подряд, принимая во внимание организационные вопросы и другие установленные правила.

5.2.1.2 Поставщик должен принять решение об участии в конкурсе на подряд или о подписании договора.

5.2.2 Подготовка ответа

Данная работа состоит из следующей задачи:

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

5.2.3 Подготовка договора

Данная работа состоит из следующих задач:

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

5.2.3.2 Поставщик может предложить внести изменения в текст договора по согласованию с заказчиком.

5.2.4 Планирование

Данная работа состоит из следующих задач:

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

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

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

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

a. разработка программного продукта или предоставление программной услуги с использованием внутренних ресурсов поставщика;

b. разработка программного продукта или предоставление программной услуги путем заключения субподрядных договоров;

c. получение готовых программных продуктов от внутренних или внешних источников;

d. комбинации по перечислениям а), b), с).

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

a. организационной структуры проекта, полномочий и обязанностей каждого участника проекта, включая сторонние организации;

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

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

d. управления характеристиками качества создаваемого программного продукта или предоставляемой программной услуги. Допускается разработка отдельных планов по обеспечению качества;

e. управления безопасностью, защитой и другими критическими требованиями к программному продукту или программной услуге. Допускается разработка отдельных планов по обеспечению безопасности и защиты;

f. управления субподрядчиками, включая выбор субподрядчиков и взаимоотношения между субподрядчиком и заказчиком;

g. обеспечения качества (см. подраздел 6.3);

h. верификации (см. подраздел 6.4) и аттестации (см. подраздел 6.5), включая подходы к взаимоотношению с верифицирующими и аттестующими организациями, при их наличии;

i. взаимоотношений с заказчиком, которые реализуются такими средствами, как совместные анализы (см. подраздел 6.6), аудиторские проверки (см. подраздел 6.7), совещания, отчеты. модификации и изменения, реализации, утверждение, приемка и рабочие контакты;

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

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

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

m. средств для планирования, надзора и отчетности;

n. обучения персонала (см. подраздел 7.4).

5.2.5 Выполнение и контроль

Данная работа состоит из следующих задач:

5.2.5.1 Поставщик должен реализовать планы управления проектом, разработанные в соответствии с 5.2.4.

5.2.5.2 Поставщик должен:

a. разработать программный продукт в соответствии с процессом разработки (подраздел 5.3);

b. провести опытную эксплуатацию программного продукта в соответствии с процессом эксплуатации (подраздел 5.4);

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

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

a. надзор за технической реализацией, расходами, выполнением планов и отчетностью о ходе проекта;

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

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

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

5.2.5.6 Поставщик должен взаимодействовать с другими исполнителями договора в соответствии с установленными договорными или проектными планами.

5.2.6 Проверка и оценка

Данная работа состоит из следующих задач:

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

5.2.6.2 Поставщик должен проводить или участвовать в совещаниях, подготовке приемки, приемочных испытаниях, совместных анализах и аудиторских проверках вместе с заказчиком в соответствии с договором и проектными планами. Совместные анализы должны проводиться в соответствии с подразделом 6.6, а аудиторские проверки — в соответствии с подразделом 6.7.

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

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

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

5.2.6.6 Поставщик должен выполнять работы по обеспечению качества в соответствии с подразделом 6.3.

5.2.7 Поставка и закрытие договора

Данная работа состоит из следующих задач:

5.2.7.1 Поставщик должен поставить программный продукт или услугу заказчику в соответствии с условиями договора.

5.2.7.2 Поставщик должен помогать заказчику в поддержке поставленного программного продукта или услуги в соответствии с условиями договора.

5.3 Процесс разработки