Модель зрілості спроможностей (Capability Maturity Model - CMM)

Модель зрілості спроможностей (Capability Maturity Model - CMM) - модель зрілості можливостей (модель повноти потенціалу) створення ПЗ: еволюційна модель розвитку здатності компанії розробляти програмне забезпечення.

Історія Моделі зрілості спроможностей (Capability Maturity Model - CMM)

У листопаді 1986 року американський інститут Software Engineering Institute (SEI) спільно з Mitre Corporation розпочали розробку огляду зрілості процесів розроблення програмного забезпечення, що був призначений для допомоги в поліпшенні їхніх внутрішніх процесів.

Розробка такого огляду була викликана запитом американського федерального уряду на надання методу оцінки субпідрядників для розробки ПЗ. Реальна ж проблема полягала в нездатності керувати великими проектами. У багатьох компаніях проєкти виконувалися зі значним запізненням і з перевищенням запланованого бюджету. Необхідно було знайти рішення цієї проблеми.

У вересні 1987 року SEI випустив короткий огляд процесів розроблення ПЗ з описом їхніх рівнів зрілості, а також опитувальник, який призначався для виявлення сфер у компанії, де потрібні були поліпшення. Однак, більшість компаній розглядала цей опитувальник як готову модель, внаслідок чого через 4 роки опитувальник було перетворено на реальну модель, Capability Maturity Model for Software (CMM). Першу версію СММ (Version 1.0), що вийшла в 1991 році, у 1992 році переглянули учасники робочої зустрічі, у якій брали участь приблизно 200 спеціалістів у галузі ПЗ, і члени товариства розробників.

Рівні Моделі зрілості спроможностей (Capability Maturity Model - CMM)

1 - Початковий

Найпримітивніший статус організації. Організація здатна розробляти ПЗ. Організація не має явно усвідомленого процесу, і якість продукту цілком визначається індивідуальними здібностями розробників. Один проявляє ініціативу, і команда виконує його вказівки. Успіх одного проекту не гарантує успіх іншого. Під час завершення проєкту не фіксуються дані про трудовитрати, розклад і якість.

2 - Повторюваний

Певною мірою відстежується процес. Робляться записи про трудовитрати і плани. Функціональність кожного проєкту описана в письмовій формі. У середині 1999 року лише 20 % організацій мали 2-й рівень або вище.

3 - Встановлений

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

4 - Керований

Можуть точно передбачити терміни і вартість робіт. Є база даних накопичених вимірювань, але немає змін при появі нових технологій і парадигм.

5 - Оптимізований

Є постійно діюча процедура пошуку й освоєння нових і поліпшених методів та інструментів.

Розвиток Моделі зрілості спроможностей (Capability Maturity Model - CMM)

Використання моделі на практиці виявило неоднозначність у підходах до досягнення вищих рівнів організації процесів розробки ПЗ. Тому до 2002 року розробляються рекомендації щодо поліпшення процесу розробки, які отримують назву CMMI (Capability Maturity Model Integration).