Hvad er CMM?
Capability Maturity Model bruges som et benchmark til at måle modenheden i en organisations softwareproces.
CMM blev udviklet på Software engineering instituttet i slutningen af 80'erne. Det blev udviklet som et resultat af en undersøgelse finansieret af US Air Force som en måde at evaluere underleverandørers arbejde på. Senere baseret på CMM-SW-modellen oprettet i 1991 for at vurdere modenhed i softwareudvikling, er flere andre modeller integreret med CMM-I, de er
I denne vejledning lærer vi,
- Hvad er CMM-niveauer (Capability Maturity Model)?
- Hvad sker der på forskellige niveauer af CMM?
- Hvor lang tid tager det at implementere CMM?
- Intern struktur af CMM
- Begrænsninger for CMM-modeller
- Hvorfor bruge CMM?
Hvad er CMM-niveauer (Capability Maturity Model)?
- Initial
- Gentagelig / administreret
- Defineret
- Kvantitativt styret
- Optimering
Hvad sker der på forskellige niveauer af CMM?
Niveauer | Aktiviteter | Fordele |
---|---|---|
Niveau 1 Initial |
| Ingen. Et projekt er total kaos |
Niveau 2 administreret |
|
|
Niveau-3 defineret |
|
|
Niveau-4 Kvantitativt styret |
|
|
Niveau-5 Optimering |
|
|
Følgende diagram giver en billedlig gengivelse af, hvad der sker på forskellige CMM-niveau
Hvor lang tid tager det at implementere CMM?
CMM er den mest ønskelige proces til at opretholde produktets kvalitet for enhver softwareudviklingsvirksomhed, men implementeringen tager lidt længere tid end forventet.
- CMM-implementering sker ikke natten over
- Det er bare ikke bare et "papirarbejde."
- Typiske gennemførelsestider er
- 3-6 måneder -> til forberedelse
- 6-12 måneder -> til implementering
- 3 måneder -> til forberedelse af vurderingen
- 12 måneder -> for hvert nye niveau
Intern struktur af CMM
Hvert niveau i CMM er defineret i 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 softwarefunktionen
For forskellige CMM-niveauer er der sæt KPA'er, for eksempel for CMM model-2 er KPA
- REQM- Kravstyring
- PP- Projektplanlægning
- PMC- Projektovervågning og kontrol
- SAM- Forvaltning af leverandøraftaler
- PPQA-proces og kvalitetssikring
- CM-konfigurationsstyring
Ligeledes har du for andre CMM-modeller specifikke KPA'er. For at vide, om implementering af en KPA er effektiv, varig og gentagelig, kortlægges den på følgende basis
- Forpligtelse til at udføre
- Evne til at udføre
- Aktiviteter udfører
- Måling og analyse
- Bekræftelse af implementering
Begrænsninger for CMM-modeller
- CMM bestemmer, hvad en proces skal adressere i stedet for, hvordan den skal implementeres
- Det forklarer ikke enhver mulighed for forbedring af softwareprocesser
- Det koncentrerer sig om softwareproblemer, men overvejer ikke strategisk forretningsplanlægning, vedtagelse af teknologier, etablering af produktlinje og styring af menneskelige ressourcer
- Det fortæller ikke om, hvilken slags forretning en organisation skal være i
- CMM vil ikke være nyttigt i projektet, der har en krise lige nu
Hvorfor bruge CMM?
I dag fungerer CMM som et "godkendelsesstempel" i softwareindustrien. Det hjælper på forskellige måder med at forbedre softwarekvaliteten.
- Det guider mod gentagelig standardproces og reducerer dermed læringstiden om, hvordan man får tingene gjort
- Øvelse af CMM betyder at øve standardprotokol til udvikling, hvilket betyder, at det ikke kun hjælper teamet med at spare tid, men også giver et klart overblik over, hvad man skal gøre, og hvad man kan forvente
- Kvalitetsaktiviteterne passer godt sammen med projektet snarere end tænkt på som en separat begivenhed
- Det fungerer som en pendler mellem projektet og teamet
- CMM-bestræbelser går altid mod forbedring af processen
Resumé
CMM blev først introduceret i slutningen af 80'erne i US Air Force for at evaluere underleverandørers arbejde. Senere blev den med forbedret version implementeret for at spore kvaliteten af softwareudviklingssystemet.
Hele CMM-niveauet er opdelt i fem niveauer.
- Niveau 1 (indledende): Hvor kravene til systemet normalt er usikre, misforståede og ukontrollerede. Processen er normalt kaotisk og ad hoc.
- Niveau 2 (administreret): Anslå projektomkostninger, tidsplan og funktionalitet. Softwarestandarder er defineret
- Niveau 3 (defineret): Sørger for, at produktet opfylder kravene og den tilsigtede anvendelse
- Niveau 4 (kvantitativt styret): Styrer projektets processer og delprocesser statistisk
- Niveau 5 (modenhed): Identificer og implementer nye værktøjer og procesforbedringer for at imødekomme behov og forretningsmål