Поделиться через


Сведения о CMMI

Нормативное руководство по CMMI для разработчиков опубликовано институтом Software Engineering Institute под названием "CMMI: Guidelines for Process Integration and Product Improvement" (CMMI: рекомендации по интеграции процессов и улучшению продукта). В этой работе подробно описана модель CMMI для разработки (CMMI-DEV) версии 1.3, представляющая собой одну из моделей в составе пакета продуктов CMMI на момент написания этой статьи. Эта модель отличается высокой стабильностью и, вероятно, сохранит свою актуальность надолго. Существует еще одна полезная и доступная работа по этой теме — "CMMI Distilled: A Practical Introduction to Integrated Process Improvement". Подробнее об этих книгах см. в разделе Дополнительные ресурсы далее в этой статье.

Набор моделей CMMI появился в 1987 году как развитие методологии CMM (Capability Maturity Model, модель зрелости процессов создания ПО), которая разрабатывалась научно-исследовательским центром Software Engineering Institute в университете Карнеги-Меллона. Этот центр был создан и финансировался на средства Министерства обороны США. Модель CMM for Software была впервые опубликована в 1991 году и основана на контрольном списке критически важных факторов успеха проектов по разработке программного обеспечения в конце 70-х и начале 80-х годов. Значительный вклад в развитие модели внесли специалисты по научным исследованиям корпорации IBM и ведущие эксперты по контролю качества 20-го века Филипп Кросби (Philip Crosby) и У. Эдвард Деминг (W. Edwards Deming). Модель зрелости производственных процессов (Manufacturing Maturity Model), созданная Кросби, легла в основу пяти уровней поэтапного представления (см. далее в этой статье) и дала имя модели зрелости процессов создания ПО (Capability Maturity Model). Модель CMM использовалась в основном при реализации оборонных программ, прошла несколько редакций и итераций и теперь имеет довольно широкую область применения. Успех модели привел к разработке моделей CMM для других сфер деятельности, не связанных с программным обеспечением. Увеличение числа моделей вызывало путаницу, поэтому правительство профинансировало двухлетний проект с участием более 200 экспертов из области промышленности и науки с целью создания единой расширяемой платформы, способной интегрировать системное проектирование, программное проектирование и разработку продуктов. В результате был создан набор моделей CMMI.

Прежде всего, необходимо уяснить, что CMMI-DEV — это модель. Это не процедура или инструкция к действию. Это набор организационных поведений, которые доказали свою эффективность при разработке программного обеспечения и системном проектировании. Зачем использовать эту модель? Какова ее цель? Как лучше ее использовать? Это важнейшие вопросы о CMMI, вызывающие больше всего споров.

Зачем использовать эту модель?

Отсутствие модели, характеризующей работу организации, необходимые функции и их взаимодействие в организации, не позволяет принимать меры по оптимизации деятельности. Модель позволяет получить представление об отдельных элементах организации, сформулировать терминологию и организовать обсуждение аспектов, требующих улучшения, и способов улучшения. Модель обеспечивает следующие преимущества:

  • предоставляет общую платформу и язык для взаимодействия;

  • основана на многолетнем опыте;

  • помогает пользователям получить общее представление о происходящем, сконцентрировавшись на улучшении процессов;

  • пользуется поддержкой инструкторов и консультантов;

  • может служить стандартом для разрешения противоречий.

Каково назначение модели CMMI?

В учебнике говорится, что целью модели является оценка зрелости процессов в организации и предоставление инструкций по усовершенствованию процессов, что позволит улучшить создаваемые продукты. Специалисты института Software Engineering Institute, скорее всего, скажут, что CMMI — это модель управления рисками, характеризующая способность организации управлять рисками. Реализация этой модели в организации свидетельствует о ее способности выполнять свои обязательства и поставлять продукты высокого качества, пользующиеся спросом на рынке. Эту модель можно рассматривать и в качестве своеобразного индикатора эффективности организации в стрессовой ситуации. Зрелая организация с развитыми возможностями спокойно встретит неожиданные, стрессовые события, грамотно отреагирует на них, внесет необходимые изменения в свою деятельность и продолжит свое развитие. Незрелая организация с ограниченными возможностями в условиях стресса впадет в панику, попытается следовать устаревшим процедурам или вообще погрузится в хаос, не пытаясь как-либо структурировать свою деятельность.

