Background to Capability Maturity Model Integration (CMMI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
De definitieve handleiding voor de Capability Maturity Model Integration (CMMI) for Development wordt gepubliceerd door het Software Engineering Institute als "CMMI: Guidelines for Process Integration and Product Improvement.". In dit boek wordt specifiek de CMMI for Development (CMMI-DEV) versie 1.3 beschreven. Dit is een van de modellen in de CMMI-productsuite. U kunt ook "CMMI Gedestilleerd: een praktische inleiding tot geïntegreerde procesverbetering" vinden om een nuttig en toegankelijk boek over CMMI te zijn.
Notitie
De richtlijnen die hier worden gegeven, zijn gebaseerd op versie 1.3 voor CMMI en ondersteunen het CMMI-proces dat beschikbaar is met Azure DevOps. Er bestaan op dit moment geen plannen om deze inhoud bij te werken ter ondersteuning van latere versies.
Historische notities
De CMMI begon in 1987 als het Capability Maturity Model (CMM), een project bij het Software Engineering Institute (SEI). SEI is een onderzoekscentrum aan de Carnegie-Mellon University, dat werd opgericht en gefinancierd door het Verenigde Staten Department of Defense. Voor het eerst gepubliceerd in 1991 begon de CMM for Software als controlelijst met kritieke succesfactoren. Het model is ook gebaseerd op onderzoek bij International Business Machines (IBM) Corporation en 20e-eeuwse kwaliteitsgarantieleiders zoals Philip Crosby en W. Edwards Deming. Zowel de naam, het mogelijkheidsmodel als de gefaseerde weergave vijf niveaus zijn geïnspireerd door crosby's productierijpheidsmodel. Vooral toegepast op defensieprogramma's bereikte CMM aanzienlijke acceptatie en onderging verschillende revisies. Het succes heeft geleid tot de ontwikkeling van CMM's voor verschillende onderwerpen buiten software. De verspreiding van nieuwe modellen was verwarrend. Als reactie heeft de overheid een project van twee jaar gefinancierd om één uitbreidbaar framework te creëren dat geïntegreerde systemen engineering, software-engineering en productontwikkeling mogelijk maakt. Deze inspanning was meer dan 200 industrie- en academische experts. Het resultaat was CMMI.
CMMI-DEV is een model. Het is geen proces, noch een recept dat moet worden gevolgd. In plaats daarvan biedt CMMI-DEV een set organisatiegedrag dat heeft bewezen te worden gebruikt in softwareontwikkeling en systeemengineering. Waarom een dergelijk model gebruiken? Wat is het doel ervan? En hoe zou het beste moeten worden gebruikt? Deze kritieke vragen zijn misschien wel de meest verkeerd begrepen problemen met CMMI.
Waarom een model gebruiken?
Verbeteringsinspanningen vereisen een model van hoe uw organisatie werkt, welke functies ze nodig hebben en hoe deze functies communiceren. Een model geeft u inzicht in organisatie-elementen en helpt u bij discussies over hoe en wat er wel en wat moet worden verbeterd.
Een model biedt de volgende voordelen:
- Biedt een gemeenschappelijk framework en een gemeenschappelijke taal om te communiceren
- Maakt gebruik van jarenlange ervaring
- Helpt gebruikers bij het overwegen van het grote beeld terwijl ze zich concentreren op verbetering
- Wordt vaak ondersteund door trainers en consultants
- Kan helpen bij het oplossen van onenigheid door overeengekomen normen te bieden
Wat is het doel van het CMMI-model?
Het doel van het CMMI-model is om de volwassenheid van de processen van een organisatie te beoordelen en richtlijnen te bieden voor het verbeteren van processen, met als doel verbeterde producten. CMMI is ook een model voor risicobeheer en biedt een manier om het vermogen van een organisatie om risico's te beheren. De mogelijkheid om risicofactoren te beheren in een organisatie die producten van hoge kwaliteit kan leveren. Een ander perspectief op het beheren van risico's is hoe goed een organisatie presteert onder stress. Een organisatie met een hoge volwassenheid, hoge capaciteit kan eenvoudig reageren op onverwachte, stressvolle gebeurtenissen. Een organisatie met een lage volwassenheid en een lagere capaciteit heeft de neiging om in paniek te raken onder stress, blind volg de obviated procedures of gooi al het proces helemaal weg en retren terug naar chaos.
De CMMI is echter geen bewezen indicator van de economische prestaties van een organisatie. Hoewel organisaties met een hogere volwassenheid risico's beter kunnen beheren en voorspelbaarder kunnen zijn, bestaat er bewijs dat bedrijven met een hogere vervaldatum de risico-averse hebben. Risico-aversie kan leiden tot een gebrek aan innovatie of bewijs van grotere bureaucratie die leidt tot lange doorlooptijden en een gebrek aan concurrentievermogen. Lagere volwassen bedrijven zijn meestal innovatiever en creatiever, maar onvoorspelbaar en onvoorspelbaar. Wanneer resultaten worden bereikt, zijn ze vaak het resultaat van heroïsche inspanningen van individuen of managers.
Wat is de beste manier om het CMMI-model te gebruiken?
Het model is ontworpen om te worden gebruikt als basis voor een initiatief voor procesverbetering, met het gebruik ervan in evaluatie alleen een ondersteuningssysteem voor het meten van verbetering. Er is een gemengd succes met dit gebruik. Het is te gemakkelijk om het model voor een procesdefinitie te vergisten en te proberen het te volgen, in plaats van een kaart die hiaten in bestaande processen identificeert die mogelijk moeten worden ingevuld. De fundamentele bouwsteen van CMMI is een procesgebied dat doelen en verschillende activiteiten definieert die vaak worden gebruikt om deze te bereiken. Een voorbeeld van een procesgebied is Proces- en Productkwaliteitscontrole. Een andere is Configuratiebeheer. Het is belangrijk om te begrijpen dat een procesgebied geen proces is. Een enkel proces kan meerdere procesgebieden kruisen en een afzonderlijk procesgebied kan meerdere processen omvatten.
De CMMI-DEV is eigenlijk twee modellen die dezelfde onderliggende elementen delen. De eerste en meest bekende is de gefaseerde weergave, waarin de 22 procesgebieden worden weergegeven die zijn toegewezen aan een van de vijf volwassenheidsniveaus van de organisatie. Een beoordeling van een organisatie zou het niveau beoordelen waarop het bedrijf actief was, en dit niveau zou een indicator zijn van de mogelijkheid om risico's te beheren en, zoals, haar beloftes af te leveren.
Niveaus 4 en 5 worden vaak hogere volwassenheidsniveaus genoemd. Er is vaak een duidelijk verschil tussen organisaties met een hogere volwassenheid, die het kwantitatieve beheer en het optimaliseren van gedrag demonstreren, en organisaties die slechts worden beheerd of gevolgd door gedefinieerde processen. Organisaties met een hogere volwassenheid tonen een lagere variabiliteit in processen en gebruiken vaak toonaangevende indicatoren als onderdeel van een statistisch verdedigbare beheermethode. Als gevolg hiervan zijn organisaties met een hogere volwassenheid meestal zowel voorspelbaarder als sneller bij het reageren op nieuwe informatie, ervan uitgaande dat andere bureaucratie niet in de weg zit. Wanneer organisaties met een lage volwassenheid vaak heroïsche inspanningen demonstreren, kunnen organisaties met een hoge volwassenheid blind processen volgen wanneer ze stress ondervinden en niet herkennen dat een proceswijziging een geschikter antwoord kan zijn.
De procesmogelijkheid voor continue representatiemodellen binnen elk van de 22 procesgebieden afzonderlijk, waardoor de organisatie hun verbeteringsinspanningen kan aanpassen aan de processen die de hoogste bedrijfswaarde bieden. Deze weergave is meer in overeenstemming met het oorspronkelijke model van Crosby. Beoordelingen tegen dit model resulteren in profielen van mogelijkheden in plaats van één getal. Omdat het volwassenheidsniveau van de organisatie het niveau is dat de meeste managers en leidinggevenden begrijpen, zijn er manieren om de resultaten van een continue modelevaluatie toe te wijzen aan de vijf fasen.
Het gebruik van het gefaseerde model als basis voor een procesverbeteringsprogramma kan gevaarlijk zijn wanneer implementers vergeten dat de CMMI geen proces of een werkstroommodel is. In plaats daarvan is de CMMI ontworpen om doelen te bieden voor proces en werkstroom die moeten worden bereikt. Het voldoen aan dergelijke doelen verbetert de volwassenheid van de organisatie en de kans dat gebeurtenissen zich ontwikkelen zoals gepland. Misschien is de grootste foutmodus het bereiken van een niveau het doel en vervolgens het creëren van processen en infrastructuur eenvoudigweg om de beoordeling door te geven. Het doel van een procesverbeteringsactiviteit moet meetbaar zijn, niet een getal.
Het continue model heeft genoten van succes als richtlijn voor procesverbetering. Sommige adviesbedrijven kiezen ervoor om alleen richtlijnen te bieden rond het continue model. Het meest voor de hand liggende verschil is dat een procesverbeteringsprogramma dat is ontworpen rond het continue model geen kunstmatige doelen heeft die worden bepaald door volwassenheidsniveaus. Het continue model leent zich ook voor het toepassen van procesverbetering op gebieden waar het hoogstwaarschijnlijk een economisch voordeel voor de organisatie zal benutten. Daarom ontvangen degenen die het doorlopende model volgen waarschijnlijk positieve feedback van een initiatief dat is gebaseerd op het CMMI-model. Bovendien leidt positieve feedback waarschijnlijk tot de ontwikkeling van een positieve cyclus van verbeteringen.
Elementen van het CMMI-model
De volgende tabel bevat de 22 procesgebieden die bestaan uit het CMMI-model (versie 1.3):
Acroniem | Procesgebied |
---|---|
AUTO | Causale analyse en oplossing |
KZA | Configuration Management |
DAR | Beslissingsanalyse en -oplossing |
IPM | Geïntegreerd projectbeheer |
MA | Meting en analyse |
OID | Organisatie-innovatie en -implementatie |
OPD | Organisatieprocesdefinitie |
OPF | Focus organisatieproces |
OPP | Prestaties van organisatieproces |
OT | Organisatietraining |
PI | Productintegratie |
PMC | Projectbewaking en -beheer |
PP | Projectplanning |
PPQA | Kwaliteitscontrole van proces en product |
QPM | Kwantitatief projectbeheer |
RD | Definitie van vereisten |
REQM | Vereistenbeheer |
RSKM | Risicobeheer |
SAM | Beheer van leveranciersovereenkomsten |
TS | Technische oplossing |
VER | Verificatie |
VAL | Validatie |
In de gefaseerde weergave worden de procesgebieden toegewezen aan elke fase, zoals wordt weergegeven in de volgende afbeelding.
In de continue weergave worden de procesgebieden toegewezen aan functionele groeperingen, zoals wordt weergegeven in de volgende afbeelding.
Elk procesgebied bestaat uit vereiste, verwachte en informatieve onderdelen. Alleen de vereiste onderdelen zijn daadwerkelijk vereist om aan een beoordeling van het model te voldoen. De vereiste onderdelen zijn de specifieke en algemene doelstellingen voor elk procesgebied. De verwachte onderdelen zijn de specifieke en algemene procedures voor elk specifiek of algemeen doel. Houd er rekening mee dat, omdat een verwacht onderdeel slechts wordt verwacht en niet vereist, dit aangeeft dat een specifieke of algemene praktijk kan worden vervangen door een gelijkwaardige praktijk. De verwachte procedures zijn er om implementers en appraisers te begeleiden. Als een alternatieve praktijk wordt gekozen, is het aan de implementeerfunctie om een appraiser te adviseren en te rechtvaardigen waarom een alternatieve praktijk geschikt is. Informatieve onderdelen bieden details die implementeerfuncties helpen aan de slag te gaan met een initiatief voor procesverbetering dat wordt geleid door het CMMI-model. Informatieve onderdelen omvatten subpracties van algemene en specifieke praktijken en typische werkproducten.
Alleen algemene en specifieke doelen zijn vereist. Alles anders wordt geleverd als gids. Voor voorbeelden van verwachte en informatieve onderdelen haalt de CMMI-literatuur gegevens op uit grote ruimte- en defensiesystemenprojecten. Deze projecten weerspiegelen mogelijk niet het type projecten dat in uw organisatie wordt uitgevoerd, noch kunnen ze recentere trends in de branche weerspiegelen, zoals de opkomst van Agile-softwareontwikkelingsmethoden .
Verwante artikelen:
- CMMI-proces
- Software Engineering Institute releases versie 1.3 van CMMI Product Suite
- CMMI voor ontwikkeling: richtlijnen voor procesintegratie en productverbetering, derde editie
- CMMI voor ontwikkeling: richtlijnen voor procesintegratie en productverbetering (SEI Series in Software Engineering)
- Wat is Agile Development?