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

Capability Maturity Model

Co to są poziomy modelu dojrzałości zdolności (CMM)?

  1. Początkowy
  2. Powtarzalne/zarządzane
  3. zdefiniowane
  4. Zarządzane ilościowo
  5. Optymalizacja

Poziomy modelu dojrzałości zdolności (CMM).

Co dzieje się na różnych poziomach CMM?

Poziomy Aktywności Korzyści
Poziom 1 Początkowy
  • Na poziomie 1 proces jest zwykle chaotyczny i doraźny
  • Zdolność charakteryzuje się na podstawie jednostek, a nie organizacji
  • Postęp nie jest mierzony
  • Opracowywane produkty często przebiegają zgodnie z harmonogramem i przekraczają budżet
  • Duże różnice w harmonogramie, kosztach, funkcjonalności i celach jakościowych
Nic. Projekt to Totalny Chaos
Poziom 2 Zarządzany
  • Zarządzanie wymaganiami
  • Oszacuj parametry projektu, takie jak koszt, harmonogram i funkcjonalność
  • Mierz rzeczywisty postęp
  • Opracuj plany i procesy
  • Zdefiniowano standardy projektów oprogramowania
  • Identyfikuj i kontroluj produkty, zgłaszaj problemy, zmiany itp.
  • Procesy mogą się różnić w zależności od projektu
  • Procesy stają się łatwiejsze do zrozumienia
  • Menedżerowie i członkowie zespołów spędzają mniej czasu na wyjaśnianiu, jak coś się robi, a więcej na jego wykonywaniu
  • Projekty są lepiej szacowane, lepiej planowane i bardziej elastyczne
  • Jakość jest zintegrowana z projektami
  • Koszty mogą być początkowo wysokie, ale z czasem maleją
  • Zapytaj o więcej dokumentów i dokumentów
Zdefiniowano poziom 3
  • Wyjaśnij wymagania klientów
  • Rozwiąż wymagania projektowe, opracuj proces wdrożenia
  • Upewnia się, że produkt spełnia wymagania i przeznaczenie
  • Systematycznie analizuj decyzje
  • Napraw i kontroluj potencjalne problemy
  • Doskonalenie procesów staje się standardem
  • Rozwiązanie przechodzi od „kodowania” do „projektowania”
  • Bramy jakości pojawiają się przez cały czas trwania projektu i obejmuje cały zespół zaangażowany w proces
  • Ryzyko jest ograniczone i nie zaskakuje zespołu
Poziom 4 Zarządzany ilościowo
  • Zarządza statystycznie procesami i podprocesami projektu
  • Zrozumieć wydajność procesów, ilościowo zarządzać projektem organizacji
  • Optymalizuje wydajność procesów w całej organizacji
  • Wspomaga ilościowe zarządzanie projektami w organizacji.
Optymalizacja poziomu 5
  • Wcześnie wykryj i usuń przyczynę usterek
  • Identyfikuj i wdrażaj nowe narzędzia i ulepszenia procesów, aby sprostać potrzebom i celom biznesowym
  • Wspiera innowacyjność organizacyjną i wdrażanie
  • Daje impuls do analizy przyczynowej i rozwiązania

Poniższy diagram przedstawia graficznie, co dzieje się na różnych poziomach CMM

Różne poziomy 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

  1. Zaangażowanie w występ
  2. Możliwość wykonania
  3. Działania wykonują
  4. Pomiar i analiza
  5. 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