CMM
Introduktion
CMMs struktur
CMMs nivåer
CMMI
CMMIs struktur
CMMI Process Areas
CMM för upphandling
Capability Maturity Model
Vad är CMM?
Capability Maturity Model for Software beskriver de principer och metoder som ligger till grund för mognad hos mjukvaruprocesser. CMMs syfte är att hjälpa organisationer att förbättra sin processmognad från kaotiska processer till mogna, diciplinerade processer. CMM är organiserad i fem olika nivåer, så kallade maturity levels.
  1. Initial
    Processeen karaktäriseras som ad hoc, och stundtals till och med kaotisk. Få processer är klart definierade, och lyckade projekt beror på individers hjälteinsatser.
  2. Repeatable
    Grundläggande projektledningsprocesser har etablerats för att spåra kostnader, tidsplaner och funktionallitet. Organisationen har nog mycket processdiciplin att klara av att upprepa framgångar från ett projekt till nästa likartade projekt.
  3. Defined
    Processer för både projektledning och utveckling dokumenterade, standardiserade och integrerade i en processtandard för organisationen. Alla projekt följer en godkänd, projektanpassad version av organisationens processtandard för utvecling och underhåll av mjukvara.
  4. Managed
    Detaljerade mätningar görs av både processens och produktens kvalitet. Både processen och den resulterande produkten är kvantitativt förståd och kontrollerad.
  5. Optimizing
    Fortlöpande processförbättring möjliggörs av kvantitativ feedback från processen och från pilottester av innovativa ideer och teknologier.
Nivåerna 2-5 är uppdelade i så kallade Key Process Areas (KPA). KPA indikerar vilka områden organisationen bör fokusera på för att förbättra sin process. Varje KPA har definierade mål. När samtliga mål för varje KPA på en viss nivå har tillfresställts sägs organisationen ha uppnått den nivån.
För varje KPA beskrivs så kallade Key Practices, det vill säga nyckelmetoder, som bidrar till att uppfylla målen för KPA. Key practices beskriver strukturer och aktiviteter som bidrar till implementering av KPA. Dessa Key practices är rekommendationer baserade den samlade erfarenheten från hundratals organisationer. Det är dock viktigt att inse att det kan finnas andra metoder som också uppnår målen för olika KPA.
Vad CMM inte är
CMM är en modell, inte en metod. Den vanligaste missuppfattningen kring CMM är att CMM på något sätt skulle vara ett alternativ till RUP, PRINCE, PROPS och andra metoder för projektstyrning. CMM dikterar vilka mål som måste uppnås för att en organisation ska ha nått en viss mognadsnivå. Metoder som RUP kan implementeras för att tillfredsställa många av dessa mål.
CMMs historia
Initiativet till att ta fram ett system för att mäta processmognad togs av det amerikanska Försvarsdepartementet. De behövde ett sätt att utvärdera tilltänkta underleverantörer för att göra sin upphandlingsprocess mer pålitlig. Uppgiften gick till Software Engineering Institute (SEI) vid Carnegie Mellon University i Pittsburg, PA.
Det första ramverket för utvärdering lades fram 1987. SEI samlade in feedback från användare under flera års tid, och version 1.0 av CMM presenterades 1991. 1993 släpptes version 1.1 av Capability Maturity Model for Software (CMM-SW eller CMM).
CMM har blivit de facto standard för processutvärdering och processförbättring I mjukvaruindustrin. CMM har varit så framgångsrik att flera andra modeller har utvecklats baserat på CMMs principer. Flera av de modellerna har samlats ihop i Capability Maturity Model Integration (CMMI). CMMI kommer inom några år att helt ersätta CMM-SW.