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

⚡ Умное резюме

Модель зрелости возможностей (CMM) — это эталон, используемый для оценки зрелости процесса разработки программного обеспечения в организации. Разработанная в Институте программной инженерии, она определяет пять уровней, которые помогают командам перейти от хаотичной, несистематической работы к непрерывному, оптимизированному совершенствованию.

  • 📊 Определение: CMM — это эталон, измеряющий зрелость процесса разработки программного обеспечения в организации.
  • 🇧🇷 Происхождение: Она была разработана в Институте программной инженерии в конце 1980-х годов для ВВС США.
  • 🪜 Пять уровней: Начальный, управляемый, определенный, количественно управляемый и оптимизирующий этапы образуют лестницу зрелости.
  • Время реализации: Полное внедрение на каждом уровне обычно занимает несколько месяцев, а не происходит за одну ночь.
  • 🧩 Ключевые области процесса: Каждый уровень, за исключением уровня 1, определяется ключевыми областями процессов (КОП), которые группируют взаимосвязанные цели.
  • ⚠️ Ограничение: В рамках модели CMM указывается, что именно должен охватывать процесс, а не как его реализовать, и игнорируется бизнес-стратегия.

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

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

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

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

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

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

Модель определяет пять последовательных уровней зрелости:

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

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

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

В таблице ниже представлено описание видов деятельности и преимуществ на каждом уровне.

Уровни Действия Преимущества
Уровень 1 Начальный
  • На первом уровне процесс обычно носит хаотичный и несистематический характер.
  • Способности характеризуются на основе отдельных лиц, а не организации в целом.
  • Прогресс не измеряется.
  • Разработка новых продуктов часто отстает от графика и выходит за рамки бюджета.
  • Значительные различия в сроках, стоимости, функциональности и целевых показателях качества.
Ничего. Проект — это полный хаос.
Уровень 2 Управляемый
  • Управление требованиями
  • Оцените параметры проекта, такие как стоимость, график и функциональность.
  • Измеряйте фактический прогресс
  • Разрабатывать планы и процесс
  • Определены стандарты проекта программного обеспечения
  • Выявление и контроль продукции, отчетов о проблемах, изменений и т. д.
  • Процессы могут отличаться в разных проектах
  • Процессы становятся проще для понимания
  • Менеджеры и члены команды тратят меньше времени на объяснение того, как что-то делается, и больше времени на выполнение.
  • Проекты оцениваются лучше, планируются лучше и отличаются большей гибкостью.
  • Качество интегрировано в проекты
  • Первоначальные затраты могут быть высокими, но со временем снижаются.
  • Требуется больше бумажной работы и документов.
Определен уровень 3
  • Уточняем требования клиента
  • Решить проектные требования, разработать процесс реализации
  • Убедитесь, что продукт соответствует требованиям и предназначению.
  • Систематически анализируйте решения
  • Устранение и контроль потенциальных проблем
  • Улучшение процессов становится стандартом
  • Решение переходит от «закодированного» к «спроектированному».
  • Контроль качества появляется на протяжении всего проекта, в процессе участвует вся команда.
  • Риски минимизируются и не застают команду врасплох.
Уровень 4, количественно управляемый
  • Статистически управляет процессами и подпроцессами проекта.
  • Понимать эффективность процессов, количественно управлять проектом организации
  • Оптимизирует производительность процессов во всей организации
  • Способствует внедрению количественного подхода к управлению проектами в организации.
Оптимизация уровня 5
  • Своевременное обнаружение и устранение причин дефектов
  • Выявление и внедрение новых инструментов и улучшений процессов для удовлетворения потребностей и бизнес-целей.
  • Способствует организационным инновациям и развертыванию
  • Дает стимул к причинно-следственному анализу и разрешению проблем.

Следующая диаграмма наглядно демонстрирует, что происходит на разных уровнях КИМ (координатно-измерительной машины):

Различные уровни ШМ

Сколько времени занимает внедрение ШМ?

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

  • Внедрение CMM не происходит в одночасье.
  • Это не просто «бумажная работа».
  • Типичные сроки внедрения:
  • 3-6 месяцев -> для подготовки
  • 6-12 месяцев -> для реализации
  • 3 месяцев. -> для подготовки к оценке
  • 12 месяцев. -> за каждый новый уровень

Внутренняя структура ШМ

Каждый уровень в CMM определяется как ключевая область процесса или KPAЗа исключением уровня 1. Каждая ключевая область знаний определяет группу взаимосвязанных действий, которые при совместном выполнении достигают набора целей, считающихся жизненно важными для повышения возможностей программного обеспечения.

Для разных уровней КИМ существуют наборы ключевых показателей эффективности (КПЭ). Например, для модели КИМ-2 КПЭ следующие:

  • REQM – Управление требованиями
  • ПП – Планирование проекта
  • PMC – Мониторинг и контроль проектов
  • SAM – Управление соглашениями с поставщиками
  • PPQA – Обеспечение качества и процессов
  • CM – Управление конфигурацией

Аналогично, для других моделей CMM существуют специфические ключевые показатели эффективности (KPA). Чтобы определить, является ли внедрение KPA эффективным, долгосрочным и воспроизводимым, оно сопоставляется на следующей основе:

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

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

Данная модель также имеет ряд ограничений:

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

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

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

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

Часто задаваемые вопросы (FAQ)

CMM — это первоначальная модель, ориентированная главным образом на зрелость процессов разработки программного обеспечения. CMMI (Capability Maturity Model Integration) — её преемница, охватывающая программное обеспечение, оборудование и услуги в рамках интегрированной структуры. Сегодня большинство организаций используют CMMI вместо более старой модели CMM.

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

Да, хотя CMMI в значительной степени заменила оригинальную CMM. Оценка зрелости остается актуальной для организаций, которым необходимо доказать дисциплину процессов при аутсорсинге.tracучастие в тендерах, государственных тендерах и проверках качества, даже в сочетании с практиками Agile и DevOps.

Искусственный интеллект способен анализировать данные о процессах, выявлять дефекты на ранних стадиях и прогнозировать риски, связанные со сроками или затратами. Автоматизируя измерения и отчетность, он поддерживает более высокие уровни CMM (Customer Mechanical Management), где организации полагаются на количественное управление и непрерывное совершенствование на основе данных.

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

Подведем итог этой публикации следующим образом: