Процессы управления информационными технологиями

CMMI-DEV. Процессные области

Рассматривается первая модель семейства CMMI — CMMI для разработки (CMMI for Development, CMMI-DEV). Показано её наследование от CMM и введение процессных областей как аналога групп ключевых процессов. Основное внимание уделено четырём категориям: управление процессами, управление проектами, инжиниринг и поддержка. Объясняется, зачем нужны категории, какие области в них входят, как они пересекаются с CMM и другими моделями CMMI. На примере управления качеством показано сравнение подходов к обеспечению качества.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Объяснить, что представляет собой CMMI для разработки (CMMI for Development, CMMI-DEV) и как она связана с CMM.
2. Назвать четыре категории процессных областей CMMI-DEV.
3. Привести примеры процессных областей в каждой категории.
4. Сравнить категории по их назначению и составу.
5. Объяснить причины объединения процессных областей в категории.
6. Оценить применимость CMMI-DEV за пределами разработки программного обеспечения.
7. Проанализировать место области управления качеством в структуре CMMI-DEV.
Показывать лекцию целиком
Краткое изложение

Место CMMI-DEV среди моделей CMMI

Первая модель из комплекта моделей CMMI, которую мы рассмотрим, — CMMI для разработки (CMMI for Development, CMMI-DEV). Она во многом наследует модель зрелости процессов (Capability Maturity Model, CMM). С неё удобно начать, чтобы почувствовать переход от CMM к семейству CMMI.

Процессные области и их количество

Процессная область (process area) — это аналог группы ключевых процессов в CMM. В CMMI-DEV перечислены 22 процессные области. Запоминать и анализировать все их не нужно. Для примера рассмотрим одну область, связанную с качеством. Это позволит сравнить подходы к обеспечению качества в ранее изученном стандарте и в CMMI-DEV.

Четыре категории процессных областей

Все процессные области CMMI-DEV разбиты на четыре категории:

Самая понятная категория — управление проектами. В ней встречаются знакомые термины: планирование проекта (Project Planning), мониторинг и контроль проекта (Project Monitoring and Control), управление рисками (Risk Management) и другие.

Категория инжиниринг объединяет практики, связанные с разработкой, проектированием и созданием программного продукта.

Две оставшиеся категории — управление процессами и поддержка — могут быть не так очевидны, но далее им даётся пояснение.

Почему CMMI-DEV не ограничивается программным обеспечением

Важно, что область называется инжиниринг, а не программный инжиниринг. CMMI выросла из CMM, но не ограничивается только разработкой программного обеспечения. По замыслу авторов она может применяться в любом бизнесе и в любой области, связанной с проектированием и разработкой продуктов или услуг, в большей степени продуктов. Поэтому явных ссылок на программное обеспечение нет. Такие термины, как интеграция продукта (Product Integration), разработка требований (Requirements Development), техническое решение (Technical Solution), являются достаточно общими.

Зачем выделены категории

Категории выделены по двум причинам.

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

Во-вторых, категории полезны потому, что разные модели CMMI — например, CMMI для услуг (CMMI for Services, CMMI-SVC) и CMMI для приобретения (CMMI for Acquisition, CMMI-ACQ) — пересекаются по многим процессным областям и целым категориям. Поэтому многие процессные области переходят из одной модели в другую.

Категория «Управление процессами»

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

Категория «Управление проектами»

Управление проектами — самая понятная категория. Она включает:

Если сравнить эти области с CMM, видно много содержательных пересечений. В CMM было управление производственным субподрядом, здесь — управление контрактами на поставку. В CMM было управление требованиями, планирование проектов, мониторинг проектов — и здесь есть эти же области. В CMM не было управления рисками и количественного управления проектами на втором уровне зрелости, потому что они относились к третьему уровню. Но в CMMI-DEV каждая процессная область может находиться на любом уровне.

Поэтому все области, связанные с управлением проектами, сведены в одну категорию — так нагляднее.

Категория «Инжиниринг»

Инжиниринг включает:

Валидация и верификация уже встречались ранее. Процессные области этого типа предназначены для решения тех же задач, что и процессы верификации и валидации в стандарте ISO/IEC 12207. Так разные подходы переплетаются между собой.

Категория «Поддержка»

Поддержка — самая неопределённая категория. В неё сведено всё, что не удалось отнести к остальным трём областям. Здесь находятся:

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

Краткие итоги

