Wprowadzenie do CMM/CMMI

Model podnoszenia dojrzałości w odniesieniu do procesu tworzenia oprogramowania został stworzony przez SEI.
Służy on do oceny procesu tworzenia oprogramowania. Głównym elementem CMM/CMMI jest pięciostopniowa skala oceniająca podejście organizacji do projektów informatycznych.

CMM/CMMI opisuje najważniejsze elementy efektywnego procesu tworzenia oprogramowania. W obszarze IT model CMM/CMMI postrzega się jako poziom dojrzałości organizacji lub jako zbiór dobrych praktyk dotyczących procesów inżynierii oprogramowania. Tak naprawdę CMM i CMMI są następującymi po sobie wersjami opisywanego modelu (CMM jest bardziej zbliżony do modelu wodospadu, gdy CMMI reprezentuje bardziej iteratywne metody), jednak ze względu na ogólny charakter poniższego opracowania, przyjęto mówić o nim jako CMM/CMMI.
Poziomy dojrzałości w CMM/CMMI wraz z określonymi dla nich kluczowymi obszarami procesowymi
(ang. KPAs – Key Process Areas):
- początkowy - proces jest nieprzewidywalny i słabo kontrolowany
- powtarzalny - organizacja reaguje dopiero, gdy wystąpią problemy (KPAs: zarządzanie wymaganiami, planowanie i śledzenie projektów tworzenia oprogramowania, zarządzanie dostawcami, zapewnienie jakości oprogramowania, zarządzanie konfiguracją)
- zdefiniowany - organizacja jest proaktywna (KPAs: organizacja zorientowana procesowo, definicja procesów, program treningów, zarządzanie integracją oprogramowania, inżynieria tworzenia oprogramowania, koordynacja między-grupowa, przeglądy dokumentacji)
- zarządzany - proces jest mierzalny i kontrolowany (KPAs: pomiary i analiza procesów, zarządzanie jakością, zapobieganie defektom)
- optymalizowany - wysiłki organizacji są ukierunkowane na ciągłe doskonalenie (KPAs: innowacje technologiczne, zarządzanie zmianami procesów).

Dla większości organizacji poziom trzeci jest głównym celem do osiągnięcia
Model ten funkcjonuje w czterech obszarach: inżynieria systemów, inżynieria oprogramowania,
integracja procesów i produktów oraz współpraca z dostawcami a za główne cele obiera sobie:

  • poprawę jakości, przede wszystkim w procesie produkcji i utrzymaniu oprogramowania
  • stworzenie oceny dla tychże

Usprawnienia fazowe została opracowana dla organizacji, które zamierzają podnosić swoją dojrzałość etapami. W reprezentacji zostały pokazane kolejne poziomy dojrzałości i obszary procesów, które muszą być spełnione dla każdego z poziomów. Takie podejście stanowi dla organizacji mapę dojścia do najwyższego poziomu dojrzałości.

Główne korzyści, jakich może spodziewać się organizacja po wdrożenia modelu dojrzałości CMM/CMMI to:
- usprawnienie przewidywalności harmonogramów i budżetu
- usprawnienie tworzenie oprogramowania
- zwiększenie produktywności
- poprawienie jakości (mierzonej ilością defektów)
- zwiększenie zadowolenia klientów
- zwiększenie morale pracowników
- zwiększenie zwrotów inwestycji
- obniżenie kosztów jakości.

Badania SEI pokazują iż jest widoczna poprawa wydajności podczas stosowania CMM/CMMI.
Przedstawia to poniższe zestawienie:
Kategoria wydajności (Średni współczynnik poprawy):

  • koszty (34%)
  • harmonogram (50%)
  • produktywność (61%)
  • jakość (48%)
  • zadowolenie klienta (14%)
  • zwrot inwestycji (4:1)


Ważne jest, że CMM jak i CMMI mają szerokie zastosowanie w inżynierii tworzenia oprogramowania.
Dzięki temu można je stosować dla wszystkich obecnie zdefiniowanych modeli.

Jak CMM usprawnia organizacje oparte na modelu wodospadu:
- wymusza ustalanie wymagań przed projektowaniem,
- koncentruje się na możliwości śledzenia w projekcie,
- zapewnia udokumentowanie i utrzymanie projektu
- wymusza ocenę jakości przez niezależne zespoły
- zapewnia wczesne planowanie z dużą dokładnością.


Jak CMMI usprawnia organizacje oparte na zasadach tworzenia oprogramowania metodami iteratywnymi:
- zniechęca do koncentracji wysiłków na architekturze
- zachęca do utworzenia środowiska zarządzania zmianami
- wskazuje procesy dla obiektywnej kontroli jakości
- zapewnia ustanowienie konfiguracyjnych procesów.

Na zakończenie warto zacytować jedno z głównych założeń SEI dla CMM/CMMI:
„Jakość produktu zależy od jakości procesu, jaki został zastosowany dla jego stworzenia i utrzymania.”

 

 

Najbliższe terminy szkoleń

Partnerzy

Narzędzia testerskie