производственный менеджер проекта,
   менеджер проекта.
   Операция 3. План проекта разработки ПО, описывающий использование производственного процесса проекта, разрабатывается и пересматривается в соответствии с документированной процедурой.
    Практики, связанные с планом разработки ПО, содержатся в описании Операций № 6 и 7 группы ключевых процессов «Планирование проекта» и Операций № 1 и 2 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Операция 4. Управление проектом разработки ПО осуществляется в соответствии с его производственным процессом.
    Основные практики, связанные с управлением проектом разработки ПО, содержатся в группах ключевых процессов «Планирование проекта» и «Отслеживание хода проекта и контроль над ним».
   Производственный процесс проекта обычно содержит следующие указания:
   1. Выполняется подготовка сбора и анализа данных измерений, необходимых для управления проектом, а также отчетности по этим данным.
   2. Операции оценки, планирования и отслеживания проекта связываются с ключевыми задачами и промежуточными продуктами производственного процесса проекта.
   3. Устанавливаются и документируются критерии готовности и завершения, используемые при санкционировании начала выполнения ключевых задач и определения момента их завершения.
   4. Определяются документированные критерии момента необходимости перепланировки проекта.
   5. Накопленный технический и административный опыт документируется и сохраняется в библиотеке документации по производственному процессу.
    Практики, связанные с библиотекой документации по производственному процессу, содержатся в описании Операции № 6 группы ключевых процессов «Определение производственного процесса организации».
   6. Технические и административные выводы, полученные при отслеживании хода выполнения других проектов организации, систематически рассматриваются и используются для оценки, планирования, отслеживания и перепланировки проекта.
   7. В плане комплектования проекта персоналом определяются потребности проекта в сотрудниках с особыми навыками и знаниями в предметной области.
   8. Выявляются и документируются потребности конкретного проекта в обучении сотрудников. Практики, связанные с выявлением проектных потребностей в обучении, содержатся в описании Операции № 1 группы ключевых процессов «Программа обучения».
   9. Производственные планы и процессы, связанные с взаимодействием с другими группами, корректируются с учетом возможных несоответствий и других потенциальных проблем.
   Примеры несоответствий и проблем:
   различия в уровнях зрелости процессов,
   несовместимость процессов,
   различные экономические факторы.
   Операция 5. Использование базы данных ППО для планирования и оценочных расчетов для проекта разработки.
    Практики, связанные с базой данных ППО, содержатся в описании Операции № 5 группы ключевых процессов «Определение производственного процесса организации».
   1. База данных используется в качестве источника информации для оценочных расчетов, планирования, отслеживания и перепланирования проекта. По возможности используются данные подобных проектов.
   Примеры информации, содержащейся в базе данных ППО:
   объем промежуточных программных продуктов,
   трудоемкость разработки,
   затраты на разработку,
   календарный график,
   укомплектование персоналом,
   технические работы.
   2. Значения параметров, используемые для получения предполагаемого объема, трудоемкости, затрат, графика разработки и потребности в критических компьютерных ресурсах, сравниваются с аналогичными показателями других проектов в целях оценки обоснованности этих значений.
   Оцениваются и документируются сходства и различия с другими проектами с точек зрения предметной области и выбора архитектуры.
   Делаются записи обоснования сходств и различий между значениями аналогичных параметров.
   записи обоснований достоверности оценочных расчетов проекта.
   3. Информация по планированию и перепланированию проекта разработки и данные проведенных измерений сохраняются в базе данных ППО.
   Примеры записываемой проектной информации:
   описание задачи,
   сделанные предположения,
   оценочные расчеты,
   пересмотренные оценки,
   фактические данные измерений,
   информация, необходимая для воспроизведения оценочных расчетов,
   определения их обоснованности и выполнения аналогичных расчетов для новой работы.
   Операция 6. Управление объемом промежуточных программных продуктов (или объемом их изменений) в соответствии с документированной процедурой.
    Основные практики, связанные с планированием проекта и отслеживанием объема промежуточных программных продуктов, содержатся в описании Операции № 9 группы ключевых процессов «Планирование проекта» и Операции № 5 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Эта процедура обычно определяет следующее:
   1. Независимая от разработчиков группа проверяет процедуры оценки объема промежуточных программных продуктов и дает рекомендации по использованию статистической информации из базы данных ППО для получения достоверных оценок.
   Примером независимой группы может служить группа выполнения оценочных расчетов для составляющих проекта.
   Примером метода определения достоверности оценок объема ПО может служить функциональное сравнение проектируемой системы с законченной.
   Сотрудники, подготавливающие оценки объема, должны обеспечить соответствующий выбор процедур и данных, используемых при оценках.
   Если достоверность оценки объема оказывается спорной, эта оценка проверяется группой экспертов.
   2. При оценке объема каждого элемента ПО учитывается фактор непредвиденности, идентифицируемый как риск разработки.
   Обоснование непредвиденных обстоятельств должно документироваться.
   Оцениваются и документируются риски, связанные со снижением или устранением непредвиденности.
   3. Определяются приобретаемые или повторно используемые программные компоненты.
   Оценивается возможность повторного использования требований, архитектуры, кода, планов и процедур тестирования и т. п.
   При оценках объема учитывается фактор трудоемкости модификации и внедрения повторно используемых компонентов.
   4. Определяются и тщательно отслеживаются факторы, способные оказать значительное влияние на объем промежуточных программных продуктов.
   5. Для каждого управляемого элемента ПО устанавливается предельный объем, в случае ожидаемого превышения которого требуется принятие соответствующих мер.
   Операция 7. Управление трудоемкостью и себестоимостью разработки проводится в соответствии с документированной процедурой.
    Основные практики, связанные с планированием и отслеживанием затрат на разработку и ее трудоемкости, содержатся в описании Операции № 10 группы ключевых процессов «Планирование проекта» и
    Операции № 6 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Эта процедура обычно определяет следующее:
   1. В случае использования моделей расчета затрат на разработку, ее трудоемкости и профиля укомплектования персоналом, они адаптируются к проекту и используют, при необходимости, доступные статистические данные.
   2. Справочные данные по продуктивности и затратам корректируются с учетом характеристик проекта.
   Примеры характеристик проекта:
   географическое расположение проектных групп и организаций (например, субподрядчика),
   объем и сложность системы,
   стабильность требований,
   хост-среда разработки,
   целевая среда системы,
   знание и опыт разработчиков, касающиеся создаваемого приложения,
   доступность ресурсов,
   другие специфические ограничения.
   3. В целях эффективного управления проектными работами и затратами, их общий объем распределяется по отдельно управляемым задачам или стадиям.
   4. При проверке статуса вложенных трудозатрат и финансовых расходов и последующем пересмотре оценок фактические расходы относительно выполненной на данный момент работы сравниваются с планом разработки ПО. Результаты сравнения используются для уточнения оценок трудоемкости оставшейся работы и связанных с ней затрат.
   При крупных изменениях требований к ПО обновляются значения параметров моделей, использующихся для оценки трудоемкости и себестоимости разработки.
   По возможности в дальнейших расчетах используются фактические данные о продуктивности проекта и новые значения затрат на разработку.
   5. Для каждой отдельно управляемой задачи или стадии устанавливаются предельные значения трудоемкости и затрат, при превышении которых требуется принятие соответствующих мер.
   Операция 8. Управление использованием критических компьютерных ресурсов проекта проводится в соответствии с документированной процедурой.
    Основные практики, связанные с планированием и отслеживанием критических компьютерных ресурсов, содержатся в описании Операции № 11 группы ключевых процессов «Планирование проекта» и Операции № 7 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Эта процедура обычно определяет следующее:
   1. Оценки использования критических компьютерных ресурсов проекта могут выводиться на основании прежнего опыта, моделирования, прототипов или результатов анализа.
   Документируются источники и обоснования оценок.
   Оцениваются и документируются сходства и различия между проектами и источниками статистических данных с точек зрения предметной области и выбора архитектуры.
   Документируются обоснования, позволяющие судить о достоверности оценочных расчетов.
   2. Планируемые компьютерные ресурсы, системные требования, отнесенные к ПО, сами требования к ПО и/или архитектура ПО корректируются с учетом требований к критическим компьютерным ресурсам.
   3. Доступные компьютерные ресурсы распределяются по компонентам ПО.
   4. При проведении начальных оценок доступных критических компьютерных ресурсов предусматривается создание определенного резерва.
   5. Для каждого критического компьютерного ресурса устанавливается предельное значение его использования, при ожидаемом превышении которого требуется принятие соответствующих мер.
   Операция 9. Управление критическими зависимостями и последовательностями календарного графика проектных работ происходит в соответствии с документированной процедурой.
    Основные практики, связанные с обсуждением и отслеживанием критических зависимостей, содержатся в описании Операции № 12 группы ключевых процессов «Планирование проекта», Операции № 8 группы ключевых процессов «Отслеживание хода проекта и контроль над ним» и Операции № 4 группы ключевых процессов «Межгрупповая координация».
   Эта процедура обычно определяет следующее:
   1. Этапы, задачи, обязательства, критические зависимости, укомплектование персоналом, затраты и проверки распределяются в графике в соответствии с производственным процессом проекта.
   Календарный график разработки идентифицирует конкретные задачи и этапы, чье завершение можно определить объективно (т. е. возможно бинарное определение в виде «да/нет»).
   Для учета потребностей различных групп и сотрудников разрабатываются различные уровни детализации графика, связанные друг с другом соответствующим образом.
   2. Определяются и обсуждаются критические зависимости, после чего они отражаются в календарном графике разработки.
   Критические зависимости могут возникать как внутри группы разработки ПО (т. е. между подгруппами), так и между группой разработки и другими задействованными группами.
   3. Определяются критические последовательности, после чего они отражаются в календарном графике разработки. 4. Критические зависимости проекта и критические последовательности календарного графика регулярно отслеживаются. 5. Для каждой критической последовательности устанавливается специфический документированный пороговый критерий, при ожидаемом превышении которого требуется принятие соответствующих мер.
   Примеры принимаемых мер:
   анализ и моделирование компромиссных вариантов функций, качества, затрат, графика, персонала и других ресурсов;
   определение страховочных действий и, по возможности, внесение резерва времени в график;
   оценка влияния предполагаемых действий на все критические зависимости;
   распространение информации о принятых решениях между всеми задействованными группами.
   Операция 10. Выявление, оценка, документирование рисков проекта разработки и управление ими проводится в соответствии с документированной процедурой.
    Основные практики, связанные с выявлением и отслеживанием рисков, содержатся в описании Операции № 13 группы ключевых процессов «Планирование проекта» и Операции № 10 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Примеры областей, в которых риски могут с большой вероятностью привести к срыву проекта: календарный график, затраты, функциональные возможности разрабатываемой системы, пропускная способность или реальная производительность, надежность и доступность, использование критических компьютерных ресурсов.
   Примеры работ по управлению рисками: раннее выявление проектных задач с высокой степенью риска; определение событий, порождающих риски или повышающих их вероятность; создание прототипов или ранняя реализация модулей с высокой степенью риска; тщательное отслеживание индикаторов ключевых рисков проекта.
   Эта процедура обычно определяет следующее:
   1. Документируется план управления рисками разработки, который затем используется для выявления рисков и управления ими.
   Примеры вопросов, рассматриваемых в плане управления рисками:
   необходимые ресурсы (включая персонал и инструментальные средства);
   методы управления рисками (т. е. выявление, анализ, определение приоритетов, планирование, мониторинг и устранение);
   список выявленных рисков (включая оценку, приоритет, статус и планируемые действия);
   график управления рисками;
   обязанности и полномочия; метод и периодичность распространения информации о статусе рисков и связанных с ними мероприятиях;
   измерения.
   2. Планирование страховочных действий основывается на производственном процессе проекта и выполняется в течение всего жизненного цикла разработки.
   Примеры областей, в которых проводится планирование страховочных действий:
   определение вариантов,
   оценка влияния вариантов,
   техническая осуществимость вариантов,
   распределение резервов управления,
   критерии принятия решений о реализации вариантов.
   3. Для каждого риска разработки, по возможности, определяются альтернативные решения и критерии выбора альтернатив.
   4. Первый вариант и основные изменения плана по управлению рисками проходят экспертную оценку.
    См. группу ключевых процессов «Экспертные оценки».
   5. Документ плана управления рисками должен быть управляемым и контролируемым.
   6. Риски отслеживаются, переоцениваются и перепланируются на определенных этапах проекта, в определенных точках контроля рисков и при планировании значительных изменений, влияющих на проект разработки ПО.
   При проведении этих переоценок проверяются и пересматриваются приоритеты рисков и планы по управлению рисками.
   Информация, полученная при отслеживании рисков, используется для уточнения оценок рисков и планов по управлению рисками.
   7. Группа разработки ПО, а также другие задействованные группы и отдельные лица должны получать информацию о рисках разработки, планах по управлению рисками и результатах действий по снижению рисков.
   Примеры групп и отдельных лиц, задействованных в проекте:
   заказчик,
   субподрядчики,
   конечные пользователи,
   группа оценки объема составляющих проекта,
   системного проектирования,
   системного тестирования,
   обеспечения качества ПО,
   управления конфигурацией ПО,
   управления договорами,
   управления документацией.
   Операция 11 Периодически выполняются проверки проекта в целях определения действий, требуемых для приведения в соответствие хода и результатов разработки с текущими и планируемыми потребностями бизнеса, заказчика и конечных пользователей.
   Примеры действий:
   ужесточение календарного графика,
   изменение системных требований в ответ на изменения рыночной ситуации или потребностей заказчика и конечных пользователей,
   прекращение проекта.
   В этих практиках термином «конечные пользователи» называются конечные пользователи, определенные заказчиком, либо их представители.

