Марк Паулк - Модель зрелости процессов разработки программного обеспечения
Группы внешней оценки могут использовать СММ для выявления рисков, связанных с выбором различных подрядчиков, и отслеживания выполнения договоров.
Менеджеры и технические сотрудники с помощью СММ могут изучить действия по планированию и реализации программы усовершенствования производственного процесса своей организации.
Группы, связанные с усовершенствованием процесса (например, группа инженерии производственного процесса), могут использовать СММ в качестве руководства по определению и усовершенствованию производственного процесса организации.
Из-за разнообразия способов своего использования модель СММ должна быть разбита на части, позволяющие вывести рекомендации для конкретного процесса, исходя из структуры уровней зрелости. Такое разбиение также обозначает процессы и их структуру, характеризующие зрелость производственного процесса и его продуктивность.
3.1. Внутренняя структура описания уровней зрелости
Каждое описание уровней зрелости разбивается на составные части. Разбиение каждого уровня зрелости, кроме первого, варьируется от кратких обзоров уровня до его рабочего определения в ключевых практиках, как показано на рис. 3.1. Описание каждого уровня зрелости состоит из нескольких групп ключевых процессов. Каждая группа ключевых процессов разбита на пять разделов. В разделах приводятся ключевые практики, при совместном выполнении которых достигаются цели группы ключевых процессов.
Рис. 3.1. Структура CMM
3.2. Уровни зрелости
Уровень зрелости представляет собой четко определенную стадию эволюции организации на пути к зрелому производственному процессу, соответствует уровню продуктивности производственного процесса, как это проиллюстрировано на рис. 2.1. Например, при переходе на уровень 2 характер производственного процесса меняется с уникального на упорядоченный, благодаря созданию слаженной системы средств управления проектом.
3.3. Группы ключевых процессов
Каждый уровень зрелости, кроме первого, состоит из нескольких групп ключевых процессов, указывающих на области концентрации усилий по совершенствованию производственного процесса организации. Группы ключевых процессов определяют круг проблем, которые необходимо решить для достижения следующего уровня зрелости.
Каждая группа ключевых процессов определяет блок связанных работ, после выполнения которых достигается совокупность целей, значимых для повышения продуктивности производственного процесса. Группы ключевых процессов определяются таким образом, что они целиком входят в один уровень зрелости, как показано на рис. 3.2. Способ достижения целей группы ключевых процессов может различаться от проекта к проекту в зависимости от различий в предметной области или среде, однако все эти цели являются обязательными для организации. После того, как эти цели будут реализованы на постоянной основе для всех проектов, можно будет сказать, что организация установила уровень продуктивности своего производственного процесса, характеризующийся данной группой ключевых процессов.
Прилагательное «ключевые» подразумевает, что существуют процессы и группы процессов, которые не являются ключевыми для достижения уровня зрелости. Модель СММ не описывает подробно все группы процессов, касающиеся разработки и сопровождения ПО. В ней описаны лишь те группы, которые определены в качестве ключевых определяющих факторов продуктивности производственного процесса.
Хотя производительность процесса зависит от многих факторов, группы ключевых процессов выделяются по своей эффективности в повышении продуктивности производственного процесса организации. Их можно рассматривать, как требования для достижения уровня зрелости. На рис. 3.2 показаны группы ключевых процессов для каждого уровня. Для достижения определенного уровня зрелости необходимо реализовать соответствующие группы ключевых процессов, для чего, в свою очередь, требуется достижение всех целей соответствующих групп. Цели подытоживают ключевые практики группы и могут служить критерием эффективной реализации группы ключевых процессов в организации. Они выражают объем, границы и смысл каждой группы ключевых процессов (Список целей каждой группы ключевых процессов приводится в Приложении).
Рис. 3.2. Распределение групп ключевых процессов по уровням зрелости
Конкретные практики, подлежащие выполнению в каждой группе ключевых процессов, эволюционируют по мере достижения организацией более высоких уровней зрелости. Например, многие средства оценки проекта, описанные в группе ключевых процессов «Планирование проекта» на уровне 2, должны быть модернизированы для обработки дополнительных данных по проекту, доступных на уровнях 3–5. «Интегрированное управление разработкой ПО» на уровне 3 является развитием групп «Планирование проекта» и «Отслеживание хода проекта и контроль над ним» уровня 2, поскольку управление проектом осуществляется с использованием определенного производственного процесса.
Группы ключевых процессов модели СММ представляют единый способ описания развития организаций. Эти группы были определены на основании многолетнего опыта управления разработкой ПО, а также пятилетнего опыта в проведении внутренних и внешних оценок производственного процесса.
Группы ключевых процессов уровня 2 связаны в основном с вопросами создания основных средств управления проектом. Ниже приводятся описания всех групп ключевых процессов уровня 2.
Цель группы ключевых процессов «Управление требованиями» — согласование требований, выдвигаемых к проекту разработки ПО заказчиком и разработчиком. Это соглашение с заказчиком является основой для планирования (группа ключевых процессов «Планирование проекта») проекта разработки и управления им (группа «Отслеживание хода проекта и контроль над ним»). Контроль над взаимоотношениями с заказчиком зависит от эффективности последующего процесса управления изменениями (группа «Управление конфигурацией ПО»).
Цель группы ключевых процессов «Планирование проекта» — создание обоснованных планов разработки ПО и управления выполнением проекта разработки. Эти планы формируют необходимую основу для управления проектом (группа «Отслеживание хода проекта и контроль над ним»). Без реалистичных планов невозможно эффективно управлять проектом.
Цель группы ключевых процессов «Отслеживание хода проекта и контроль над ним» — обеспечение адекватного обзора фактического выполнения проекта, позволяя руководству предпринимать эффективные меры при значительном отклонении хода проекта от планов разработки.
Цель группы ключевых процессов «Управление производственным субподрядом» — выбор квалифицированных производственных субподрядчиков и эффективное управление ими. Она объединяет аспекты групп «Управление требованиями», «Планирование проекта» и «Отслеживание хода проекта и контроль над ним», касающиеся создания основного инструмента управления, описывает необходимую координацию с процессами из групп «Обеспечение качества ПО» и «Управление конфигурацией ПО» и применяет этот инструмент по отношению к субподрядчику.
Цель группы ключевых процессов «Обеспечение качества ПО» заключается в том, чтобы дать руководству адекватное представление о ходе процесса разработки и о создаваемых продуктах. Обеспечение качества ПО является неотъемлемой частью большинства процессов, связанных с инженерией разработки и управлением ею.
Цель группы ключевых процессов «Управление конфигурацией ПО» — обеспечение целостности продуктов проекта разработки ПО в течение всего жизненного цикла проекта. Управление конфигурацией ПО является неотъемлемой частью большинства процессов, связанных с инженерией разработки и управлением ею.
Группы ключевых процессов уровня 3 связаны с вопросами, касающимися как отдельного проекта, так и организации в целом, поскольку организация внедряет инфраструктуру, устанавливающую эффективные процессы разработки ПО и управления для всех проектов. Ниже приводятся описания всех групп ключевых процессов уровня 3.
Цель группы ключевых процессов «Координация производственного процесса организации» — установление организационной сферы ответственности за выполнение мероприятий, совершенствующих общие производственные возможности организации. Основным результатом работ этой группы является набор основных средств производственного процесса, описанных в группе ключевых процессов «Определение производственного процесса организации». Эти основные средства затем используются в проектах разработки (группа «Интегрированное управление разработкой ПО»).