Текст книги "Модель зрелости процессов разработки программного обеспечения"
Автор книги: Марк Паулк
Соавторы: Сьюзен Гарсия,Чарльз Вебер,Мэри Хриссис,Мерилин Буш,Билл Куртис
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 11 (всего у книги 16 страниц)
Выполняемые операции
Операция 1 Для каждого проекта по разработке ПО подготавливается план работ по обеспечению качества в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. План обеспечения качества разрабатывается на ранних стадиях общего планирования проекта и параллельно с ним.
2. План обеспечения качества рассматривается задействованными группами и лицами. Примеры задействованных групп и лиц: производственный менеджер проекта, другие производственные менеджеры, менеджера проекта, представитель заказчика по вопросам обеспечения качества, руководитель высшего звена, которому группа обеспечения качества сообщает о фактах несоответствия техническим условиям, группа разработки ПО (включая ведущих специалистов и все подгруппы, например, проектирования ПО).
3. Документ плана обеспечения качества должен быть управляемым и контролируемым. «Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в группе ключевых процессов «Управление конфигурацией ПО».
Операция 2 Группа обеспечения качества выполняет свои работы в соответствии с планом обеспечения качества.
План охватывает следующие вопросы:
1. Сфера ответственности и полномочия группы обеспечения качества.
2. Ресурсы, требующиеся группе обеспечения качества (включая персонал, инструменты и инженерные средства).
3. Календарный план и финансирование работ группы обеспечения качества.
4. Участие группы обеспечения качества в составлении плана разработки ПО, стандартов и процедур проекта.
5. Оценки, выполняемые группой обеспечения качества.
Примеры оцениваемых продуктов и работ:
рабочее ПО и вспомогательные программы,
продукты как предназначенные для поставки заказчику, так и внутреннего пользования,
программные и непрограммные продукты (например, документы),
операции по разработке и проверке продукта (например, выполнение сценариев тестирования),
мероприятия, проводимые после создания продукта.
6. Аудиты и проверки, проводимые группой обеспечения качества.
7. Стандарты и процедуры проекта, используемые группой обеспечения качества в качестве основы для проверок и аудитов.
8. Процедуры документирования и отслеживания обнаруженных несоответствий до их разрешения. Эти процедуры могут быть включены в план непосредственно или в виде ссылки на содержащие их другие документы.
9. Документация, требуемая от группы обеспечения качества.
10. Способ и периодичность предоставления отзывов по результатам мероприятий по обеспечению качества для группы разработки ПО и других смежных групп.
Операция 3 Группа обеспечения качества участвует в подготовке и обсуждении плана разработки ПО, стандартов и процедур проекта.
1. Группа обеспечения качества рассматривает планы, стандарты и процедуры проекта и консультирует участников проекта по следующим вопросам:
соответствие организационной политике,
соответствие внешним стандартам и требованиям (например, стандартам, обусловленным техническим заданием),
стандарты, подходящие для применения в проекте, темы, которые должны быть рассмотрены в плане разработки ПО,
другие вопросы, имеющие отношение к проекту.
2. Группа обеспечения качества проверяет наличие и ввод в действие планов, стандартов и процедур, а также возможность их использования для проверки и аудита проекта разработки ПО.
Операция 4 Группа обеспечения качества проверяет производственный процесс разработки ПО на соответствие требованиям.
1. Ход производственного процесса сравнивается с планом разработки ПО и установленными стандартами и процедурами разработки.
Практики, связанные с конкретными проверками и аудитами, проводимыми группой обеспечения качества, содержатся в разделе «Проверка внедрения» других групп ключевых процессов.
2. Отклонения от требований выявляются, документируются и отслеживаются до их устранения. 3. Контролируется выполнение корректирующих действий.
Операция 5 Группа обеспечения качества проводит аудит определенных промежуточных программных продуктов на соответствие требованиям.
1. Поставляемые программные продукты оцениваются до того, как они будут переданы заказчику.
2. Промежуточные программные продукты проверяются на соответствие установленным стандартам, процедурам и требованиям договора.
3. Отклонения от требований выявляются, документируются и отслеживаются до их устранения. 4. Контролируется выполнение корректирующих действий.
Операция 6 Группа обеспечения качества регулярно докладывает разработчикам о результатах своей работы.
Операция 7 Отклонения, выявленные в ходе выполнения производственного процесса и в промежуточных программных продуктах, документируются и устраняются в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Отклонения от плана разработки ПО и установленных стандартов и процедур проекта документируются и, по возможности, устраняются при участии ведущих специалистов, производственных менеджеров или менеджера проекта.
2. Отклонения от плана разработки ПО и установленных стандартов и процедур проекта, которые невозможно устранить при участии ведущих специалистов, производственных менеджеров или менеджера проекта, документируются. Информация об этих отклонениях передается руководителю высшего звена, рассматривающему вопросы несоответствий.
3. Проблемы несоответствий, поставленные перед руководителем высшего звена, периодически рассматриваются до своего разрешения.
4. Документация по вопросам несоответствий должна быть управляемой и контролируемой.
Операция 8 Группа обеспечения качества проводит регулярные обсуждения своих мероприятий и их результатов (по возможности – совместно с представителями заказчика по вопросам обеспечения качества).
Измерения и анализ
Измерение 1 Выполнение измерений и использование их результатов для определения затрат на мероприятия по обеспечению качества и отслеживания их состояния в сравнении с календарным планом.
Примеры измерений:
выполнение этапов работ по обеспечению качества в сравнении с планом;
определение объема выполненных работ по обеспечению качества и израсходованных при этом ресурсов в сравнении с запланированными значениями;
количество проведенных аудитов продуктов и проверок хода работ в сравнении с запланированным.
Проверка внедрения
Проверка 1 Регулярная проверка высшим руководством работ по обеспечению качества.
Регулярные проверки проводятся высшим руководством для получения своевременной информации о ходе процесса разработки ПО и его понимания на соответствующем уровне абстрагирования. Промежутки времени между проверками должны соответствовать потребностям организации и могут быть длительными, если в организации имеется работающая система оповещения об исключительных ситуациях.
Практики, связанные со стандартным содержанием проверок со стороны высшего руководства, содержатся в описании Проверки № 1 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
Проверка 2 Регулярные и событийные проверки менеджером проекта работ по обеспечению качества.
Практики, связанные со стандартным содержанием проверок со стороны руководства проекта, содержатся в описании Проверки № 2 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
Проверка 3 Периодическая проверка экспертами, независимыми от группы обеспечения качества, проводимых ею мероприятий и выходных документов.
8.6. Управление конфигурацией ПО
Группа ключевых процессов для уровня 2: повторяемый уровень
Цель группы ключевых процессов «Управление конфигурацией ПО» заключается в обеспечении целостности продуктов проекта разработки ПО в течение всего жизненного цикла проекта.
Управление конфигурацией ПО включает в себя определение конфигурации программных продуктов (т. е. перечень выбранных промежуточных программных продуктов и их описания) в заданные моменты времени, систематический контроль над их изменениями, а также поддержку целостной и отслеживаемой конфигурации в течение всего жизненного цикла ПО. К промежуточным продуктам, помещенным в систему управления конфигурацией, относятся как продукты, поставляемые заказчику (например, документ требований к ПО и программный код), так и компоненты, которые сопутствуют этим программным продуктам или нужны для их создания (например, компилятор).
Формируется библиотека базовых линий конфигурации, наполняемая по мере их разработки. Изменения базовых линий и выпуск программных продуктов, созданных на основе библиотеки базовых линий, систематически контролируются с помощью функций управления изменениями и аудита конфигурации, используемыми при управлении конфигурацией ПО.
Эта группа ключевых процессов охватывает практики, связанные с применением функции управления конфигурацией ПО. Практики, определяющие конкретные элементы/блоки, подлежащие управлению конфигурацией, содержатся в группах ключевых процессов, которые описывают разработку и сопровождение данных элементов/блоков.
Цели
Цель 1 Управление конфигурацией ПО происходит на плановой основе.
Цель 2 Выбранные промежуточные программные продукты определены, управляемы и доступны.
Цель 3 Изменения в определенных промежуточных программных продуктах происходят управляемым образом.
Цель 4 Распространение информации между группами и сотрудниками, задействованными в проекте, о состоянии и содержании базовых линий конфигурации.
Обязательства по выполнению
Обязательство 1 Проект следует документированной организационной политике управления конфигурацией ПО (Software Configuration Management, SCM).
Эта политика обычно состоит из следующих положений:
1. По каждому проекту должны быть назначены конкретные лица, ответственные за управление конфигурацией ПО.
2. Управление конфигурацией ПО реализуется в течение всего жизненного цикла проекта.
3. Управление конфигурацией ПО реализуется для конечных программных продуктов, определенных внутренних промежуточных программных продуктов, а также определенных вспомогательных инструментальных средств, используемых внутри проекта (например, компиляторов).
4. Проекты формируют собственный репозитарий (или получают к нему доступ), в котором содержатся элементы/блоки конфигурации и связанные с ними записи SCM.
В этих практиках содержание данного репозитария называется «библиотекой базовых линий конфигурации».
Инструменты и процедуры доступа к этому репозитарию называются «системой управления библиотекой конфигураций».
Промежуточные продукты, помещенные в систему управления конфигурацией и воспринимаемые в виде отдельных сущностей, называются отдельными блоками конфигурации.
Блоки обычно состоят из компонентов, а те в свою очередь – из элементов конфигурации. В аппаратно-программной системе все ПО может восприниматься в виде одного блока конфигурации либо может быть разбито на несколько блоков. В данных практиках термины «блок» и «элемент конфигурации» относятся к элементам, помещенным в систему управления конфигурацией.
5. Регулярно проводится аудит базовых линий и работ по управлению конфигурацией ПО.
Необходимые предпосылки
Предпосылка 1 Должна существовать или быть создана комиссия по управлению базовыми линиями проекта (т. е. комиссия по управлению конфигурацией ПО, Software Configuration Control Board, SCCB).
Задачи комиссии SCCB:
1. Санкционирование создания базовых линий, выявление конфигураций и их элементов.
2. Представление интересов менеджера проекта и всех групп, которых могут затронуть изменения базовых линий.
Примеры групп, задействованных в проекте:
обеспечения качества аппаратного обеспечения,
управления конфигурацией аппаратного обеспечения,
проектирования аппаратного обеспечения,
производственного проектирования,
разработки ПО (включая все подгруппы, например, проектирования ПО),
системного проектирования,
системного тестирования,
обеспечения качества ПО,
управления конфигурацией ПО,
управления договорами,
управления документацией.
3. Ревизия и санкционирование изменений базовых линий.
4. Санкционирование создания продуктов из элементов библиотеки базовых линий.
Предпосылка 2 Необходимо наличие группы, ответственной за координацию и реализацию управления конфигурацией в рамках проекта (группа SCM).
Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются во внимание объем служебных обязанностей, объем проекта, организационная структура и культура взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на деятельности на уровне проектов, другие же, как группа инженерии процессов производства, – на деятельности общекорпоративного уровня.
Группа управления конфигурацией ПО координирует или реализует следующие задачи:
1. Создание библиотеки базовых линий проекта и управление ею.
2. Разработка, сопровождение и распространение планов, стандартов и процедур по управлению конфигурацией.
3. Идентификация набора промежуточных продуктов, помещаемых в систему управления конфигурацией. Промежуточный продукт представляет собой любой артефакт, происходящий из определения, сопровождения или использования процесса разработки ПО.
4. Управление доступом к библиотеке базовых линий конфигурации.
5. Обновление базовых линий конфигурации.
6. Создание продуктов из элементов библиотеки базовых линий.
7. Запись действий по управлению конфигурацией ПО.
8. Создание и распространение отчетов по управлению конфигурацией.
Предпосылка 3 Работы по управлению конфигурацией ПО должны быть обеспечены соответствующими ресурсами и финансированием.
1. Назначается менеджер, на которого возлагаются конкретные обязанности по управлению конфигурацией ПО.
2. Работы по управлению конфигурацией ПО обеспечиваются вспомогательными инструментальными средствами. Примеры вспомогательных инструментальных средств: рабочие станции, средства управления базами данных, инструменты управления конфигурацией.
Предпосылка 4 Члены группы управления конфигурацией ПО должны пройти обучение целям, процедурам и методам выполнения работ по управлению конфигурацией ПО.
Примеры тем учебных занятий: стандарты, процедуры и методы управления конфигурацией, инструменты управления конфигурацией.
Предпосылка 5 Члены группы разработки ПО и других смежных групп должны пройти обучение выполнению своих задач по управлению конфигурацией.
Примеры групп, связанных с разработкой ПО:
группа обеспечения качества ПО,
группа управления документацией.
Примеры тем учебных занятий:
стандарты,
процедуры и методы выполнения работ по управлению конфигурацией группой разработки ПО и другими смежными группами,
роль, сфера ответственности и полномочия группы управления конфигурацией ПО.
Выполняемые операции
Операция 1 Для каждого проекта по разработке ПО готовится план управления конфигурацией в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. План управления конфигурацией ПО разрабатывается на ранних стадиях общего планирования проекта и параллельно с ним.
2. План управления конфигурацией ПО рассматривается задействованными группами.
3. Документ плана управления конфигурацией ПО должен быть управляемым и контролируемым.
«Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в данной группе ключевых процессов.
Операция 2 Документированный и утвержденный план управления конфигурацией используется в качестве основы для выполнения работ по SCM.
План охватывает следующие вопросы:
1. Выполняемые работы по управлению конфигурацией, график работ, назначение сфер ответственности и необходимые ресурсы (включая персонал, инструменты и аппаратное обеспечение).
2. Требования и работы по управлению конфигурацией, выполняемые группой разработки ПО и другими смежными группами.
Операция 3 Устанавливается библиотечная система управления конфигурацией, служащая репозитарием базовых линий.
Задачи, решаемые данной библиотечной системой:
1. Поддержка нескольких уровней контроля управления конфигурацией. Примеры ситуаций, ведущих к нескольким уровням контроля: в разные моменты жизненного цикла требуются различные уровни контроля (например, по мере роста зрелости продукта необходим более жесткий контроль); исключительно программные системы и системы, включающие в себя программное и аппаратное обеспечение, требуют различного уровня контроля.
2. Хранение и извлечение отдельных элементов/блоков конфигурации. 3. Обеспечение совместного использования и передачи элементов/блоков конфигурации между задействованными группами и между уровнями контроля внутри библиотеки. 4. Помощь в применении производственных стандартов к элементам/блокам конфигурации. 5. Хранение и извлечение архивных версий отдельных элементов/блоков конфигурации. 6. Обеспечение корректного создания продуктов на основе элементов из библиотеки базовых линий. 7. Хранение, обновление и предоставление записей по управлению конфигурацией. 8. Поддержка создания отчетов по управлению конфигурацией. 9. Поддержка структуры и содержимого библиотеки.
Примеры функций поддержки библиотеки:
резервное копирование/восстановление библиотечных файлов,
восстановление библиотечной системы после сбоев.
Операция 4 Идентификация промежуточных программных продуктов, помещаемых в систему управления конфигурацией.
1. Выбор отдельных элементов/блоков конфигурации на основании документированных критериев.
Примеры промежуточных программных продуктов, которые можно определить в качестве элементов/блоков конфигурации:
документация по процессу (т. е. планы, стандарты или процедуры), требования к ПО, архитектура ПО, модули программного кода, процедуры тестирования ПО,
программная система, созданная для проведения тестирования ПО,
программная система, созданная для передачи заказчику или конечным пользователям,
компиляторы, другие вспомогательные инструментальные средства.
2. Элементам/блокам конфигурации присваиваются уникальные идентификаторы.
3. Определяются характеристики каждого элемента/блока конфигурации.
4. Определяются базовые линии, которым принадлежат элементы/блоки конфигурации.
5. Для каждого элемента/блока конфигурации определяется стадия разработки, на которой он помещается в систему управления конфигурацией.
6. Определяется ответственный за каждый элемент/блок конфигурации (т. е. его владелец с точки зрения управления конфигурацией).
Операция 5 Запросы на изменения и отчеты по проблемам для всех элементов/блоков конфигурации регистрируются, рассматриваются, утверждаются и отслеживаются в соответствии с документированной процедурой.
Операция 6 Изменения базовых линий контролируются в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Выполнение проверок и/или регрессионных тестов, позволяющих убедиться, что изменения не вызовут нежелательного влияния на базовую линию.
2. Внесение в библиотеку базовых линий лишь тех элементов/блоков конфигурации, которые были утверждены комиссией SCCB.
3. Внесение и извлечение элементов/блоков конфигурации выполняется таким способом, который не нарушает корректность и целостность библиотеки базовых линий.
Примеры пошаговых действий внесения и извлечения: проверка санкционирования изменений, создание журнала изменений, ведение копий изменений, обновление библиотеки базовых линий, архивирование замененных базовых линий.
Операция 7 Создание продуктов на основе библиотеки базовых линий и контролирование их выпуска в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Комиссия SCCB санкционирует создание продуктов на основе библиотеки базовых линий.
2. Эти продукты, как для внутреннего, так и для внешнего использования, создаются только из тех элементов/блоков конфигурации, которые содержатся в библиотеке базовых линий.
Операция 8 Запись статуса элементов/блоков конфигурации в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Запись действий по управлению конфигурацией производится с детализацией, достаточной для того, чтобы иметь в наличии содержимое и статус всех элементов/блоков конфигурации и возможность восстановить прежние версии.
2. Ведение текущего статуса и истории (т. е. истории изменений и других действий) для всех элементов/блоков конфигурации.
Операция 9 Разработка стандартных отчетов, документирующих операции управления конфигурацией и содержимое базовых линий, и их распространение между задействованными в проекте группами и сотрудниками.
Примеры отчетов:
протоколы совещаний комиссии SCCB,
краткое описание и статус запроса на изменение,
краткое описание и статус отчета о проблемах (включая решения проблем),
краткое описание изменений базовых линий,
история изменений элементов/блоков конфигурации,
статус базовой линии конфигурации,
результаты аудитов базовых линий.
Операция 10 Проведение аудитов базовых линий конфигурации в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. Аудит должен быть подготовлен соответствующим образом.
2. Проводится оценка целостности базовых линий.
3. Проверяется структура и средства библиотечной системы управления конфигурацией.
4. Проверяется полнота и корректность содержимого библиотеки базовых линий.
5. Проверяется соответствие применяемым стандартам и процедурам управления конфигурацией ПО.
6. Группа управления конфигурацией докладывает производственному менеджеру проекта о результатах аудита.
7. Действия, рекомендуемые по результатам аудита, отслеживаются до их завершения.