Измерения и анализ

   Измерение 1. Выполнение измерений и использование их результатов для определения эффективности работ по интегрированному управлению разработкой ПО.
   Примеры измерений:
   объем выполненных на текущий момент работ по управлению проектом в сравнении с запланированным;
   периодичность, причины и масштаб работ по перепланированию;
   для каждого выявленного риска разработки — фактическая величина нежелательных последствий в сравнении с расчетной;
   отслеживаемые во времени количество и масштаб наиболее существенных непредвиденных нежелательных воздействий на проект разработки.

Проверка внедрения

   Проверка 1. Регулярная проверка высшим руководством выполнения работ по управлению проектом.
    Практики, связанные со стандартным содержанием проверок со стороны высшего руководства, содержатся в описании Проверки № 1 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Проверка 2. Регулярные и событийные проверки менеджером проекта работ по управлению проектом.
    Практики, связанные со стандартным содержанием проверок со стороны руководства проекта, содержатся в описании Проверки № 2 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
   Проверка 3. Выполнение группой обеспечения качества (SQA) проверок и/или аудитов работ и промежуточных продуктов по управлению проектом и составление отчетов по их результатам.
    См. группу ключевых процессов «Обеспечение качества ПО».
   Как минимум, проверяется следующее:
   1. Процесс разработки и пересмотра производственного процесса проекта.
   2. Процесс подготовки планов разработки ПО и управления рисками.
   3. Процессы управления проектом в соответствии с его производственным процессом.
   4. Процессы сбора и предоставления соответствующих данных для базы данных ППО.
   5. Процесс использования базы данных ППО для поддержки работ по планированию, проведению оценочных расчетов и слежению за ходом проекта.

