Модель СММ забезпечує засоби для оцінювання можливостей організації створювати якісне програмне забезпечення. Окрім цього модель надає рекомендації, які повинні бути реалізовані в організації, щоб підвищити її можливості для виробництва якісного програмного забезпечення.
На рис. 2.3 показано схему моделі, яка визначає п'ять рівнів зрілості організації: початковий, повторюваний, визначуваний, керований, оптимізований. Кожен рівень (окрім першого) має безліч процесів (ключові області), що асоціюються з ним. Ці процеси визначають цілі, які повинні бути досягнуті організацією, щоб її зрілість відповідала певному рівню. Кожна мета досягається конкретними діями процесу. Організація може не виконувати всіх дій процесу, але вона повинна продемонструвати, що всі цілі ключових областей досягнуті на даному і всіх попередніх рівнях. Пропуск рівнів, що знаходяться нижче в шкалі СММ, не допускається, оскільки області нижніх рівнів забезпечують цілі в галузях вищих рівнів,
Рис. 2.3. Модель CM SEI
Початковий рівень - зрілість організації ґрунтується на фольклорі та індивідуальних здібностях персоналу. Досвід передається тільки шляхом тренінгу, стандарти не враховуються; розмір, витрати й інші характеристики проекту не оцінюються. Успіх проекту залежить від менеджера і окремих програмістів («героїв»). Менеджер зазвичай не бачить, що відбувається всередині проекту, Характеристики цього рівня такі: хаос, недисциплінованість, непередбачуваність, анархія. 11а цьому рівні немає областей ключових процесів. Робота буде зроблена, коли вона буде зроблена.
Повторюваний рівень - організація використовує проектний менеджмент і управління, документуючи процеси в різних аспектах програмного проекту. Метрики застосовуються, щоб прослідкувати прогрес у виконанні проекту та ідентифікувати проблеми. Передбачається, що організація може повторювати проекти. На цьому рівні розглядаються такі області ключових процесів:
- управління вимогами - спрямовано так: на управління змінами у вимогах шляхом реалізації відповідних планів і дій;
- планування проекту - зорієнтовано на оцінювання і планування проекту;
- стеження і контроль проекту - результати виконання проекту повніші бути описані і внесені до планів проекту. Якщо мають місце відхилення, то вони мають бути виправлені;
- управління субпідрядниками - забезпечує керування і регулювання відносин з субпідрядниками;
- гарантування якості - забезпечує аудит і контроль якості, особлива увага приділяється застосуванню стандартів;
- управління конфігурацією програмного забезпечення - продукти фаз життєвого циклу контролюються за допомогою плану управління конфігурацією. Ідентифікуються процедури необхідних змін,
Визначуваний рівень - організація використовує стандартний документований процес для розробки і супроводу програмного забезпечення. Він може налаштовуватися на конкретні проекти, створюються групи для координації процесів. На цьому рівні розглядаються такі області ключових процесів:
- організація процесу - створюються групи для координації процесів розробки і дій, спрямованих на підвищення їх ефективності;
- визначення процесу - організація розробляє стандартний процес і організовує збір та аналіз інформації, пов'язаної з використанням стандартного процесу для окремих проектів;
- навчальні програми - організація повинна мати цілі, плани і програми з навчання персоналу для реалізації проектів на третьому рівні;
- управління інтеграцією - організація забезпечує вибір і налаштування процесів для конкретного проекту зі стандартного процесу;
- інженерія продуктів - організація визначає інструменти і методи для виконання процесів фаз життєвого циклу, пов'язаних з аналізом і проектуванням, кодуванням, тестуванням, документуванням;
- міжгрупова координація - дії груп, які координують процеси розробки, повинні ідентифікуватися, відстежуватися, а проблеми, що витікають, - вирішуватися;
- експертні оцінки - використовуються експертні оцінки для ідентифікації дефектів, що мають місце в продуктах.
Керований рівень - організація використовує збирані метрики для прогнозу і управління якістю продукту.