Capability Maturity Model (CMM) och dess nivåer inom mjukvaruteknik
Vad är CMM?
Capability Maturity Model används som ett riktmärke för att mäta mognad av en organisations mjukvaruprocess.
CMM utvecklades vid Software Engineering Institute i slutet av 80-talet. Den utvecklades som ett resultat av en studie finansierad av det amerikanska flygvapnet som ett sätt att utvärdera underleverantörernas arbete. Later baserat på CMM-SW-modellen skapad 1991 för att bedöma mognad av mjukvaruutveckling, flera andra modeller är integrerade med CMM-I de är
Vad är Capability Maturity Model (CMM) Levels?
- Initial
- Repeterbar/hanterad
- Definierad
- Kvantitativt hanterad
- Optimera
Vad händer på olika nivåer av CMM?
Nivåer | Stationer & aktiviteter | Fördelar |
---|---|---|
Nivå 1 Initial |
|
Ingen. Ett projekt är Total Chaos |
Nivå 2 Hanterad |
|
|
Nivå-3 definierad |
|
|
Nivå-4 Kvantitativt hanterad |
|
|
Nivå-5 Optimering |
|
|
Följande diagram ger en bildrepresentation av vad som händer på olika CMM-nivåer
Hur lång tid tar det att implementera CMM?
CMM är den mest önskvärda processen för att upprätthålla kvaliteten på produkten för alla mjukvaruutvecklingsföretag, men implementeringen tar lite längre tid än vad som förväntas.
- CMM-implementering sker inte över en natt
- Det är bara inte bara ett "pappersarbete".
- Typiska tider för implementering är
- 3-6 månader -> för förberedelser
- 6-12 månader -> för genomförande
- 3 månader -> för bedömningsförberedelser
- 12 månader ->för varje ny nivå
Intern struktur för CMM
Varje nivå i CMM definieras i nyckelprocessområde eller KPA, förutom nivå-1. Varje KPA definierar ett kluster av relaterade aktiviteter, som när de utförs kollektivt uppnår en uppsättning mål som anses vara avgörande för att förbättra mjukvarukapaciteten
För olika CMM-nivåer finns det uppsättningar av KPA:er, till exempel för CMM modell-2, KPA är
- REQM- Kravhantering
- PP- Projektering
- PMC- Projektövervakning och kontroll
- SAM- Leverantörsavtalshantering
- PPQA-process och kvalitetssäkring
- CM-Configuration Management
På samma sätt, för andra CMM-modeller, har du specifika KPA:er. För att veta om implementeringen av en KPA är effektiv, varaktig och repeterbar, kartläggs den på följande basis
- Engagemang att prestera
- Förmåga att prestera
- Aktiviteter utförs
- Mätning och analys
- Verifierar implementering
Begränsningar för CMM-modeller
- CMM bestämmer vad en process ska ta upp istället för hur den ska implementeras
- Det förklarar inte alla möjligheter till förbättring av mjukvaruprocesser
- Den koncentrerar sig på mjukvarufrågor men tar inte hänsyn till strategisk affärsplanering, antagande av teknik, upprättande av produktlinje och hantering av mänskliga resurser
- Det säger inte om vilken typ av verksamhet en organisation ska vara i
- CMM kommer inte att vara användbart i projektet som har en kris just nu
Varför använda CMM?
Idag fungerar CMM som ett "godkännandemärke" inom mjukvaruindustrin. Det hjälper på olika sätt att förbättra mjukvarans kvalitet.
- Den vägleder mot repeterbar standardprocess och minskar därmed inlärningstiden för hur man får saker gjorda
- Att öva på CMM innebär att öva på standardprotokoll för utveckling, vilket betyder att det inte bara hjälper teamet att spara tid utan också ger en tydlig bild av vad de ska göra och vad som kan förväntas
- Kvalitetsaktiviteterna passar väl ihop med projektet snarare än att ses som ett separat evenemang
- Den fungerar som en pendlare mellan projektet och teamet
- CMM:s ansträngningar syftar alltid till att förbättra processen
Sammanfattning
CMM introducerades först i slutet av 80-talet i US Air Force för att utvärdera underleverantörers arbete. Later på, med förbättrad version, implementerades den för att spåra kvaliteten på mjukvaruutvecklingssystemet.
Hela CMM-nivån är uppdelad i fem nivåer.
- Nivå 1 (Initialt): Där kraven på systemet vanligtvis är osäkra, missförstådda och okontrollerade. Processen är vanligtvis kaotisk och ad hoc.
- Nivå 2 (Managed): Uppskatta projektkostnad, schema och funktionalitet. Programvarustandarder definieras
- Nivå 3 (Definierat): Säkerställer att produkten uppfyller kraven och avsedd användning
- Nivå 4 (Quantitatively Managed): Hanterar projektets processer och delprocesser statistiskt
- Nivå 5 (Mognad): Identifiera och implementera nya verktyg och processförbättringar för att möta behov och affärsmål