9.5. Инженерия разработки программного продукта

   Группа ключевых процессов для уровня 3: определенный уровень
   Цель группы ключевых процессов «Инженерия разработки программного продукта» заключается в последовательном выполнении четко определенного процесса, интегрирующего все операции разработки в целях рационального и эффективного создания качественных и надежных программных продуктов.
   Инженерия разработки программного продукта включает в себя выполнение инженерных задач по созданию и сопровождению ПО с использованием производственного процесса проекта (описанного в группе ключевых процессов «Интегрированное управление разработкой ПО»), а также соответствующих методов и инструментов.
   Задачи инженерии разработки ПО включают в себя анализ системных требований, отнесенных к ПО (эти требования описываются в группе ключевых процессов «Управление требованиями»), разработку требований к ПО, разработку его архитектуры, проектирование, реализацию кода программы, интегрирование компонентов ПО и его тестирование в целях проверки выполнения определенных требований (т. е. системных требований, отнесенных к ПО, и требований к ПО).
   Разрабатывается и проверяется документация, необходимая для выполнения задач разработки (например, документ требований к ПО, документ архитектуры ПО, план и процедуры тестирования). Проверка документации должна подтвердить, что каждая задача использует результаты предшествующих задач, а их последовательное выполнение дает соответствующие результаты (включая задачи эксплуатации и сопровождения ПО). При внесении в проект утвержденных изменений, должны быть пересмотрены промежуточные программные продукты, планы, обязательства и процессы, на которые влияют эти изменения.

Цели

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

Обязательства по выполнению

   Обязательство 1. Проект следует документированной организационной политике выполнения операций по разработке ПО.
   Эта политика обычно состоит из следующих положений:
   1. Операции разработки ПО выполняются в соответствии с производственным процессом проекта.
    Практики, связанные с производственными процессами проектов, содержатся в описании Операций № 1 и 2 группы ключевых процессов «Интегрированное управление разработкой ПО».
   2. Для создания и сопровождения программных продуктов используются соответствующие методы и инструменты.
   3. Планы, задачи и продукты разработки должны отслеживаться до системных требований, отнесенных к ПО. В рамках этих практик системные требования, отнесенные к ПО, называются «установленными требованиями».
    Практики, связанные с системными требованиями, отнесенными к ПО, содержатся в группе ключевых процессов «Управление требованиями».

Необходимые предпосылки

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