Эффективность модели CMMI как индикатора экономической эффективности организации не доказана. Несмотря на то что более зрелые организации могут эффективнее управлять рисками и их деятельность более предсказуема, среди зрелых компаний наблюдается тенденция уклонения от риска. Подобная стратегия мешает реализации инноваций и ведет к усилению бюрократизма в организации, что, в свою очередь, замедляет вывод продукции на рынок и снижает конкурентоспособность. Менее зрелые компании отличаются большей инновационностью и творческим подходом, однако их деятельность часто хаотична и непредсказуема. Зачастую положительные результаты таких компаний становятся возможными в результате неимоверных усилий отдельных сотрудников или менеджеров.

Как лучше использовать модель CMMI?

Эта модель предназначена для использования в качестве основы в ходе оптимизации процессов и в качестве вспомогательной системы для измерения параметров улучшения на этапе оценки. С этой целью модель используется с переменным успехом. Очень часто эту модель ошибочно расценивают как определение процесса и пытаются следовать ей, вместо того чтобы использовать ее в качестве карты пробелов в существующих процессах, которые требуют заполнения. Основным компонентом модели CMMI является область процессов, определяющая цели и действия для их достижения. В качестве примера области процесса можно привести контроль качества процессов и продуктов. Другой областью является управление конфигурацией. Важно понимать, что область процесса не является процессом. Один процесс может пересекаться с несколькими областями процесса, а одна область процесса может включать несколько процессов.

По сути, CMMI-DEV — это две модели, имеющие одни и те же базовые элементы. Один из них (наиболее известный) — это поэтапное представление, позволяющее представить 22 области процесса на одном из пяти уровней зрелости организации. В ходе оценки организации определяется уровень ее работы, который характеризует способность организации управлять рисками и, следовательно, выполнять взятые на себя обязательства.

Поэтапное представление CMMI

Уровни 4 и 5 называют уровнями высокой зрелости. Как правило, различия между зрелыми организациями, реализующими стратегии количественного управления и оптимизации, и незрелыми организациями с неэффективной системой управления и следованием заранее определенным процедурам, очевидны. Деятельность зрелых организаций отличается низкой вариативностью процессов и характеризуется использованием ключевых показателей в рамках реализации статистически оправданного метода управления. Следовательно, более зрелые организации отличаются большей предсказуемостью и более высокой скоростью реагирования на новую информацию (при отсутствии бюрократических механизмов, затормаживающих процесс). Менее зрелые организации бросают на борьбу с экстренными ситуациями все силы, в то время как более зрелые слепо следуют устоявшимся процедурам и не всегда могут понять, что изменение некоторых процедур станет более адекватным ответом на сложившуюся ситуацию.

Вторым базовым элементом является непрерывное представление, моделирующее возможности процессов внутри каждой из 22 областей процесса отдельно. Это позволяет организации скорректировать меры по совершенствованию деятельности в соответствии с процессами, приносящими наибольшую коммерческую выгоду. Это представление больше соответствует оригинальной модели Кросби. Оценка деятельности организации по этой модели позволяет получить профили возможностей, а не отдельные количественные показатели. Поскольку большинство менеджеров и руководителей понимают, на каком уровне зрелости находится организация, существуют способы сопоставления результатов непрерывной оценки модели пяти уровням зрелости.

Непрерывное представление CMMI

