Модель зрелости возможностей (CMM) и ее уровни в разработке программного обеспечения

Что такое СММ?

Модель зрелости возможностей используется в качестве эталона для измерения зрелости процесса разработки программного обеспечения в организации.

CMM был разработан в Институте программной инженерии в конце 80-х годов. Он был разработан в результате исследования, профинансированного ВВС США, как способ оценки работы субподрядчиков. Later на основе модели CMM-SW, созданной в 1991 году для оценки зрелости разработки программного обеспечения, с CMM-I интегрировано множество других моделей.

Модель зрелости

Что такое уровни модели зрелости возможностей (CMM)?

  1. Начальный
  2. Повторяемый/управляемый
  3. Определяемая
  4. Количественно управляемый
  5. Оптимизирующий

Уровни модели зрелости возможностей (CMM)

Что происходит на разных уровнях ШМ?

Уровни Действия Преимущества
Уровень 1 Начальный
  • На уровне 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. Чтобы узнать, является ли реализация КПД эффективной, продолжительной и повторяемой, ее сопоставляют на следующей основе:

  1. Обязательство выполнять
  2. Способность выполнять
  3. Действия выполняют
  4. Измерение и анализ
  5. Проверка реализации

Ограничения моделей КИМ

  • CMM определяет, на что должен быть направлен процесс, а не как его следует реализовать.
  • Он не объясняет все возможности улучшения процесса разработки программного обеспечения.
  • Он концентрируется на вопросах программного обеспечения, но не рассматривает стратегическое бизнес-планирование, внедрение технологий, создание линейки продуктов и управление человеческими ресурсами.
  • Он не говорит о том, каким бизнесом должна заниматься организация.
  • ШМ бесполезен в проекте, который сейчас находится в кризисе

Зачем использовать ШМ?

Сегодня CMM действует как «знак одобрения» в индустрии программного обеспечения. Это помогает различными способами улучшить качество программного обеспечения.

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

Итого

ШМ была впервые внедрена в конце 80-х годов в ВВС США для оценки работы субподрядчиков. Later в улучшенной версии было реализовано отслеживание качества системы разработки программного обеспечения.

Весь уровень CMM разделен на пять уровней.

  • Level 1 (Начальный): Когда требования к системе обычно неопределенны, неправильно поняты и неконтролируемы. Обычно этот процесс носит хаотичный и спонтанный характер.
  • Level 2 (Управляемый): оценка стоимости, графика и функциональности проекта. Стандарты программного обеспечения определены
  • Level 3 (Определено): гарантирует, что продукт соответствует требованиям и предназначению.
  • Level 4 (Количественное управление): статистически управляет процессами и подпроцессами проекта.
  • Level 5 (Зрелость): определение и внедрение новых инструментов и улучшений процессов для удовлетворения потребностей и бизнес-целей.