Книга: Модель зрелости процессов разработки программного обеспечения
Выполняемые операции
Выполняемые операции
Операция 1. Производственный процесс проекта разрабатывается путем адаптации СППО в соответствии с документированной процедурой.
Практики, связанные с содержанием СППО, содержатся в описании Операции № 2 группы ключевых процессов «Определение производственного процесса организации».
Эта процедура обычно определяет следующее:
1. Жизненный цикл ПО:
выбирается из циклов, утвержденных в организации, с учетом договорных и рабочих ограничений проекта;
Практики, связанные с утвержденными жизненными циклами ПО, содержатся в описании Операции № 3 группы ключевых процессов «Определение производственного процесса организации».
при необходимости модифицируется в соответствии с принятыми в организации инструкциями и критериями адаптации;
документируется в соответствии с организационными стандартами.
Практики, связанные с принятыми в организации инструкциями и критериями адаптации, содержатся в описании Операции № 4 группы ключевых процессов «Определение производственного процесса организации».
2. Описание производственного процесса проекта документируется. Практики, связанные с планируемым содержанием определения процесса, содержатся в описании Операции № 2 группы ключевых процессов «Определение производственного процесса организации».
При выполнении адаптации по мере необходимости используются основные средства ППО.
3. Результаты адаптации СППО к проекту рассматриваются группой, ответственной за координацию разработки ППО (например, группой инженерии производственного процесса), и утверждаются высшим руководством.
Практики, связанные с библиотекой документации по производственному процессу, содержатся в описании Операции № 6 группы ключевых процессов «Определение производственного процесса организации».
Отклонения от СППО документируются, после чего они рассматриваются и утверждаются высшим руководством.
4. Отклонения от договорных требований к производственному процессу документируются, после чего они рассматриваются и утверждаются высшим руководством и, при необходимости, заказчиком.
5. Описание производственного процесса проекта должно быть управляемым и контролируемым.
«Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в группе ключевых процессов «Управление конфигурацией ПО».
Операция 2. Пересмотр производственного процесса каждого проекта в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Документирование и систематическое рассмотрение изменений, вызываемых следующими источниками:
опытом, получаемым в процессе отслеживания хода проектов разработки в организации,
изменениями, предложенными группой разработки проекта,
данными измерений, проводимых для оценки процессов и промежуточных продуктов.
2. Изменения, вносимые в производственный процесс проекта, проверяются и утверждаются до того, как они будут реализованы.
Примеры сотрудников, проверяющих изменения:
члены группы, ответственной за работу над ППО (например, группы инженерии производственного процесса),
производственные менеджеры,
производственный менеджер проекта.
Примеры сотрудников, утверждающих изменения:
производственный менеджер проекта,
менеджер проекта.
Операция 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 Периодически выполняются проверки проекта в целях определения действий, требуемых для приведения в соответствие хода и результатов разработки с текущими и планируемыми потребностями бизнеса, заказчика и конечных пользователей.
Примеры действий:
ужесточение календарного графика,
изменение системных требований в ответ на изменения рыночной ситуации или потребностей заказчика и конечных пользователей,
прекращение проекта.
В этих практиках термином «конечные пользователи» называются конечные пользователи, определенные заказчиком, либо их представители.
- 9.1. Координация производственного процесса организации
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.2. Определение производственного процесса организации
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.3. Программа обучения
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.4. Интегрированное управление разработкой ПО
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.5. Инженерия разработки программного продукта
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.6. Межгрупповая координация
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения
- 9.7. Экспертные оценки
- Цели
- Обязательства по выполнению
- Необходимые предпосылки
- Выполняемые операции
- Измерения и анализ
- Проверка внедрения