Использование поэтапной модели в качестве основы программы оптимизации процессов имеет свои недостатки, так как в этом случае легко забыть, что CMMI — это не модель процессов, а описание целей, которые должны быть достигнуты в результате этих процессов. Достижение этих целей повышает зрелость организации и вероятность развития событий в соответствии с планом. Вероятно, самой большой ошибкой станет постановка цели достичь определенного уровня с последующей разработкой процессов и инфраструктуры исключительно для того, чтобы успешно пройти сертификацию. Целью любых мер по совершенствованию процессов должно стать измеримое улучшение, а не абстрактное число.

Модель непрерывного представления успешнее используется в качестве руководства по совершенствованию процессов, и некоторые консалтинговые компании предпочитают работать исключительно с этой моделью. Очевидное различие заключается в том, что программа совершенствования процессов, созданная на основе модели непрерывного представления, не предполагает постановки "искусственных" целей, определяемых уровнями зрелости. Кроме того, эту модель удобнее использовать для совершенствования процессов в областях, способных обеспечить экономическую эффективность для организации. Следовательно, вероятность успешного применения модели CMMI выше в тех организациях, которые выбирают модель непрерывного представления. Кроме того, положительный результат часто способствует развитию эффективного цикла усовершенствований.

Элементы модели CMMI

Модель CMMI включает 22 области процесса, перечисленные в таблице ниже.

Сокращение

Область процесса

CAR

Анализ и разрешение причин

CM

Управление конфигурацией

DAR

Анализ и разрешение решений

IPM

Интегрированное управление проектами

MA

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

OID

Организационные инновации и развертывание

OPD

Определение организационных процессов

OPF

Фокус организационных процессов

OPP

Производительность организационных процессов

OT

Обучение организации

PI

Интеграция продуктов

PMC

Мониторинг и контроль проектов

PP

Планирование проектов

PPQA

Контроль качества процессов и продуктов

QPM

Количественное управление проектами

RD

Определение требований

REQM

Управление требованиями

RSKM

Управление рисками

SAM

Управление соглашениями с поставщиками

TS

Техническое решение

VER

Проверка

VAL

Проверка

В модели поэтапного представления области процессов сопоставляются каждому этапу, как показано на рисунке ниже.

Пошаговое представление, показывающее области обработки

В модели непрерывного представления области процессов сопоставляются функциональным группам, как показано на рисунке ниже.

Непрерывное представление, показывающее области обработки

Каждая область процесса состоит из необходимых, ожидаемых и информативных компонентов. Сертификация по модели фактически требует наличия только необходимых компонентов. Необходимые компоненты — это конкретные и общие цели каждой области процесса. Ожидаемые компоненты — это конкретные и общие рекомендации по достижению каждой конкретной или общей цели. Обратите внимание, что ожидаемый компонент является не обязательным, а ожидаемым, т. е. любая конкретная или общая рекомендация может быть заменена на эквивалентную. Ожидаемые рекомендации облегчают работу специалистов по реализации и оценке. Если выбирается альтернативная рекомендация, специалист по реализации должен сообщить об этом специалисту по оценке и обосновать выбор. Информативные компоненты содержат подробные сведения, позволяющие специалистам по реализации запустить проект по совершенствованию процессов на основе модели CMMI. Они содержат дополнительные общие и конкретные рекомендации и типичные результаты работы.

Очень важно понять, что необходимыми являются только общие и конкретные цели. Все остальное предоставляется в качестве рекомендаций. Примеры ожидаемых и информативных компонентов, встречающиеся в литературе по модели CMMI, часто взяты из крупных интеграционных проектов в аэрокосмической и оборонной отраслях. Эти проекты реализуются компаниями, финансирующими и поддерживающими Software Engineering Institute в университете Карнеги-Меллона. Они не всегда соответствуют реализуемым в коммерческих компаниях проектам и не всегда отражают последние тенденции в отрасли (например, появление методов гибкой разработки программного обеспечения).

Дополнительные ресурсы

Дополнительные сведения см. на следующих веб-ресурсах:

См. также

Основные понятия

MSF for CMMI Process Improvement для Visual Studio ALM