Текст книги "Модель зрелости процессов разработки программного обеспечения"
Автор книги: Марк Паулк
Соавторы: Сьюзен Гарсия,Чарльз Вебер,Мэри Хриссис,Мерилин Буш,Билл Куртис
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 12 (всего у книги 16 страниц)
Измерения и анализ
Измерение 1. Выполнение измерений и использование их результатов для определения состояния работ по управлению конфигурацией.
Примеры измерений:
количество запросов на изменение, обрабатываемое за единицу времени;
выполнение этапов работ по управлению конфигурацией в сравнении с планом;
объем выполненных работ по управлению конфигурацией и израсходованные при этом ресурсы.
Проверка внедрения
Проверка 1. Регулярная проверка высшим руководством работ по управлению конфигурацией.
Регулярные проверки проводятся высшим руководством для получения своевременной информации о процессе разработки ПО и его понимания на соответствующем уровне абстрагирования. Промежутки времени между проверками должны соответствовать потребностям организации и могут быть длительными, если в организации имеется работающая система оповещения об исключительных ситуациях.
Практики, связанные со стандартным содержанием проверок со стороны высшего руководства, содержатся в описании Проверки № 1 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
Проверка 2. Регулярные и событийные проверки менеджером проекта работ по управлению конфигурацией ПО.
Практики, связанные со стандартным содержанием проверок со стороны руководства проекта, содержатся в описании Проверки № 2 группы ключевых процессов «Отслеживание хода проекта и контроль над ним».
Проверка 3. Регулярный аудит базовых линий, проводимый группой управления конфигурацией ПО в целях проверки их соответствия определяющей документации.
Проверка 4. Проведение группой обеспечения качества проверок и/или аудитов работ и промежуточных продуктов SCM и выполнение отчетов по их результатам.
См. группу ключевых процессов «Обеспечение качества ПО».
Минимальное содержание проверок и/или аудитов:
1. Соответствие стандартам и процедурам управления конфигурацией работы следующих групп:
группы управления конфигурацией ПО, комиссии SCCB,
группы разработки ПО,
других групп, связанных с разработкой ПО.
2. Регулярность проведения аудитов базовых линий конфигурации.
ГЛАВА 9. УРОВЕНЬ 3: ОПРЕДЕЛЕННЫЙ УРОВЕНЬ
9.1. Координация производственного процесса организации
Группа ключевых процессов для уровня 3: определенный уровень
Цель группы ключевых процессов «Координация производственного процесса организации» заключается в установлении организационной сферы ответственности за выполнение мероприятий, совершенствующих общие производственные возможности организации.
Координация производственного процесса организации (ППО) включает в себя достижение и поддержку должного уровня понимания производственных процессов организации и проекта, а также координацию работ по оценке, разработке, сопровождению и усовершенствованию этих процессов.
Организация принимает на себя долгосрочные обязательства и обеспечивает ресурсы для группы (например, для группы инженерии производственного процесса), координирующей разработку и поддержку производственных процессов текущего и будущих проектов. Эта группа несет ответственность за работы, связанные с ППО, в частности за развитие и поддержку стандартного производственного процесса организации (СППО) и связанных с ним основных средств (как это описано в группе ключевых процессов «Определение производственного процесса организации»), а также координирует операции процесса с проектами разработки ПО.
Цели
Цель 1. Координация мероприятий по разработке и усовершенствованию производственного процесса в рамках всей организации.
Цель 2. Выявление преимуществ и недостатков используемых производственных процессов в сравнении со стандартным процессом.
Цель 3. Планирование мероприятий, проводимых на уровне организации в целях разработки и усовершенствования производственного процесса.
Обязательства по выполнению
Обязательство 1. Организация следует документированной политике координирования общекорпоративных мероприятий по разработке и усовершенствованию производственного процесса.
Эта политика обычно состоит из следующих указаний:
1. Создается группа, в сферу ответственности которой входят работы, связанные с ППО, и их координация с проектами.
2. Регулярная оценка производственных процессов, используемых в проектах, проводимая в целях оценки их преимуществ и недостатков.
3. Производственные процессы проектов получаются путем соответствующей адаптации стандартного производственного процесса организации к конкретному проекту.
Практики, связанные с адаптацией СППО, содержатся в описании Операции № 1 группы ключевых процессов «Интегрированное управление разработкой ПО».
4. Информация об усовершенствованиях производственного процесса, инструментов и методов, а также другие полезные сведения по каждому проекту должны быть доступны для остальных проектов.
Обязательство 2. Высшее руководство поддерживает действия организации по разработке и усовершенствованию производственного процесса.
Высшее руководство:
1. Подтверждает перед сотрудниками и менеджерами организации свои обязательства по разработке и усовершенствованию производственного процесса.
2. Устанавливает долгосрочные планы и принимает обязательства по обеспечению этих работ необходимыми финансами, персоналом и другими ресурсами.
3. Устанавливает стратегии управления и реализации действий по разработке и усовершенствованию производственного процесса.
Обязательство 3. Высшее руководство осуществляет надзор за действиями организации по разработке и усовершенствованию производственного процесса.
Высшее руководство:
1. Обеспечивает соответствие СППО бизнес-целям и стратегиям организации.
2. Дает рекомендации по определению приоритетов при разработке и усовершенствовании производственного процесса.
3. Участвует в составлении планов разработки и усовершенствования производственного процесса.
Высшее руководство согласует требования к производственному процессу и связанные с ним вопросы с сотрудниками и менеджерами высших уровней.
Высшее руководство согласует с руководителями организации обеспечение поддержки и участия менеджеров и сотрудников в работах по координации производственного процесса.
Необходимые предпосылки
Предпосылка 1. Необходимо наличие группы, ответственной за работы по координации ППО.
Группа представляет собой совокупность отделов, менеджеров и сотрудников, которые несут ответственность за набор задач или операций. Состав группы может варьироваться от одного или нескольких совместителей из различных отделов до нескольких сотрудников, занятых этой деятельностью полный рабочий день. При формировании группы принимаются соглашения о назначении задач или операций, объему проекта, организационной структуре и культуре взаимоотношений. Некоторые группы, такие как группа обеспечения качества ПО, концентрируются на проектных работах, другие же, как группа инженерии производственного процесса, – на общекорпоративных работах.
1. Ядро группы должно, по возможности, состоять из профессиональных разработчиков, занимающихся задачами группы полный рабочий день. Вспомогательные операции могут выполняться совместителями.
Наиболее общим примером такой группы является группа инженерии производственного процесса (SEPG).
2. Состав группы должен отражать различные области, связанные с разработкой ПО.
Примеры инженерных областей, связанных с разработкой ПО:
анализ требований к ПО,
проектирование архитектуры ПО,
составление кода,
тестирование ПО,
управление конфигурацией ПО,
обеспечение качества ПО.
Предпосылка 2. Работы по координации ППО должны быть обеспечены соответствующими ресурсами и финансированием.
1. Группа должна поддерживаться опытными сотрудниками, компетентными в специализированных областях.
Примеры специализированных областей:
повторное использование ПО,
технология автоматизированной разработки ПО (CASE),
измерения,
разработка учебных курсов.
2. Работы по координации ППО обеспечиваются вспомогательными инструментальными средствами.
Примеры вспомогательных инструментальных средств:
инструменты статистического анализа,
инструменты для подготовки публикаций,
системы управления базами данных,
средства моделирования процессов.
Предпосылка 3. Члены группы, ответственной за работы по координации ППО, должны пройти необходимое обучение для выполнения своих задач.
Примеры тем учебных занятий:
практические методы разработки ПО;
методы контролирования процесса;
управление изменениями в рамках организации;
планирование, управление и мониторинг производственного процесса;
внедрение новых технологий.
См. группу ключевых процессов «Программа обучения».
Предпосылка 4 Члены группы разработки ПО и других смежных групп должны получить ориентацию относительно работ по координации ППО и своих ролей в этих работах.
См. группу ключевых процессов «Программа обучения».
Выполняемые операции
Операция 1. Периодическая оценка производственного процесса и разработка планов действий по результатам оценки.
Оценки обычно проводятся с периодичностью от 1,5 до 3 лет. При проведении оценок рассматриваются все производственные процессы организации, но при этом допускается выборочная оценка областей процессов и проектов.
Примером метода оценки продуктивности ППО может служить метод оценки производственного процесса (Software Process Assessment), разработанный институтом SEI.
План действий определяет следующее:
какие данные, полученные в результате проверки, будут приняты во внимание;
принципы по реализации изменений, вносимых по результатам оценки;
группы или сотрудники, ответственные за реализацию изменений.
Операция 2. Организация составляет и поддерживает план своих действий по разработке и усовершенствованию производственного процесса.
Данный план:
1. Использует в качестве исходных данных планы действий по оценке производственного процесса и других инициатив по усовершенствованию организации.
2. Определяет необходимые мероприятия и график их проведения.
3. Определяет группы и сотрудников, ответственных за эти мероприятия.
4. Определяет необходимые ресурсы, включая персонал и инструментальные средства.
5. Подвергается экспертным оценкам после своего создания или внесения крупных изменений. См. группу ключевых процессов «Экспертные оценки».
6. Проверяется и согласуется производственными менеджерами и руководителями высшего звена.
Операция 3. Мероприятия, проводимые в рамках организации и проектов в целях разработки и усовершенствования производственных процессов, координируются на уровне организации.
Эта координация касается разработки и усовершенствования следующих процессов:
1. Стандартный производственный процесс организации.
Практики, связанные с СППО, содержатся в описании Операций № 1 и 2 группы ключевых процессов «Определение производственного процесса организации».
2. Производственные процессы проекта.
Практики, связанные с производственными процессами проектов, содержатся в описании Операций № 1 и 2 группы ключевых процессов «Интегрированное управление разработкой ПО».
Операция 4. Использование базы данных ППО координируется на уровне организации.
База данных ППО используется для сбора информации о производственных процессах и конечных программных продуктах организации и проектов.
Практики, связанные с базой данных ППО, содержатся в описании
Операции № 5 группы ключевых процессов «Определение производственного процесса организации».
Операция 5. Новые процессы, методы и инструменты, используемые пока еще в ограниченных масштабах, отслеживаются, оцениваются и, по возможности, распространяются по всей организации.
Операция 6. Обучение, касающееся производственных процессов организации и проектов, координируется в масштабе всей организации.
1. Подготавливаются планы обучения по темам, касающимся производственных процессов организации и проектов.
2. Обучение может подготавливаться и проводиться группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса), или группой обучения.
См. группу ключевых процессов «Программа обучения».
Операция 7. Группы, задействованные во внедрении производственных процессов, информируются о мероприятиях по разработке и усовершенствованию процессов, проводимых в рамках организации и проектов.
Примеры способов распространения информации между сотрудниками и их привлечения к участию в мероприятиях:
электронные доски объявлений по производственным процессам,
экспертные комиссии по процессам,
рабочие группы,
совещания по обмену информацией,
обзоры,
группы усовершенствования процессов,
неформальные обсуждения.
Измерения и анализ
Измерение 1. Выполнение измерений и использование их результатов для определения статуса мероприятий по разработке и усовершенствованию производственного процесса организации.
Примеры измерений:
определение объема выполненных работ по оценке, разработке и усовершенствованию производственного процесса и израсходованных при этом ресурсов в сравнении с запланированными значениями;
результаты каждой оценки производственного процесса в сравнении с результатами предыдущих оценок и основанными на них рекомендациями.
Проверка внедрения
Проверка 1. Регулярная проверка высшим руководством выполнения мероприятий по разработке и усовершенствованию производственного процесса.
Регулярные проверки проводятся высшим руководством для получения своевременной информации о производственном процессе и его понимания на соответствующем уровне абстракции. Промежутки времени между проверками должны соответствовать потребностям организации и могут быть длительными, если в организации имеется работающая система оповещения об исключительных ситуациях.
1. Сравнение с планом хода и состояния мероприятий по разработке и усовершенствованию производственного процесса.
2. Изучение конфликтов и проблем, не решаемых на более низких уровнях руководства.
3. Назначение ответственного, проверка корректирующих действий и отслеживание их выполнения.
4. Подготовка итогового отчета по результатам каждой проверки и его распространение среди задействованных групп и сотрудников.
9.2. Определение производственного процесса организации
Группа ключевых процессов для уровня 3: определенный уровень
Цель группы ключевых процессов «Определение производственного процесса организации» заключается в разработке и поддержке практичного набора основных средств производственных процессов, которые улучшают показатели выполнения процессов в различных проектах и в итоге дают организации долгосрочные экономические преимущества.
Определение производственного процесса организации (ППО) включает в себя разработку и поддержку стандартного производственного процесса организации (СППО) и связанных с ним основных средств, таких как описание жизненных циклов ПО, инструкции и критерии для адаптации процессов, база данных ППО и библиотека документации по производственным процессам.
Существуют различные способы сбора этих основных средств, зависящие от конкретной реализации определения ППО в организации. Например, описание жизненных циклов ПО может быть интегральной частью СППО, а отдельные части библиотеки документации по производственным процессам могут храниться в базе данных ППО.
Основные средства ППО используются для разработки, внедрения и сопровождения производственных процессов отдельных проектов. (Практики, связанные с разработкой и сопровождением производственного процесса проекта, описываются в группе ключевых процессов «Интегрированное управление разработкой ПО».)
Цели
Цель 1. Разработка и сопровождение стандартного производственного процесса организации.
Цель 2. Сбор, изучение и распространение информации, связанной с использованием СППО в проектах разработки ПО.
Обязательства по выполнению
Обязательство 1. Организация следует документированной политике разработки и сопровождения СППО и связанных с ним основных средств.
Основные средства ППО:
стандартный производственный процесс организации,
инструкции и критерии для адаптации СППО к конкретному проекту,
утвержденные описания жизненных циклов ПО,
база данных ППО,
библиотека ранее разработанной документации по производственным процессам, доступной для повторного использования.
Эта политика обычно состоит из следующих положений:
1. Для организации должен быть определен стандартный производственный процесс. Основные цели стандартного производственного процесса заключаются в достижении максимальной эффективности совместного использования основных средств и накопленного опыта в различных проектах, а также в том, чтобы на уровне организации определить и собрать воедино стандартный набор количественных оценок процессов из отдельных проектов.
СППО может включать в себя несколько производственных процессов. Эти процессы могут соответствовать требованиям разных приложений, жизненных циклов, методик и инструментов, которые могут компоноваться в проектах различными способами.
2. Производственный процесс проекта является адаптированной версией СППО.
Практики, связанные с адаптацией СППО, содержатся в описании Операции № 1 группы ключевых процессов «Интегрированное управление разработкой ПО».
3. Осуществляется поддержка основных средств ППО. 4. Информация, собранная из различных проектов, организуется и используется для усовершенствования СППО.
Примеры собираемой информации:
измерения, проводимые для оценки процессов и продуктов,
накопленный опыт,
другая документация, имеющая отношение к производственным процессам.
Необходимые предпосылки
Предпосылка 1. Работы по разработке и сопровождению СППО и связанных с ним основных средств должны быть обеспечены соответствующими ресурсами и финансированием.
1. Разработка и сопровождение СППО и связанных с ним основных средств должны выполняться или координироваться группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса).
Практики, связанные с группой, ответственной за работы по координации ППО, содержатся в группе ключевых процессов «Координация производственного процесса организации».
2. Работы по разработке и сопровождению производственного процесса обеспечиваются вспомогательными инструментальными средствами.
Примеры вспомогательных инструментальных средств:
инструментарий для подготовки текстов,
системы управления базами данных,
средства моделирования процессов.
Предпосылка 2. Сотрудники, занятые разработкой и сопровождением СППО и связанных с ним основных средств, должны пройти необходимое обучение для выполнения этих работ.
Примеры тем учебных занятий:
практика и методы разработки ПО,
методы анализа и документирования процессов,
моделирование процессов.
См. группу ключевых процессов «Программа обучения».
Выполняемые операции
Операция 1. Разработка и сопровождение СППО происходит в соответствии с документированной процедурой.
Эта процедура обычно определяет следующее:
1. СППО должен, по мере возможности, соответствовать применяемым в организации политикам разработки, стандартам производственного процесса и продуктов.
2. СППО должен, по мере возможности, соответствовать стандартам производственного процесса и продуктов, налагаемым заказчиками на проекты организации.
3. По мере возможности в СППО должны применяться последние достижения в области средств и методов разработки ПО.
4. Должны быть описаны внутренние интерфейсы процесса между областями разработки ПО.
Примеры областей разработки ПО:
анализ требований к ПО,
проектирование архитектуры ПО,
составление кода,
тестирование ПО,
управление конфигурацией ПО,
обеспечение качества ПО.
5. Должны быть описаны внешние интерфейсы между процессом разработки и процессами других задействованных групп.
Примеры других задействованных групп:
системного проектирования,
системного тестирования,
управления договорами,
управления документацией.
6. Предлагаемые изменения СППО прежде, чем они будут реализованы, документируются, рассматриваются и утверждаются группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса).
Примеры источников изменений:
результаты оценок производственного процесса и рекомендации, сделанные на их основе,
результаты адаптации СППО к конкретному проекту,
результаты мониторинга хода производственных процессов на уровне организации и отдельных проектов,
предложения по изменению, внесенные сотрудниками и менеджерами организации,
проанализированные и интерпретированные данные измерений процесса и продуктов.
7. Планируются, если это необходимо, работы по внесению изменений в производственные процессы текущих проектов.
8. Описание СППО проходит экспертную оценку после своего создания, а также после внесения значительных изменений или дополнений.
См. группу ключевых процессов «Экспертные оценки».
9. Описание СППО помещается в систему управления конфигурацией.
См. группу ключевых процессов «Управление конфигурацией ПО».
Операция 2. СППО документируется в соответствии с установленными стандартами организации.
Эти стандарты обычно определяют следующее:
1. Процесс разбивается на составляющие компоненты такого объема, который позволит понять и описать данный процесс. Каждый элемент процесса соответствует четко определенному и ограниченному набору тесно связанных задач.
Примеры элементов процесса:
элемент оценки ПО,
элемент проектирования архитектуры ПО,
элемент кодирования,
элемент экспертной оценки.
Описания элементов процесса могут представлять собой заполняемые шаблоны, подлежащие завершению фрагменты, абстрактные рассуждения, которые следует уточнить, или же полные описания, которые могут быть изменены при необходимости.
2. Описание каждого элемента процесса содержит ответы на следующие вопросы:
необходимые процедуры, практики, методы и технологии;
применяемые стандарты процессов и продуктов;
распределение ответственности за внедрение процесса;
необходимые инструменты и ресурсы;
исходные данные;
создаваемые промежуточные программные продукты;
промежуточные программные продукты, подлежащие экспертной оценке;
критерии готовности и завершения;
собираемые данные о продукте и процессе.
3. Описание отношений между элементами процесса касается следующих вопросов:
очередность,
интерфейсы,
внутренние зависимости. Отношения между элементами процесса иногда называются архитектурой производственного процесса.
Операция 3. Документирование и сопровождение описаний жизненных циклов ПО, утвержденных для использования в проектах.
Примеры жизненных циклов ПО:
«водопад»,
«водопад» с перекрытием,
«спираль»,
серийный выпуск,
единый прототип/»водопад» с перекрытием.
1. Жизненные циклы ПО должны быть совместимы с СППО.
2. Предлагаемые изменения в описаниях жизненных циклов ПО, прежде чем они будут реализованы, документируются, рассматриваются и утверждаются группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса).
3. Описания жизненных циклов ПО проходят экспертную оценку после своего создания, а также после внесения значительных изменений или дополнений.
См. группу ключевых процессов «Экспертные оценки».
4. Описания жизненных циклов ПО должны быть управляемыми и контролируемыми. «Управляемый и контролируемый» означает, что в любой момент времени (прошлый или настоящий) известна версия используемого промежуточного продукта (т. е. реализован контроль версий), а внесение изменений происходит управляемым образом (т. е. реализовано управление изменениями).
Если желательно реализовать еще большую степень контроля, промежуточный продукт может быть помещен в условия полномасштабного управления конфигурацией, как это описано в группе ключевых процессов «Управление конфигурацией ПО».
Операция 4. Разработка и сопровождение инструкций и критериев для адаптации СППО к конкретному проекту.
1. Инструкции и критерии адаптации касаются следующих вопросов:
выбор и адаптация жизненного цикла ПО для проекта;
адаптация СППО с учетом жизненного цикла ПО и характеристик проекта;
стандарты документирования производственного процесса проекта.
Примеры адаптации:
адаптация процесса к новой линии продуктов или к среде разработки,
настройка процесса для конкретного проекта или класса проектов,
проработка и детализация процесса, позволяющая утвердить конечный производственный процесс проекта.
2. Предлагаемые изменения инструкций и критериев адаптации прежде, чем они будут реализованы, документируются, рассматриваются и утверждаются группой, ответственной за работы по координации ППО (например, группой инженерии производственного процесса).
3. Документы, содержащие инструкции и критерии адаптации, должны быть управляемыми и контролируемыми.
Операция 5. Формирование и сопровождение базы данных производственного процесса организации (ППО).
1. База данных формируется в целях сбора и использования данных по производственным процессам и их промежуточным программным продуктам.
Примеры данных по процессам и промежуточным программным продуктам:
оценки объема ПО,
трудоемкости разработки и затрат;
фактические данные по объему ПО, трудоемкости разработки и затратам;
данные о производительности;
измерения качества ПО;
охват и эффективность экспертных оценок;
охват и эффективность тестирования;
меры по повышению надежности ПО;
количество и серьезность недостатков, обнаруженных в требованиях к ПО;
количество и серьезность дефектов, обнаруженных в программном коде.
2. Информация, введенная в базу данных, проверяется в целях обеспечения целостности содержимого базы. Кроме этих сведений база данных содержит (непосредственно или в виде ссылок) фактические данные измерений и информацию, необходимую для понимания этих данных и оценки их корректности и применимости.
3. База данных ППО должна быть управляемой и контролируемой.
4. В целях обеспечения полноты, целостности и точности информации осуществляется контроль над доступом пользователей к базе данных.
Доступ к базе ограничивается лишь теми сотрудниками, которым необходимо выполнить ввод, изменение, анализ или извлечение данных.
Уязвимые данные должны быть защищены, а доступ к ним должен контролироваться соответствующим образом.
Операция 6. Формирование и сопровождение библиотеки документации по производственным процессам.
Примеры документации по производственным процессам:
описание производственного процесса проекта,
стандарты проекта,
процедуры проекта,
проектные планы разработки ПО,
проектные планы измерений,
учебные материалы по производственному процессу проекта.
1. Перед включением в библиотеку документы рассматриваются, после чего в нее вносятся лишь те из них, которые могут оказаться полезными в будущем.
2. В целях упрощения доступа документы заносятся в каталог.
3. Изменения, вносимые в документы, находящиеся в библиотеке, рассматриваются, после чего содержимое библиотеки обновляется по мере необходимости.
4. Содержимое библиотеки должно быть доступно для использования в проектах, а также для групп, связанных с разработкой ПО.
Примеры групп, связанных с разработкой ПО:
обеспечения качества ПО,
управления конфигурацией ПО,
тестирования ПО,
управления документацией.
5. Использование каждого документа периодически проверяется, а результаты проверки используются для ведения содержимого библиотеки. 6. Содержимое библиотеки должно быть управляемым и контролируемым.