Модель зрелости возможностей (CMM) и ее уровни в разработке программного обеспечения
Что такое СММ?
Модель зрелости возможностей используется в качестве эталона для измерения зрелости процесса разработки программного обеспечения в организации.
CMM был разработан в Институте программной инженерии в конце 80-х годов. Он был разработан в результате исследования, профинансированного ВВС США, как способ оценки работы субподрядчиков. Later на основе модели CMM-SW, созданной в 1991 году для оценки зрелости разработки программного обеспечения, с CMM-I интегрировано множество других моделей.
Что такое уровни модели зрелости возможностей (CMM)?
- Начальный
- Повторяемый/управляемый
- Определяемая
- Количественно управляемый
- Оптимизирующий
Что происходит на разных уровнях ШМ?
Уровни | Действия | Преимущества |
---|---|---|
Уровень 1 Начальный |
|
Никто. Проект – это тотальный хаос |
Уровень 2 Управляемый |
|
|
Определен уровень 3 |
|
|
Уровень 4, количественно управляемый |
|
|
Оптимизация уровня 5 |
|
|
Следующая диаграмма дает графическое представление того, что происходит на разных уровнях ШМ.
Сколько времени занимает внедрение ШМ?
CMM — наиболее желательный процесс для поддержания качества продукта для любой компании, занимающейся разработкой программного обеспечения, но его внедрение занимает немного больше времени, чем ожидается.
- Внедрение ШМ не происходит в одночасье
- Это не просто «бумажная работа».
- Типичные сроки внедрения
- 3-6 месяцев -> для подготовки
- 6-12 месяцев -> для реализации
- 3 месяца -> для подготовки к оценке
- 12 месяца ->за каждый новый уровень
Внутренняя структура ШМ
Каждый уровень в CMM определяется как ключевая область процесса или KPA, кроме уровня-1. Каждый KPA определяет кластер связанных действий, которые при коллективном выполнении достигают ряда целей, которые считаются жизненно важными для улучшения возможностей программного обеспечения.
Для разных уровней ШМ существует набор KPA, например, для модели ШМ-2 KPA
- REQM- Управление требованиями
- ПП-Планирование проекта
- PMC- Мониторинг и контроль проекта
- SAM – Управление соглашениями с поставщиками
- PPQA-процесс и обеспечение качества
- CM-Управление конфигурацией
Аналогично, для других моделей КИМ имеются определенные KPA. Чтобы узнать, является ли реализация КПД эффективной, продолжительной и повторяемой, ее сопоставляют на следующей основе:
- Обязательство выполнять
- Способность выполнять
- Действия выполняют
- Измерение и анализ
- Проверка реализации
Ограничения моделей КИМ
- CMM определяет, на что должен быть направлен процесс, а не как его следует реализовать.
- Он не объясняет все возможности улучшения процесса разработки программного обеспечения.
- Он концентрируется на вопросах программного обеспечения, но не рассматривает стратегическое бизнес-планирование, внедрение технологий, создание линейки продуктов и управление человеческими ресурсами.
- Он не говорит о том, каким бизнесом должна заниматься организация.
- ШМ бесполезен в проекте, который сейчас находится в кризисе
Зачем использовать ШМ?
Сегодня CMM действует как «знак одобрения» в индустрии программного обеспечения. Это помогает различными способами улучшить качество программного обеспечения.
- Он ведет к повторяемому стандартному процессу и, следовательно, сокращает время обучения тому, как добиться цели.
- Практика CMM означает применение стандартного протокола разработки, что означает, что это не только помогает команде сэкономить время, но и дает четкое представление о том, что делать и чего ожидать.
- Качественные мероприятия хорошо сочетаются с проектом, а не рассматриваются как отдельное мероприятие.
- Он действует как связующее звено между проектом и командой.
- Усилия ШМ всегда направлены на улучшение процесса.
Итого
ШМ была впервые внедрена в конце 80-х годов в ВВС США для оценки работы субподрядчиков. Later в улучшенной версии было реализовано отслеживание качества системы разработки программного обеспечения.
Весь уровень CMM разделен на пять уровней.
- Level 1 (Начальный): Когда требования к системе обычно неопределенны, неправильно поняты и неконтролируемы. Обычно этот процесс носит хаотичный и спонтанный характер.
- Level 2 (Управляемый): оценка стоимости, графика и функциональности проекта. Стандарты программного обеспечения определены
- Level 3 (Определено): гарантирует, что продукт соответствует требованиям и предназначению.
- Level 4 (Количественное управление): статистически управляет процессами и подпроцессами проекта.
- Level 5 (Зрелость): определение и внедрение новых инструментов и улучшений процессов для удовлетворения потребностей и бизнес-целей.