Сведения о CMMI
Нормативное руководство по CMMI для разработчиков опубликовано институтом Software Engineering Institute под названием "CMMI: Guidelines for Process Integration and Product Improvement." В этой работе подробно описана интеграция CMMI для разработки (CMMI-DEV) версии 1.2, представляющая собой одну из моделей в составе пакета продуктов CMMI на момент создания этого материала. Данная модель отличается высокой стабильностью и, вероятно, сохранит свою актуальность надолго. Существует еще одна полезная и доступная работа по этой теме — "CMMI Distilled: A Practical Introduction to Integrated Process Improvement". Дополнительные сведения об этих книгах см. в подразделе Дополнительные ресурсы далее в этом разделе.
CMMI появилась в 1987 году как развитие методологии CMM, которая разрабатывалась научно-исследовательским центром Software Engineering Institute в университете Карнеги-Меллона. Этот центр был создан и финансировался на средства Министерства обороны США. Модель CMM for Software была впервые опубликована в 1991 году и основана на контрольном списке критически важных факторов успеха проектов по разработке программного обеспечения в конце 70-х и начале 80-х годов. Значительный вклад в развитие модели внесли специалисты по научным исследованиям корпорации IBM и ведущие эксперты по контролю качества 20-го века Филипп Кросби и У. Эдвард Деминг. Модель зрелости производственных процессов (Manufacturing Maturity Model), созданная Кросби, легла в основу пяти уровней поэтапного представления (см. далее в этом разделе) и дала имя модели зрелости процессов создания ПО (Capability Maturity Model). CMM использовалась в основном при реализации оборонных программ, прошла несколько редакций и итераций и теперь имеет довольно широкую область применения. Успех модели привел к разработке моделей CMM для других сфер деятельности, не связанных с программным обеспечением. Увеличение числа моделей вызывало путаницу, поэтому правительство профинансировало двухлетний проект с участием более 200 экспертов из области промышленности и науки с целью создания единой, расширяемой платформы, способно интегрировать системное проектирование, программное проектирование и разработку продуктов. В результате была создана модель CMMI.
Прежде всего, необходимо уяснить, что CMMI-DEV — это модель. Это не процедура или инструкция к действию. Это набор организационных поведений доказанной эффективности при разработке программного обеспечения и системном проектировании. Зачем использовать эту модель? Какова ее цель? Как лучше ее использовать? Это важнейшие вопросы о CMMI, вызывающие больше всего споров.
В этом разделе
Зачем использовать эту модель?
Каково назначение модели CMMI?
Как лучше использовать модель CMMI?
Элементы модели CMMI
Дополнительные ресурсы
Зачем использовать эту модель?
Отсутствие модели, характеризующей работу организации, необходимые функции и их взаимодействие в организации, не позволяет принимать меры по оптимизации деятельности. Модель позволяет получить представление об отдельных элементах организации, сформулировать терминологию и организовать обсуждение аспектов, требующих улучшения, и способов улучшения. Данная модель обеспечивает следующие преимущества.
Предоставляет общую платформу и язык для взаимодействия.
Основана на многолетнем опыте.
Помогает пользователям получить общее представление о происходящем, сконцентрировавшись на улучшении процессов.
Пользуется поддержкой тренеров и консультантов.
Может служить стандартом для разрешения противоречий.
Каково назначение модели CMMI?
В учебнике говорится, что целью модели является оценка зрелости процессов организации и предоставление инструкций по усовершенствованию процессов, что позволит улучшить создаваемые продукты. Специалисты института Software Engineering Institute, скорее всего, скажут, что CMMI — это модель управления рисками, характеризующая способность организации управлять рисками. Реализация этой модели в организации свидетельствует о ее способности выполнять свои обязательства и поставлять продукты высокого качества, пользующиеся спросом на рынке. Эту модель можно рассматривать и в качестве своеобразного индикатора эффективности организации в стрессовой ситуации. Зрелая организация с развитыми возможностями спокойно встретит неожиданные, стрессовые события, грамотно отреагирует на них, внесет необходимые изменения в свою деятельность и продолжит свое развитие. Незрелая организация с ограниченными возможностями в условиях стресса впадет в панику, попытается следовать устаревшим процедурам или вообще погрузится в хаос, не пытаясь как-либо структурировать свою деятельность.
Эффективность модели CMMI как индикатора экономической эффективности организации не доказана. Несмотря на то что более зрелые организации могут эффективнее управлять рисками и их деятельность более предсказуема, среди зрелых компаний наблюдается тенденция уклонения от риска. Подобная стратегия мешает реализации инноваций и ведет к усилению бюрократизма в организации, что, в свою очередь, замедляет вывод продукции на рынок и снижает конкурентоспособность. Менее зрелые компании отличаются большей инновационностью и творческим подходом, однако их деятельность часто хаотична и непредсказуема. Зачастую положительные результаты таких компаний становятся возможными в результате неимоверных усилий отдельных сотрудников или менеджеров.
Как лучше использовать модель CMMI?
Эта модель предназначена для использования в качестве основы в ходе оптимизации процессов и в качестве вспомогательной системы для измерения параметров улучшения на этапе оценки. С этой целью модель используется с переменным успехом. Очень часто эту модель ошибочно расценивают как определение процесса и пытаются следовать ей, вместо того чтобы использовать ее в качестве карты пробелов в существующих процессах, которые требуют заполнения. Основным компонентом модели CMMI является область процессов, определяющая цели и действия для их достижения. В качестве примера области процесса можно привести контроль качества процессов и продуктов. Другой областью процесса является управление конфигурацией. Важно понимать, что область процесса не является процессом. Один процесс может пересекаться с несколькими областями процесса, а одна область процесса может включать несколько процессов.
По сути, CMMI-DEV — это две модели, имеющие одни и те же базовые элементы. Один из них (наиболее известный) — это поэтапное представление, позволяющее представить 22 области процесса на одном из пяти уровней зрелости организации. В ходе оценки организации определяется уровень ее работы, который характеризует способность организации управлять рисками и, следовательно, выполнять взятые на себя обязательства.
Уровни 4 и 5 называют уровнями высокой зрелости. Как правило, различия между зрелыми организациями, реализующими стратегии количественного управления и оптимизации, и незрелыми организациями с неэффективной системой управления и следованием заранее определенным процедурам, очевидны. Деятельность зрелых организаций отличается низкой вариативностью процессов и характеризуется использованием ключевых показателей в рамках реализации статистически оправданного метода управления. Следовательно, более зрелые организации отличаются большей предсказуемостью и более высокой скоростью реагирования на новую информацию (при отсутствии бюрократических механизмов, затормаживающих процесс). Менее зрелые организации бросают на борьбу с экстренными ситуациями все силы, в то время как более зрелые слепо следуют устоявшимся процедурам и не всегда могут понять, что изменение некоторых процедур станет более адекватным ответом на сложившуюся ситуацию.
Вторым базовым элементом является непрерывное представление, моделирующее возможности процессов внутри каждой из 22 областей процесса отдельно. Это позволяет организации скорректировать меры по совершенствованию деятельности в соответствии с процессами, приносящими наибольшую коммерческую выгоду. Это представление больше соответствует оригинальной модели Кросби. Оценка деятельности организации по этой модели позволяет получить профили возможностей, а не отдельные количественные показатели. Поскольку большинство менеджеров и руководителей понимают, на каком уровне зрелости находится организация, существуют способы сопоставления результатов непрерывной оценки модели пяти уровням зрелости.
Использование поэтапной модели в качестве основы программы оптимизации процессов имеет свои недостатки, так как в этом случае легко забыть, что CMMI — это не модель процессов или рабочих процессов, а описание целей, которые должны быть достигнуты в результате этих процессов. Достижение этих целей повышает зрелость организации и вероятность развития событий в соответствии с планом. Вероятно, самой большой ошибкой станет постановка цели достичь определенного уровня с последующей разработкой процессов и инфраструктуры исключительно для того, чтобы успешно пройти сертификацию. Целью любых мер по совершенствованию процессов должно стать измеримое улучшение, а не абстрактное число.
Модель непрерывного представления успешнее используется в качестве руководства по совершенствованию процессов, и некоторые консалтинговые компании предпочитают работать исключительно с этой моделью. Очевидное различие заключается в том, что программа совершенствования процессов, созданная на основе модели непрерывного представления, не предполагает постановки "искусственных" целей, определяемых уровнями зрелости. Кроме того, эту модель удобнее использовать для совершенствования процессов в областях, способных обеспечить экономическую эффективность для организации. Следовательно, вероятность успешного применения модели CMMI больше в тех организациях, которые выбирают модель непрерывного представления. Кроме того, положительный результат часто способствует развитию эффективного цикла усовершенствований.
Элементы модели CMMI
Модель CMMI включает 22 области процесса, перечисленные в следующей таблице.
Акроним |
Область процесса |
---|---|
CAR |
Анализ и разрешение причин |
CM |
Управление конфигурацией |
DAR |
Анализ и разрешение решений |
IPM |
Интегрированное управление проектами |
MA |
Измерения и анализ |
OID |
Организационные инновации и развертывание |
OPD |
Определение организационных процессов |
OPF |
Фокус организационных процессов |
OPP |
Производительность организационных процессов |
OT |
Organizational Training |
PI |
Интеграция продуктов |
PMC |
Мониторинг и контроль проектов |
PP |
Планирование проектов |
PPQA |
Контроль качества процессов и продуктов |
QPM |
Количественное управление проектами |
RD |
Определение требований |
REQM |
Управление требованиями |
RSKM |
Управление рисками |
SAM |
Управление соглашениями с поставщиками |
TS |
Техническое решение |
VER |
Проверка |
VAL |
Проверка |
В модели поэтапного представления области процессов сопоставляются каждому этапу, как показано на следующем рисунке.
В модели непрерывного представления области процессов сопоставляются функциональным группам, как показано на следующем рисунке.
Каждая область процесса состоит из необходимых, ожидаемых и информативных компонентов. Сертификация по модели фактически требует только наличия необходимых компонентов. Необходимые компоненты — это конкретные и общие цели каждой области процесса. Ожидаемые компоненты — это конкретные и общие рекомендации по достижению каждой конкретной или общей цели. Обратите внимание, что ожидаемый компонент является не обязательным, а ожидаемым, т. е. любая конкретная или общая рекомендация может быть заменена на эквивалентную. Ожидаемые рекомендации облегчают работу специалистов по реализации и оценке. Если выбирается альтернативная рекомендация, специалист по реализации должен сообщить об этом специалисту по оценке и обосновать выбор. Информационные компоненты содержат подробные сведения, позволяющие специалистам по реализации запустить проект по совершенствованию процессов на основе модели CMMI. Информативные компоненты содержат дополнительные общие и конкретные рекомендации и типичные результаты работы.
Очень важно понять, что необходимыми являются только общие и конкретные цели. Все остальное предоставляется в качестве рекомендаций. Примеры ожидаемых и информативных компонентов, встречающиеся в литературе по модели CMMI, часто взяты из крупных интеграционных проектов в аэрокосмической и оборонной отраслях. Эти проекты реализуются компаниями, финансирующими и поддерживающими Software Engineering Institute в университете Карнеги-Меллона. Эти проекты не всегда соответствуют реализуемым в коммерческих компаниях проектам и не всегда отражают последние тенденции в отрасли (например, появление методов гибкой разработки программного обеспечения).
Дополнительные ресурсы
Дополнительные сведения см. на следующих веб-ресурсах:
CMMI: Guidelines for Process Integration and Product Improvement (2nd Edition), Mary Beth Chrissis, Mike Konrad, and Sandy Shrum; Addison-Wesley Professional, 2006.
CMMI Distilled: A Practical Introduction to Integrated Process Improvement (3rd Edition), Dennis M. Ahren, Aaron Clause, and Richard Turner; Addison-Wesley Professional, 2008.