Практическая ценность модели определяется не запоминанием перечня процессных областей, а пониманием архитектуры: области группируются по типам управленческих и инженерных задач. Такая группировка позволяет организации выбирать приоритеты улучшения, не смешивая управление процессами, проектами, разработкой и поддерживающими практиками. Категории работают как карта: они показывают, где искать смежные практики, как переносить улучшения между моделями и как избегать локальной оптимизации. Для руководителя это означает возможность настраивать процессы под тип продукта или услуги, а для команды — видеть связь между требованиями, проектированием, проверкой и поддержкой. Особенность CMMI-DEV в том, что она не привязана жёстко к программному обеспечению, поэтому её логика применима в продуктовых и сервисных организациях. Однако универсальность требует осторожности: без адаптации категорий и областей модель может превратиться в формальный набор практик. Наибольший эффект даёт сочетание процессного подхода, измеримости и управления проектами, поскольку именно эти группы создают основу для повторяемости и предсказуемости. Категория поддержки, включая обеспечение качества, играет связующую роль: она не создаёт продукт напрямую, но снижает потери, фиксирует отклонения и поддерживает целостность изменений. Практический вывод: сначала нужно определить цели улучшения, затем выбрать релевантные процессные области из разных категорий, а не внедрять их все одновременно. Такой подход снижает риск бюрократизации и помогает связать требования заинтересованных сторон с реальными инженерными и управленческими практиками. В итоге модель становится инструментом осознанного выбора, а не самоцелью.

Краткий вариант лекции

CMMI для разработки (CMMI for Development, CMMI-DEV) — первая модель семейства CMMI. Она во многом наследует CMM. В CMMI-DEV есть процессные области (process areas) — аналоги групп ключевых процессов CMM. Всего их 22, но запоминать все не нужно. Для примера рассматривается область, связанная с качеством.

Все процессные области делятся на четыре категории: управление процессами (Process Management), управление проектами (Project Management), инжиниринг (Engineering) и поддержка (Support). Управление проектами — самая понятная категория: планирование проекта, мониторинг и контроль, управление рисками и другие. Инжиниринг связан с разработкой, проектированием и созданием продукта. Управление процессами и поддержка требуют пояснения.

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

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

Управление процессами включает определение процессов, управление процессами, управление эффективностью организации, управление эффективностью процессов и обучение в организации. Это активности для процессного подхода.

Управление проектами включает единообразное управление проектами, отслеживание и контроль, планирование, количественное управление на основе метрик, управление требованиями, рисками и контрактами на поставку. Много пересечений с CMM: управление субподрядом, требованиями, планированием, мониторингом. Управление рисками и количественное управление проектами в CMM относились к третьему уровню. В CMMI-DEV каждая область может быть на любом уровне.

Инжиниринг включает сборку продукта, разработку требований, техническое решение, валидацию и верификацию. Эти области решают задачи, аналогичные процессам верификации и валидации в ISO/IEC 12207.

Поддержка — самая неопределённая. В неё вошло то, что не попало в другие категории: управление конфигурациями, измерение и анализ, анализ причин и разрешение проблем, обеспечение качества процессов и продуктов. Обеспечение качества тоже оказалось в поддержке, хотя его можно было бы отнести иначе.

Выводы

1. CMMI-DEV — первая рассматриваемая модель семейства CMMI, во многом наследующая CMM.
2. Процессная область в CMMI-DEV является аналогом группы ключевых процессов CMM.
3. В CMMI-DEV выделяются четыре категории процессных областей.
4. Категории: управление процессами, управление проектами, инжиниринг и поддержка.
5. Управление проектами — наиболее понятная категория с привычными терминами.
6. Инжиниринг объединяет практики разработки, проектирования, верификации и валидации.
7. CMMI-DEV не ограничивается программным обеспечением.
8. Модель может применяться в бизнесе, связанном с продуктами и услугами.
9. Категории нужны для объединения смежных и взаимодействующих областей.
10. Категории облегчают перенос областей между разными моделями CMMI.
11. Поддержка включает управление конфигурациями, измерение, анализ причин и обеспечение качества.
12. Каждая процессная область может находиться на любом уровне зрелости.

Вопросы для самопроверки

1. Что такое процессная область в CMMI-DEV?
2. Какие четыре категории процессных областей выделяются в CMMI-DEV?
3. Почему управление проектами считается самой понятной категорией?
4. Какие процессные области входят в управление проектами?
5. Что общего между областями управления проектами в CMM и CMMI-DEV?
6. Какие области управления проектами появились или были отнесены к третьему уровню в CMM?
7. Что включает категория инжиниринга?
8. Почему категория называется инжиниринг, а не программный инжиниринг?
9. В каких областях CMMI-DEV может применяться, кроме разработки программного обеспечения?
10. Зачем процессные области объединяются в категории?
11. Какие модели CMMI пересекаются по категориям и процессным областям?
12. Какие области попали в категорию поддержки и почему?
Вернуться к учебному плану