Model dojrzałości możliwości (CMM) i jego poziomy w inżynierii oprogramowania
Co to jest CMM?
Model dojrzałości możliwości służy jako punkt odniesienia do pomiaru dojrzałości procesu tworzenia oprogramowania w organizacji.
CMM został opracowany w Instytucie Inżynierii Oprogramowania pod koniec lat 80-tych. Powstał w wyniku badania finansowanego przez Siły Powietrzne USA jako sposób na ocenę pracy podwykonawców. Later w oparciu o model CMM-SW stworzony w 1991 r. w celu oceny dojrzałości rozwoju oprogramowania, z CMM-I zintegrowanych jest wiele innych modeli
Co to są poziomy modelu dojrzałości zdolności (CMM)?
- Początkowy
- Powtarzalne/zarządzane
- zdefiniowane
- Zarządzane ilościowo
- Optymalizacja
Co dzieje się na różnych poziomach CMM?
Poziomy | Aktywności | Korzyści |
---|---|---|
Poziom 1 Początkowy |
|
Nic. Projekt to Totalny Chaos |
Poziom 2 Zarządzany |
|
|
Zdefiniowano poziom 3 |
|
|
Poziom 4 Zarządzany ilościowo |
|
|
Optymalizacja poziomu 5 |
|
|
Poniższy diagram przedstawia graficznie, co dzieje się na różnych poziomach CMM
Ile czasu zajmuje wdrożenie CMM?
CMM jest najbardziej pożądanym procesem zapewniającym utrzymanie jakości produktu dla każdej firmy tworzącej oprogramowanie, jednak jego wdrożenie trwa niewiele dłużej niż oczekiwano.
- Wdrożenie CMM nie następuje z dnia na dzień
- To nie tylko „papierkowa robota”.
- Typowy czas 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 CMM jest zdefiniowany w kluczowy obszar procesu lub KPA, z wyjątkiem poziomu 1. Każdy KPA definiuje klaster powiązanych działań, które wykonywane łącznie osiągają zestaw celów uznawanych za kluczowe dla poprawy możliwości oprogramowania
Dla różnych poziomów CMM istnieje zestaw KPA, na przykład dla CMM model-2 są to KPA
- REQM – Zarządzanie wymaganiami
- PP – Planowanie projektu
- PMC – Monitorowanie i kontrola projektu
- SAM – Zarządzanie umowami z dostawcami
- PPQA – zapewnienie procesu i jakości
- Zarządzanie konfiguracją CM
Podobnie w przypadku innych modeli CMM istnieją określone KPA. Aby dowiedzieć się, czy wdrożenie KPA jest skuteczne, trwałe i powtarzalne, jest ono mapowane na następującej podstawie
- Zaangażowanie w występ
- Możliwość wykonania
- Działania wykonują
- Pomiar i analiza
- Weryfikacja wdrożenia
Ograniczenia modeli maszyn współrzędnościowych
- CMM określa, czego powinien dotyczyć proces, zamiast tego, jak powinien być wdrażany
- Nie wyjaśnia wszystkich możliwości ulepszenia procesu tworzenia oprogramowania
- Koncentruje się na zagadnieniach związanych z oprogramowaniem, ale nie uwzględnia strategicznego planowania biznesowego, wdrażania technologii, ustanawiania linii produktów i zarządzania zasobami ludzkimi
- Nie określa rodzaju działalności, jaką powinna prowadzić organizacja
- CMM nie będzie przydatny w projekcie przeżywającym obecnie kryzys
Dlaczego warto używać CMM?
Dzisiaj CMM pełni rolę „pieczęci uznania” w branży oprogramowania. Pomaga na różne sposoby poprawić jakość oprogramowania.
- Prowadzi do powtarzalnego standardowego procesu, a tym samym skraca czas nauki wykonywania zadań
- Praktykowanie CMM oznacza ćwiczenie standardowego protokołu rozwoju, co oznacza, że nie tylko pomaga zespołowi zaoszczędzić czas, ale także daje jasny obraz tego, co robić i czego się spodziewać
- Działania wysokiej jakości dobrze komponują się z projektem, a nie są traktowane jako osobne wydarzenie
- Pełni funkcję pośrednika między projektem a zespołem
- Wysiłki CMM są zawsze ukierunkowane na ulepszenie procesu
Podsumowanie
CMM został po raz pierwszy wprowadzony pod koniec lat 80-tych w Siłach Powietrznych Stanów Zjednoczonych w celu oceny pracy podwykonawców. Later w wersji ulepszonej wdrożono śledzenie jakości systemu tworzenia oprogramowania.
Cały poziom CMM jest podzielony na pięć poziomów.
- Poziom 1 (Początkowe): Tam, gdzie wymagania dotyczące systemu są zwykle niepewne, źle zrozumiane i niekontrolowane. Proces ten jest zazwyczaj chaotyczny i doraźny.
- Poziom 2 (Zarządzane): Oszacuj koszt projektu, harmonogram i funkcjonalność. Zdefiniowano standardy oprogramowania
- Poziom 3 (Zdefiniowane): Zapewnia, że produkt spełnia wymagania i przeznaczenie
- Poziom 4 (Zarządzane ilościowo): Zarządza statystycznie procesami i podprocesami projektu
- Poziom 5 (Dojrzałość): Identyfikuj i wdrażaj nowe narzędzia i ulepszenia procesów, aby spełnić potrzeby i cele biznesowe