Model dojrzałości zdolności (CMM) w inżynierii oprogramowania
⚡ Inteligentne podsumowanie
Model Dojrzałości Zdolności (CMM) to punkt odniesienia służący do pomiaru dojrzałości procesu oprogramowania w organizacji. Opracowany w Instytucie Inżynierii Oprogramowania, definiuje pięć poziomów, które pomagają zespołom przejść od chaotycznej, doraźnej pracy do ciągłego, zoptymalizowanego doskonalenia.
Co to jest CMM?
Capability Maturity Model służy jako punkt odniesienia przy mierzeniu dojrzałości procesu oprogramowania w organizacji.
CMM został opracowany w Instytucie Inżynierii Oprogramowania pod koniec lat 80. Powstał w wyniku badań finansowanych przez Siły Powietrzne Stanów Zjednoczonych, jako sposób oceny pracy podwykonawców.tractorsy. Later, na podstawie modelu CMM-SW stworzonego w 1991 r. w celu oceny dojrzałości rozwoju oprogramowania, zintegrowano wiele innych modeli z CMM-I.
Co to są poziomy modelu dojrzałości zdolności (CMM)?
Model definiuje pięć poziomów dojrzałości progresywnej:
- Początkowy
- Powtarzalne/zarządzane
- zdefiniowane
- Zarządzane ilościowo
- Optymalizacja
Co dzieje się na różnych poziomach CMM?
Poniższa tabela przedstawia szczegółowe informacje na temat działań i korzyści na każdym poziomie.
| Poziomy | Aktywności | Korzyści |
|---|---|---|
| Poziom 1 Początkowy |
|
Żadnego. Projekt to totalny chaos. |
| Poziom 2 Zarządzany |
|
|
| Zdefiniowano poziom 3 |
|
|
| Poziom 4 Zarządzany ilościowo |
|
|
| Optymalizacja poziomu 5 |
|
|
Poniższy diagram przedstawia obrazowo, co dzieje się na różnych poziomach CMM:
Ile czasu zajmuje wdrożenie CMM?
CMM to najbardziej pożądany proces służący utrzymaniu jakości produktu dla każdej firmy zajmującej się tworzeniem oprogramowania, ale jego wdrożenie zajmuje nieco więcej czasu, niż się spodziewano.
- Wdrożenie CMM nie odbywa się z dnia na dzień.
- To nie jest tylko „papierkowa robota”.
- Typowe terminy wdrożenia to:
- 3-6 miesięcy -> do przygotowania
- 6-12 miesięcy -> do realizacji
- 3 miesięcy -> do przygotowania oceny
- 12 miesięcy -> za każdy nowy poziom
Struktura wewnętrzna CMM
Każdy poziom w CMM jest zdefiniowany w kluczowy obszar procesu lub KPA, z wyjątkiem poziomu 1. Każdy KPA definiuje zbiór powiązanych działań, które, gdy są wykonywane łącznie, osiągają zestaw celów uznawanych za kluczowe dla poprawy możliwości oprogramowania.
Dla różnych poziomów CMM istnieją zestawy KPA. Na przykład dla modelu CMM 2, KPA to:
- REQM – Zarządzanie wymaganiami
- PP – Planowanie projektu
- PMC – Monitorowanie i kontrola projektu
- SAM – Zarządzanie umowami z dostawcami
- PPQA – Zapewnienie Procesów i Jakości
- CM – Zarządzanie konfiguracją
Podobnie, w przypadku innych modeli CMM istnieją konkretne wskaźniki KPA. Aby sprawdzić, czy wdrożenie wskaźnika KPA jest skuteczne, trwałe i powtarzalne, mapuje się je na podstawie następujących kryteriów:
- Zaangażowanie w występ
- Możliwość wykonania
- Wykonywane czynności
- Pomiar i analiza
- Weryfikacja wdrożenia
Ograniczenia modeli maszyn współrzędnościowych
Model ten ma również kilka ograniczeń:
- CMM określa, co proces powinien uwzględniać, a nie w jaki sposób powinien być wdrażany.
- Nie wyjaśnia wszystkich możliwości udoskonalenia procesu tworzenia oprogramowania.
- Koncentruje się na kwestiach oprogramowania, ale nie bierze pod uwagę strategicznego planowania biznesowego, wdrażania technologii, tworzenia linii produktów i zarządzania zasobami ludzkimi.
- Nie określa, jakim rodzajem działalności powinna zajmować się organizacja.
- CMM nie będzie przydatne w projekcie, który obecnie przeżywa kryzys.
Dlaczego warto używać CMM?
Obecnie CMM pełni funkcję „pieczęci aprobaty” w branży oprogramowania. Pomaga na wiele sposobów poprawić jakość oprogramowania.
- Kieruje ku powtarzalnemu, standardowemu procesowi, a tym samym skraca czas uczenia się, jak wykonywać zadania.
- Wdrażanie CMM oznacza stosowanie standardowego protokołu rozwoju, co nie tylko pomaga zespołowi zaoszczędzić czas, ale także daje mu jasny obraz tego, co należy zrobić i czego się spodziewać.
- Wysokiej jakości działania dobrze wpisują się w projekt i nie są traktowane jako osobne wydarzenie.
- Pełni funkcję łącznika między projektem a zespołem.
- Działania CMM zawsze mają na celu udoskonalenie procesu.




