Марк Паулк - Модель зрелости процессов разработки программного обеспечения
Управление требованиями включает в себя достижение и поддержку соглашения с заказчиком по требованиям к проекту разработки. Это соглашение носит название «системных требований, установленных для ПО». Под «заказчиком» может подразумеваться группа системного проектирования, группа маркетинга, какая-либо другая внутренняя организация или внешний заказчик. Данное соглашение охватывает как технические, так и прочие требования (например, сроки поставки). Это соглашение формирует основу для оценки затрат, планирования, выполнения и отслеживания производства работ по проекту в течение всего жизненного цикла ПО.
Отнесение системных требований к ПО, оборудованию и другим компонентам системы (например, людям) может выполняться группой, внешней по отношению к группе разработки (например, группой системного проектирования), причем разработчики не должны непосредственно контролировать это распределение. Группа разработки предпринимает в рамках проекта соответствующие шаги, обеспечивающие контроль над теми требованиями, которые попадают в сферу ответственности разработчиков, а также их документирование.
Чтобы обеспечить этот контроль, группа разработки рассматривает исходные и переработанные системные требования к ПО и пытается решить возможные проблемы до того, как требования будут внедрены в проект разработки. Любое изменение системных требований сопровождается изменениями затронутых планов разработки, промежуточных продуктов и операций в целях их согласования с обновленными требованиями.
Цели
Цель 1
Установление контроля над системными требованиями к ПО в целях формирования базовой линии, используемой разработчиками ПО и руководством проекта.
Цель 2 Поддержка согласованности планов разработки, продуктов и операций с системными требованиями, отнесенными к ПО.
Обязательства по выполнению
Обязательство 1 Проект следует документу организационной политики управления системными требованиями, отнесенными к ПО.
В рамках этих практик системные требования, отнесенные к ПО, называются «установленными требованиями».
Установленные требования являются подмножеством системных требований, которые должны быть реализованы в программных компонентах системы. Установленные требования являются основной входной информацией для плана разработки ПО. Анализ требований к ПО позволяет конкретизировать, уточнить и документировать установленные требования.
Эта политика обычно состоит из следующих положений:
1. Установленные требования должны быть документированы.
2. Установленные требования рассматриваются:
? производственными менеджерами,
? другими задействованными группами.
Примеры групп, задействованных в проекте:
группа системного тестирования,
разработки ПО (включая все подгруппы, например, проектирования ПО),
системного проектирования,
обеспечения качества ПО,
управления конфигурацией ПО,
управления документацией.
3. Изменение установленных требований должно сопровождаться согласованными изменениями планов разработки, промежуточных продуктов и операций.
Необходимые предпосылки
Предпосылка 1 Для каждого проекта устанавливается сфера ответственности за анализ системных требований и их отнесение к оборудованию, ПО и другим компонентам системы.
Анализ и отнесение системных требований не входит в сферу ответственности группы разработчиков, но является предпосылкой для их работы.
Эта сфера ответственности включает в себя следующее:
1. Управление системными требованиями, их документирование и отнесение к соответствующим элементам в течение всего проекта.
2. Влияние на изменения системных требований и их отнесение к элементам проекта.
Предпосылка 2 Установленные требования должны быть документированы.
К установленным требованиям относятся следующие:
1. Требования нетехнического характера (т. е. соглашения, условия и договорные сроки), которые определяют операции проекта разработки ПО либо влияют на них.
Примеры соглашений, условий и договорных сроков: поставляемые продукты, сроки поставки, этапы проекта.
2. Технические требования к ПО. Примеры технических требований:
пользовательские, операторские, вспомогательные функции или функции интеграции; требования к рабочим характеристикам; проектные ограничения; язык программирования; требования к интерфейсу.
3. Критерии приемки, по которым будет оценено соответствие программных продуктов установленным требованиям.
Предпосылка 3 На управление установленными требованиями должны быть выделены соответствующие ресурсы и финансирование.
1. Для управления установленными требованиями должны быть назначены сотрудники, обладающие опытом и квалификацией как в прикладной области, так и в области разработки ПО.
2. Действия по управлению требованиями должны быть обеспечены вспомогательными инструментальными средствами.
Примеры вспомогательных инструментальных средств:
электронные таблицы,
инструменты управления конфигурацией,
инструментарий для отслеживания изменений,
инструментарий для управления тестированием.
Предпосылка 4 Члены группы разработки ПО и других смежных групп должны пройти соответствующее обучение для выполнения своих задач по управлению требованиями.
Примеры тем учебных занятий:
используемые в проекте методы, стандарты и процедуры;
предметная область.
Выполняемые операции
Операция 1 Группа разработки ПО рассматривает установленные требования до их внедрения в проект.
1. Выявляются пропущенные пункты требований.
2. Выполняется проверка установленных требований на:
выполнимость и возможность реализации в виде программы,
четкость и корректность формулировки,
отсутствие противоречий между требованиями,
возможность тестирования.
3. Все установленные требования, в которых были обнаружены потенциальные проблемы, проверяются группой, ответственной за анализ и отнесение системных требований, после чего вносятся необходимые изменения.
4. Все вытекающие из установленных требований обязательства обсуждаются вместе с задействованными группами.
Примеры групп, задействованных в проекте:
разработки ПО (включая все подгруппы, например, проектирования ПО),
оценки составляющих проекта,
системного проектирования,
системного тестирования,
обеспечения качества ПО,
управления конфигурацией ПО,
управления контрактами,
управления документацией.
Практики, связанные с обсуждением обязательств, содержатся в описании Операции № 6 группы ключевых процессов «Планирование проекта».
Операция 2 Группа разработки ПО использует установленные требования в качестве основы для создания планов разработки, перечня промежуточных продуктов и планирования работ.
Установленные требования:
1. являются управляемыми и контролируемыми;
«Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень формальности, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в группе ключевых процессов «Управление конфигурацией ПО».
2. являются основой для создания плана разработки ПО;
3. являются основой для разработки требований к ПО.
Операция 3 Изменения установленных требований рассматриваются и вносятся в проект разработки ПО.
1. Оценивается влияние на существующие обязательства по выполнению и обсуждаются их необходимые изменения.
? Изменения внешних обязательств сотрудников и групп проверяются высшим руководством.
Практики, связанные с внешними обязательствами организации, содержатся в описании Операции № 4 группы ключевых процессов «Планирование проекта» и Операции № 3 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
? Изменения обязательств внутри организации обсуждаются вместе с задействованными группами.
Практики, связанные с обсуждением изменений обязательств, содержатся в описании Операций № 5–7 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
2. Вносимые в планы разработки, промежуточные продукты и операции изменения, вытекающие из изменений установленных требований: