Model zrelosti sposobnosti (CMM) i njegove razine u softverskom inženjerstvu
Što je CMM?
Model zrelosti sposobnosti koristi se kao mjerilo za mjerenje zrelosti softverskog procesa organizacije.
CMM je razvijen na Institutu za softversko inženjerstvo u kasnim 80-ima. Razvijen je kao rezultat studije koju su financirale Zračne snage SAD-a kao način evaluacije rada podizvođača. Later na temelju CMM-SW modela stvorenog 1991. za procjenu zrelosti razvoja softvera, više drugih modela integrirano je s CMM-I oni su
Što su razine modela zrelosti sposobnosti (CMM)?
- Početni
- Ponovljivo/Upravljano
- Definiran
- Kvantitativno upravljano
- Optimiziranje
Što se događa na različitim razinama CMM-a?
Razine | Aktivnosti | Prednosti |
---|---|---|
Razina 1 Početna |
|
Nijedan. Projekt je Totalni kaos |
Upravljana razina 2 |
|
|
Definirana razina-3 |
|
|
Razina-4 Kvantitativno upravljana |
|
|
Razina-5 optimizacije |
|
|
Sljedeći dijagram daje slikovni prikaz onoga što se događa na različitim CMM razinama
Koliko je vremena potrebno za implementaciju CMM-a?
CMM je najpoželjniji proces za održavanje kvalitete proizvoda za bilo koju tvrtku za razvoj softvera, ali njegova implementacija traje malo duže od očekivanog.
- Implementacija CMM-a ne događa se preko noći
- To nije samo "papirologija".
- Uobičajeno vrijeme za implementaciju je
- 3-6 mjeseci -> za pripremu
- 6-12 mjeseci -> za provedbu
- 3 mjeseci -> za pripremu procjene
- 12 mjeseci ->za svaku novu razinu
Unutarnja struktura CMM
Svaka razina u CMM-u definirana je u ključno procesno područje ili KPA, osim razine-1. Svaki KPA definira klaster povezanih aktivnosti, koje kada se izvode zajedno postižu skup ciljeva koji se smatraju vitalnim za poboljšanje mogućnosti softvera
Za različite razine CMM postoji skup KPA, na primjer za CMM model-2, KPA su
- REQM- Upravljanje zahtjevima
- PP- Planiranje projekta
- PMC - Praćenje i kontrola projekta
- SAM - Upravljanje ugovorima s dobavljačima
- PPQA-Proces i osiguranje kvalitete
- Upravljanje CM konfiguracijom
Isto tako, za druge CMM modele imate specifične KPA. Kako bismo znali je li provedba KPA učinkovita, trajna i ponovljiva, mapira se na sljedećoj osnovi
- Predanost za izvođenje
- Sposobnost izvođenja
- Aktivnosti izvode
- Mjerenje i analiza
- Provjera implementacije
Ograničenja CMM modela
- CMM određuje čime bi se proces trebao baviti umjesto kako bi se trebao implementirati
- Ne objašnjava svaku mogućnost poboljšanja softverskog procesa
- Koncentrira se na pitanja softvera, ali ne razmatra strateško poslovno planiranje, usvajanje tehnologija, uspostavljanje linije proizvoda i upravljanje ljudskim resursima
- Ne govori kojim bi se poslovanjem organizacija trebala baviti
- CMM neće biti koristan u projektu koji je trenutno u krizi
Zašto koristiti CMM?
Danas CMM djeluje kao "pečat odobrenja" u softverskoj industriji. Na različite načine pomaže u poboljšanju kvalitete softvera.
- Vodi prema ponovljivom standardnom procesu i stoga smanjuje vrijeme učenja o tome kako obaviti stvari
- Prakticiranje CMM-a znači prakticiranje standardnog protokola za razvoj, što znači da ne samo da pomaže timu da uštedi vrijeme, već daje i jasan pogled na to što učiniti i što očekivati
- Kvalitetne aktivnosti dobro se uklapaju u projekt, a ne kao zaseban događaj
- Djeluje kao poveznica između projekta i tima
- Napori CMM-a uvijek su usmjereni na poboljšanje procesa
rezime
CMM je prvi put uveden kasnih 80-ih u američkom zrakoplovstvu za procjenu rada podizvođača. Later na, s poboljšanom verzijom, implementiran je za praćenje kvalitete sustava za razvoj softvera.
Cjelokupna CMM razina podijeljena je u pet razina.
- Razina 1 (Početno): Gdje su zahtjevi za sustav obično neizvjesni, pogrešno shvaćeni i nekontrolirani. Proces je obično kaotičan i ad-hoc.
- Razina 2 (Upravljano): Procijenite troškove projekta, raspored i funkcionalnost. Softverski standardi su definirani
- Razina 3 (Definirano): osigurava da proizvod zadovoljava zahtjeve i namjeravanu upotrebu
- Razina 4 (Kvantitativno upravljano): statistički upravlja procesima i podprocesima projekta
- Razina 5 (Zrelost): Identificirajte i implementirajte nove alate i poboljšanja procesa kako biste zadovoljili potrebe i poslovne ciljeve