Kapabilitetsmodenhedsmodel (CMM) i softwareudvikling
⚡ Smart opsummering
Capability Maturity Model (CMM) er en benchmark, der bruges til at måle, hvor moden en organisations softwareproces er. Den er udviklet på Software Engineering Institute og definerer fem niveauer, der guider teams fra kaotisk, ad hoc-arbejde mod kontinuerlig, optimeret forbedring.
Hvad er CMM?
Kapacitet Modenhed Model bruges som et benchmark til at måle modenheden af en organisations softwareproces.
CMM blev udviklet på Software Engineering Institute i slutningen af 80'erne. Det blev udviklet som et resultat af en undersøgelse finansieret af det amerikanske luftvåben som en måde at evaluere arbejdet hos subkonstruktører.tractorer. Later, baseret på CMM-SW-modellen, der blev oprettet i 1991 for at vurdere modenheden af softwareudvikling, blev flere andre modeller integreret med CMM-I.
Hvad er Capability Maturity Model (CMM) niveauer?
Modellen definerer fem progressive modenhedsniveauer:
- Initial
- Gentagelig/administreret
- Defineret
- Kvantitativt styret
- Optimering
Hvad sker der på forskellige niveauer af CMM?
Tabellen nedenfor viser aktiviteterne og fordelene på hvert niveau.
| Niveauer | Aktiviteter | Fordele |
|---|---|---|
| Niveau 1 Initial |
|
Ingen. Et projekt er Totalt Kaos. |
| Niveau 2 Administreret |
|
|
| Niveau-3 defineret |
|
|
| Niveau-4 Kvantitativt styret |
|
|
| Niveau-5 optimering |
|
|
Følgende diagram giver en billedlig repræsentation af, hvad der sker på forskellige CMM-niveauer:
Hvor lang tid tager det at implementere CMM?
CMM er den mest ønskværdige proces til at opretholde produktets kvalitet for enhver softwareudviklingsvirksomhed, men implementeringen tager lidt længere tid end forventet.
- Implementering af CMM sker ikke natten over.
- Det er ikke bare "papirarbejde".
- Typiske implementeringstidspunkter er:
- 3-6 måneder -> til forberedelse
- 6-12 måneder -> til implementering
- 3 måneder -> til vurderingsforberedelse
- 12 måneder -> for hvert nyt niveau
Intern struktur af CMM
Hvert niveau i CMM er defineret som et nøgleprocesområde eller KPA, undtagen niveau 1. Hver KPA definerer en klynge af relaterede aktiviteter, som, når de udføres kollektivt, opnår et sæt mål, der anses for afgørende for at forbedre softwarekapaciteten.
For forskellige CMM-niveauer findes der sæt af KPA'er. For eksempel er KPA'erne for CMM-model 2:
- REQM – Kravstyring
- PP – Projektplanlægning
- PMC – Projektovervågning og -kontrol
- SAM – Leverandøraftalestyring
- PPQA – Proces og kvalitetssikring
- CM – Konfigurationsstyring
Ligeledes har du for andre CMM-modeller specifikke KPA'er. For at vide, om implementeringen af en KPA er effektiv, varig og gentagelig, kortlægges den på følgende grundlag:
- Forpligtelse til at præstere
- Evne til at præstere
- Udførte aktiviteter
- Måling og analyse
- Verifikation af implementering
Begrænsninger af CMM-modeller
Modellen har også flere begrænsninger:
- CMM bestemmer, hvad en proces skal adressere, i stedet for hvordan den skal implementeres.
- Den forklarer ikke alle muligheder for forbedring af softwareprocesser.
- Den fokuserer på softwareproblemer, men tager ikke højde for strategisk forretningsplanlægning, implementering af teknologier, etablering af en produktlinje og styring af menneskelige ressourcer.
- Den fortæller ikke, hvilken slags forretning en organisation bør være i.
- CMM vil ikke være nyttig i et projekt, der er i krise lige nu.
Hvorfor bruge CMM?
I dag fungerer CMM som et "blåstemplingsstempel" i softwarebranchen. Det hjælper på forskellige måder med at forbedre softwarekvaliteten.
- Det leder hen imod en gentagelig standardproces og reducerer dermed den tid, det tager at lære, hvordan man får tingene gjort.
- At praktisere CMM betyder at praktisere en standardprotokol for udvikling, hvilket betyder, at det ikke kun hjælper teamet med at spare tid, men også giver et klart overblik over, hvad de skal gøre, og hvad de kan forvente.
- Kvalitetsaktiviteterne passer godt ind i projektet i stedet for at blive opfattet som en separat begivenhed.
- Den fungerer som en kommunikator mellem projektet og teamet.
- CMM-indsatsen er altid rettet mod forbedring af processen.




