Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
1 van 14 Definitief 27-08-2007
CMMI voor ontwikkeling Doel Het doel van deze checklist is het ondersteunen van organisaties die de prestaties van systeemontwikkeling, hardwareontwikkeling en softwareontwikkeling blijvend willen verbeteren. De checklist is bedoeld voor: • lijnmanagers binnen ICT-organisaties, om overzicht te bieden wat een organisatie kan doen en waar ze op moet letten om verbetering van prestaties blijvend te laten zijn; • projectmanagers en projectleiders van CMMI-implementaties, om aandachtspunten en kritische succesfactoren te managen tijdens inrichting en uitvoering van de CMMIimplementatie; • ‘QA-verantwoordelijken’ binnen ICT, zowel voor borging van proceskwaliteit als productkwaliteit, om te ondersteunen bij het identificeren van sterke en zwakke punten binnen het ontwikkelproces en inrichting van borging; • senior managers om kort en snel inzicht te krijgen wat het CMMI inhoudt en op welke wijze voldaan kan worden aan blijvende en continue verbetering van de organisatie.
Toepassingsgebied De checklist is van toepassing op verbetering van systeemontwikkeling, hardwareontwikkeling en softwareontwikkeling. De checklist is gebaseerd op het Capability Maturity Model Integration for Development, ontwikkeld door het Software Engineering Institute van de Carnegie Mellon University in Pittsburgh. Als in deze checklist wordt gesproken over CMMI wordt CMMI for Development versie 1.2 bedoeld. Er is ook een CMMI for Acquisition dat zich richt op het verbeteren van processen betreffende acquisitie en outsourcing. Daarnaast is er ten tijde van het opstellen van deze checklist een concept van het CMMI for Services. Dit laatste CMMI richt zich op beheer en onderhoud. Aan het CMMI for Acquisition en het CMMI for Services wordt in deze checklist geen aandacht besteed.
Auteursgegevens Drs. H.J.J. (Jan Jaap) Cannegieter is in 1993 als bedrijfseconoom afgestudeerd aan de Universiteit van Amsterdam. Hij begon zijn carrière bij de lokale overheid, waar hij diverse geautomatiseerde systemen heeft getest en geïmplementeerd. De latere opdrachten die hij bij uiteenlopend organisaties heeft uitgevoerd, waren op zowel uitvoerend, leidinggevend als adviserend niveau. Hij heeft opdrachten uitgevoerd op het gebied van testen, testmanagement, Quality Assurance in projecten en Software Process Improvement, waaronder het implementeren van CMM(I). Naast de opdrachten verzorgt hij diverse cursussen en workshops op het gebied van kwaliteitsmanagement in ICT. Hij is auteur van de boeken Kwaliteitszorg in ICT-projecten en Software Process Improvement alsmede medeauteur van De kleine CMMI voor ontwikkeling en regelmatig spreker op (inter)nationale seminars. Jan Jaap is lid van de directie van SYSQA B.V., een onafhankelijke dienstverlener, gespecialiseerd in kwaliteitsmanagement en testen. Binnen de directie is hij verantwoordelijk voor de kwaliteit van de dienstverlening en kennismanagement. Hij is te bereiken via:
[email protected]. Ing. J. (Johan) Zandhuis heeft na een elektrotechnische vooropleiding in 1989 in Leeuwarden de HTS Bedrijfskunde voltooid. Vervolgens is hij geruime tijd werkzaam geweest in een productieorganisatie waar hij verantwoordelijk was voor planning, logistiek, arbeidskunde, automatisering en kwaliteitsmanagement. Daarbij is hem opgevallen dat Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
2 van 14 Definitief 27-08-2007
productiviteit en effectiviteit drastisch te verhogen zijn door gebruik te maken van bestaande, soms al jarenoude methoden en technieken. Langzamerhand heeft zijn werkterrein zich toegespitst op kwaliteitszorg in ICT. De ervaringen en principes vanuit optimalisatie van productieprocessen vormen daarbij een meerwaarde bij optimalisatie van ICT-organisaties omdat ze bij regelmaat een-op-een van toepassing zijn. Naast opdrachten, waaronder CMMI-implementaties, verzorgt hij diverse cursussen en workshops op het gebied van kwaliteitsmanagement in ICT. Johan is productmanager bij SYSQA B.V., een onafhankelijke dienstverlener, gespecialiseerd in kwaliteitsmanagement en testen. Hij is te bereiken via:
[email protected].
Inleiding Hoewel ontwikkelaars en managers hun problemen meestal in grote lijnen kennen, kunnen zij het oneens zijn over welke verbeteringen het belangrijkst zijn. Zonder een georganiseerde strategie voor verbeteringen is het moeilijk consensus te bereiken tussen het management en de professionele staf over welke verbeteractiviteiten als eerste uitgevoerd gaan worden. Om blijvend resultaat te halen uit verbeteractiviteiten is het noodzakelijk om een groeipad naar volwassenheid te ontwerpen dat de volwassenheid van het proces in niveaus verbetert. Het Capability Maturity Model Integration for Development (CMMI voor ontwikkeling) is een dergelijk volwassenheidsraamwerk voor het verbeteren van systeemontwikkeling, softwareontwikkeling en hardwareontwikkeling. Het ordent de niveaus van volwassenheid van systeemontwikkeling zodanig dat elk volgend volwassenheidsniveau voortbouwt op de resultaten van het voorgaande niveau. Het CMMI geeft organisaties handvatten hoe zij het proces om systemen, software of hardware te ontwikkelen en te onderhouden, kunnen evalueren en verbeteren. Door middel van een assessment of evaluatie kan het huidige niveau van volwassenheid van de ontwikkeling worden bepaald. Aan de hand van het niveau kan bepaald worden welke verbeteractiviteiten als eerste opgepakt dienen te worden. Door zich op slechts enkele activiteiten te richten en deze met volle overtuiging na te streven, kan een organisatie haar overall proces geleidelijk verbeteren en zodoende continue en blijvende groei realiseren. In deze checklist wordt eerst toegelicht wat het CMMI voor ontwikkeling is en hoe het is opgebouwd. Vervolgens is een checklist opgenomen die gebruikt kan worden bij het implementeren van CMMI.
CMMI: het model Ontstaansgeschiedenis Het CMM, de voorloper van het CMMI, is eind jaren tachtig ontwikkeld door het Software Engineering Institute (SEI) van de Carnegie Mellon University in Amerika in opdracht van het Department of Defense (DoD). Het DoD wilde de bekwaamheid van zijn softwareleveranciers beoordelen. Bij het uitoefenen van zijn primaire taken is het DoD afhankelijk van de kwaliteit van de software die door leveranciers wordt geleverd. Het model bestond uit een vragenlijst. Aan de hand van de vragenlijst kon de volwassenheid van het softwareproces van de leverancier worden bepaald. Watts Humphrey, eind jaren tachtig werkzaam bij het SEI, wordt gezien als de geestelijke vader van het CMM. Na enige tijd ervaring te hebben opgedaan met de vragenlijst, ontwikkelde het SEI vanuit de vragenlijst het CMM voor software. De eerste versie werd begin jaren negentig gebruikt en beoordeeld door de softwaregemeenschap. Op grond van feedback uit die gemeenschap is versie 1.1 ontwikkeld. Het CMM voor software versie 1.1 bestaat uit een model en een vragenlijst. Met behulp van de vragenlijst kan bepaald worden op welk
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
3 van 14 Definitief 27-08-2007
volwassenheidsniveau de organisatie zich bevindt. Het model is de basis voor het verbeteren van het softwareproces. In 2001 is het CMMI als opvolger van het CMM geïntroduceerd. Het CMMI is niet alleen gericht op software engineering, maar ook op systeem engineering en geïntegreerde product- en procesontwikkeling. In 2006 is een aantal wijzigingen doorgevoerd in het CMMI. Sindsdien heet het model het CMMI voor ontwikkeling versie 1.2. Het CMMI voor ontwikkeling richt zich op systeemontwikkeling, softwareontwikkeling en hardwareontwikkeling, met toevoegingen voor geïntegreerde product- en procesontwikkeling. Indien in het vervolg van deze checklist gesproken wordt over CMMI wordt het CMMI voor ontwikkeling bedoeld.
Representaties van CMMI Het CMMI kent, in tegenstelling tot het CMM, twee representaties: stapsgewijs en continu. De stapsgewijze representatie is in hoge mate vergelijkbaar met het oude CMM. Het kent vijf niveaus van volwassenheid waarlangs organisaties hun ontwikkelingsprocessen verbeteren. Per volwassenheidsniveau kent het CMMI een aantal procesgebieden. Om op een bepaald volwassenheidsniveau te komen dient aan alle eisen van de procesgebieden van dat niveau te worden voldaan. Helder en eenvoudig: eerst aan de eisen van alle procesgebieden van niveau 2 voldoen (voor niveau 1 zijn er geen eisen, dat niveau is dus gratis), dan aan alle eisen van niveau 3 en zo verder tot en met niveau 5. De continue representatie heeft een heel andere opbouw. Hier zijn de procesgebieden niet ingedeeld naar volwassenheidsniveau. De procesgebieden zelf kennen zes vaardigheidsniveaus. De gewenste volgorde van de implementatie van de procesgebieden bepaalt de organisatie in theorie zelf en het te bereiken vaardigheidsniveau per procesgebied ook. Deze vlieger gaat niet helemaal op, want er is een groot aantal afhankelijkheden tussen de procesgebieden, maar het is wel een stuk flexibeler dan de stapsgewijze representatie.
Stapsgewijze representatie Het CMMI stapsgewijs is opgebouwd uit vijf volwassenheidsniveaus (figuur 1). Per volwassenheidsniveau wordt een aantal procesgebieden onderkent. O p t im a l is e r e n d
C o n t in u e v e r b e te r in g
K w a n t it a t ie f b e h e e rs t
V o o r s p e lb a a r p ro c e s
G e d e f in ie e r d
S ta n d a a rd p ro c e s
B e h e e rs t
G e d is c i p l i n e e r d p ro c e s
I n it i e e l
Figuur 1. Het CMMI stapsgewijs.
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
4 van 14 Definitief 27-08-2007
Niveau 1: Initieel Op volwassenheidsniveau 1 zijn de processen ad hoc en chaotisch. Er is geen stabiele omgeving voor projecten. Succes in deze organisaties hangt af van de competenties van enkele individuen (de helden) in de organisatie en is niet het gevolg van bewezen processen. Ondanks deze ad hoc, chaotische omgeving produceren niveau 1-organisaties werkbare producten en diensten . Hierbij vinden wel vaak budget- en tijdoverschrijdingen plaats. Niveau 1-organisaties worden gekenmerkt door over-commitment, het afschaffen (niet toepassen) van processen in tijden van stress en het niet kunnen herhalen van successen.
Niveau 2: Beheerst Projecten van organisaties op niveau 2 hebben zeker gesteld dat eisen gemanaged worden en dat de processen gepland, uitgevoerd, gemeten en beheerst worden. De procesdiscipline van een organisatie op niveau 2 zorgt ervoor dat de processen ook uitgevoerd worden in tijden van stress. Projecten worden uitgevoerd en beheerst conform een gedocumenteerd plan. De procesgebieden van niveau 2 zijn: • eisenmanagement; • projectplanning; • projectmonitoring en projectbeheersing; • leveranciersmanagement; • meting en analyse; • proces en product kwaliteitsborging; • configuratiemanagement.
Niveau 3: Gedefinieerd Op niveau 3 zijn de processen een onvervreemdbaar deel van de organisatie; ze worden beschreven in standaards, procedures en methoden die ook onderhouden worden. De basis voor het bereiken van niveau 3 is een standaardset procesbeschrijvingen. Deze beschrijvingen worden gebruikt om consistentie te verkrijgen door de gehele organisatie heen. De projectmanagers stemmen hun processen af door de standaard organisatieprocessen op maat te ‘snijden’ voor hun project met behulp van de richtlijnen die hiervoor zijn vastgesteld. Het management gebruikt deze voor het vaststellen van de procesdoelstellingen. Belangrijke verschillen tussen niveau 2 en 3 zijn: • De scope van de standaarden, procesbeschrijvingen en de procedures: op niveau 2 kunnen deze per project totaal anders zijn. Op niveau 3 wordt de organisatiestandaard als uitgangspunt genomen en aangepast naar aanleiding van de specifieke omstandigheden. Hierdoor wordt het noodzakelijke maatwerk verkregen, waardoor processen niet als keurslijf werken. • Op niveau 3 zijn de procesbeschrijvingen en de procedures meer in detail en veel scherper geformuleerd dan op niveau 2. De processen worden ook proactiever gemanaged met meer begrip voor de onderlinge verhoudingen en met gebruik van metingen. De procesgebieden van niveau 3 zijn: • eisenontwikkeling; • technische oplossing; • productintegratie; • verificatie; Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
• • • • • • •
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
5 van 14 Definitief 27-08-2007
validatie; organisatiebrede procesfocus; organisatiebrede procesdefinitie; organisatiebrede training; geïntegreerd projectmanagement; risicomanagement; alternatievenanalyse en oplossingskeuze.
Niveau 4: Kwantitatief beheerst Op niveau 4 stelt de organisatie kwantitatieve doelstellingen op voor het beheersen van de kwaliteit van processen en producten. Deze kwantitatieve doelstellingen worden gebaseerd op de wensen en behoeften van klanten, eindgebruikers en de organisatie. Er worden gedetailleerde metingen verricht en de uitkomsten worden geanalyseerd op het gebied van kwaliteit en proces. Knelpunten worden geïdentificeerd en gecorrigeerd om deze in de toekomst te voorkomen. Belangrijk verschil met niveau 3 is de voorspelbaarheid. Op niveau 3 zijn de processen kwalitatief voorspelbaar terwijl op niveau 4 statistische en andere kwantitatieve methoden worden gebruikt om de processen te meten en zo de processen ook kwantitatief voorspelbaar te maken. De procesgebieden van niveau 4 zijn: • organisatiebrede procesprestatie; • kwantitatief projectmanagement.
Niveau 5: Optimaliserend Op dit niveau focust de organisatie zich op continue verbetering van de procesperformance. Er worden kwantitatieve doelstellingen bepaald die worden afgezet tegen de bedrijfsdoelstellingen. Deze worden gebruikt om het verbeteringstraject te managen. De verbeteringen worden geselecteerd op basis van hun verwachte bijdrage aan de verbeteringsdoelstellingen versus de kosten en impact op de organisatie. De gehele organisatie is betrokken bij de procesverbeteringen, hetgeen bijdraagt aan een voortdurende cyclus van procesverbetering. Een belangrijk verschil met niveau 4 is, dat op niveau 4 weliswaar de procesvariaties kwantitatief worden gemaakt en voorspelbaar zijn, maar dat mogelijk toch de doelstellingen niet worden bereikt. Op niveau 5 is het belangrijk om de achterliggende oorzaak van de variaties te achterhalen en het proces vervolgens aan te passen om zodoende toch de doelstellingen te behalen. De procesgebieden van niveau 5 zijn: • organisatiebrede innovatie en borging; • causale probleemanalyse en probleemoplossing. Opbouw volwassenheidsniveaus De opbouw van de volwassenheidsniveaus in het CMMI stapsgewijs is als afgebeeld in figuur 2.
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
6 van 14 Definitief 27-08-2007
Volwassenheidsniveau
Procesgebied 1
Procesgebied 2
Specifieke doelen
Specifieke praktijken
Procesgebied n
Generieke doelen
Generieke praktijken
Figuur 2. De volwassenheidsniveaus van het CMMI stapsgewijs. De stapsgewijze representatie van het CMMI bestaat uit vijf volwassenheidsniveaus. Elk volwassenheidsniveau kent een aantal procesgebieden. Per procesgebied onderkennen we specifieke doelen en generieke doelen. De specifieke doelen zijn voor dat procesgebied specifiek, er dient aan voldaan te worden. Om hier invulling aan te geven, bevat elk doel een of meer specifieke praktijken. Naast de specifieke doelen kent elk procesgebied generieke doelen die gelijk zijn voor elk procesgebied. Deze eisen hebben meer met randvoorwaardelijke zaken te maken. De generieke doelen zijn weer uitgewerkt in generieke praktijken.
Continue representatie De continue representatie kent een geheel andere opzet. In plaats dat de organisatie zich richt op een hoger volwassenheidsniveau, met daarbij voorgeschreven aan welke procesgebieden de organisatie dient te werken, gaat de organisatie zelf bepalen op welke procesgebieden zij zich gaat richten. Dit is echter niet helemaal vrijgelaten doordat de prestatie op het ene procesgebied afhankelijk kan zijn van de output van een andere procesgebied. Bij de continue representatie wordt eerst geanalyseerd wat de problemen en doelstellingen van het verbetertraject zijn. Vervolgens stel je vast op welke procesgebieden die problemen en doelstellingen betrekking hebben. Op die procesgebieden gaat de organisatie zich dan focussen. Bij de continue representatie worden de procesgebieden niet gegroepeerd per volwassenheidsniveau. De procesgebieden zijn wel dezelfde als bij de stapsgewijze representatie, maar ze worden gegroepeerd in vier hoofdgroepen, te weten: • procesmanagement; • projectmanagement; • engineering; • ondersteuning. De procesgebieden binnen zo’n hoofdgroep kunnen op twee niveaus worden onderscheiden: de basisprocesgebieden en de geavanceerde procesgebieden. De basisprocesgebieden (in de stapsgewijze representatie zijn dit meestal de procesgebieden van niveau 2 en 3) kun je als organisatie het beste als eerste aanpakken. Deze vormen ook een voorwaarde om de geavanceerde procesgebieden te kunnen implementeren (dit is de afhankelijkheid waarover hiervoor is gesproken).
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
7 van 14 Definitief 27-08-2007
Procesmanagement procesgebieden De procesgebieden van procesmanagement zijn van toepassing door alle projecten van de organisatie heen. De procesgebieden zijn: • organisatiebrede procesfocus; • organisatiebrede procesdefinitie; • organisatiebrede training; • organisatiebrede procesprestatie; • organisatiebrede innovatie en borging.
Projectmanagement procesgebieden Dit zijn de procesgebieden die met het managen van de projecten van doen hebben. Dit zijn: • projectplanning; • projectmonitoring en projectbeheersing; • leveranciersmanagement; • geïntegreerd projectmanagement; • risicomanagement; • kwantitatief projectmanagement.
Engineering procesgebieden Dit zijn alle procesgebieden die te maken hebben met de ontwikkeling en het onderhoud van de systemen. De procesgebieden zijn: • eisenmanagement; • eisenontwikkeling; • technische oplossing; • productintegratie; • verificatie; • validatie. Bij deze procesgebieden is er geen onderverdeling in basis- en geavanceerde procesgebieden.
Ondersteunende procesgebieden Dit betreft de procesgebieden die andere procesgebieden ondersteunen. De procesgebieden zijn: • configuratiemanagement; • proces en product kwaliteitsborging; • meting en analyse. • alternatievenanalyse en oplossingskeuze; • causale probleemanalyse en probleemoplossing.
De vaardigheidsniveaus Ieder procesgebied kent in totaal zes vaardigheidsniveaus, te weten: • niveau 0 (incompleet): de processen worden op dit niveau niet of gedeeltelijk door de organisatie uitgevoerd. • niveau 1 (uitgevoerd): de processen worden nu wel uitgevoerd. • niveau 2 (beheerst): de processen worden niet alleen uitgevoerd maar ook beheerst. Dit houdt in dat er een plan is dat gebruikt wordt bij het uitvoeren en dat er resources beschikbaar worden gesteld. In tijden van stress blijft het uitvoeren van de processen overeind staan.
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
•
•
•
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
8 van 14 Definitief 27-08-2007
niveau 3 (gedefinieerd): het proces is beschreven in een standaardset van processen (organisatiebreed, dit in tegenstelling tot niveau 2, waar er tussen projecten nog een verschillende opvatting kan zijn van het begrip beheerst) die is ingeburgerd en wordt onderhouden. Hierin is ook de relatie tussen verschillende processen vastgelegd. Een proces op dit niveau voldoet aan een aantal voorwaarden. niveau 4 (kwantitatief beheerst): dit proces is op het niveau van gedefinieerd, maar wordt beheerst met behulp van statistische en andere kwantitatieve methoden. Hierop worden door het management ook kwantitatieve doelstellingen geformuleerd. De doelstellingen worden gebaseerd op basis van wensen/behoeften van eindgebruikers, klanten en de organisatie zelf. niveau 5 (optimaliserend): dit betreft een kwantitatief beheerst proces dat wordt afgestemd op en aangepast aan de doelstellingen van de organisatie. De focus ligt op het continu verbeteren van de procesprestaties, zowel incrementeel als innovatief.
Opbouw van het model Het model is opgebouwd aan de hand van de procesgebieden (zie hiervoor). Deze procesgebieden zijn opgebouwd als weergegeven in figuur 3. Procesgebied
Specifieke doelen
Specifieke praktijken
Generieke doelen
Vaardigheidsniveau
Generieke praktijken
Figuur 3. De opbouw van de procesgebieden.
Kritische succesfactoren CMMI Ondanks de kracht van CMMI is toepassing ervan in de praktijk niet per definitie succesvol. Uit onderzoek van het SEI blijkt dat slechts 58% van de CMMI-trajecten succesvol is. Dat wil niet zeggen dat dergelijke trajecten volkomen mislukken. Vaak betekent het dat de voordelen als onvoldoende hoog worden gewaardeerd, of dat het verbetertraject door teruglopende prioriteit en aandacht langzaam gestopt is. In deze paragraaf wordt ingegaan op de succesen faalfactoren van CMMI-trajecten. Door consequent op deze factoren te sturen, is de kans dat een CMMI-traject succesvol wordt aanzienlijk groter. De factoren worden in willekeurige volgorde gegeven; het belang ervan is namelijk sterk afhankelijk van de omgeving waarin CMMI wordt toegepast.
Managementsteun Steun van het management is een van de belangrijkste voorwaarden om tot succes te komen. Het management dient het CMMI-traject hoog op de agenda te zetten, er middelen voor beschikbaar te stellen, het zelf in woord en daad te ondersteunen en er tevens actief aan bij te dragen. Steun voor een CMMI-initiatief moet niet alleen op papier staan, maar moet concrete inhoud hebben en actief uitgedragen worden door de managementverantwoordelijken. Leiderschap van het management is hierin cruciaal.
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
9 van 14 Definitief 27-08-2007
Betrokkenheid van belanghebbenden Hoe meer betrokkenen achter de doelstellingen en aanpak van het CMMI-traject staan, hoe groter de kans dat het een succes wordt. Immers, verbetering vraagt om doelgerichte actie; als alle betrokkenen hieraan bijdragen, kunnen bergen worden verzet. Betrokkenheid wordt over het algemeen het beste bereikt door de deelnemers te betrekken bij de formulering van doelstellingen, aanpak, voorbereiding en uitvoering van het CMMI-traject. Overigens blijkt het in de praktijk haast onmogelijk om echt alle medewerkers achter een CMMI-traject te scharen. Tegenstanders en cynici zijn er bijna altijd. Het is echter zaak te proberen hun aantal en hun invloed te beperken. Een manier hiervoor is door ze mee te laten werken aan en deel uit te laten maken van de oplossing.
Noodzaak voor verbetering Het verkrijgen van commitment van het management en betrokkenen gaat doorgaans veel makkelijker als er een duidelijke noodzaak voor verbetering aanwezig is. Deze kan over het algemeen op twee manieren tot stand komen. Enerzijds doordat er dusdanig ingrijpende consequenties komen als er niet verbeterd wordt – denk daarbij aan ontslagen, faillissement, uitbesteding en klantenverlies; bedreigingen kunnen de noodzaak voor actie heel duidelijk maken – anderzijds kan een verbetering van de concurrentiepositie als stimulans werken. Dit leidt immers tot een betere economische positie van de organisatie en haar medewerkers, en meer groeimogelijkheden, uitdagingen, ontwikkelingskansen, e.d. Ook dergelijke kansen kunnen heel goed werken om de noodzaak voor verbetering duidelijk te maken. Uiteraard is het in veel gevallen mogelijk een combinatie te maken tussen bedreigingen en kansen. Hoe groter de noodzaak voor verbetering wordt gevoeld, hoe groter de kans op goede resultaten.
Het prioriteren van verbeteracties In de praktijk blijkt vaak dat bij organisaties die beginnen met procesverbetering, diverse zaken verbeterd kunnen worden. Omdat de bedrijfsprocessen gewoon doorgaan, kan de organisatie niet tegelijkertijd al deze punten oppakken. Ook bij CMMI-trajecten geldt dat het beter is om twee dingen goed te doen dan vijf dingen slecht. Daarom is het zaak de verbeteracties te prioriteren en de aandacht op één of enkele verbeteracties te richten. De overige verbeterpunten kunnen dan altijd later nog worden opgepakt. Het is zinvol de verbeteracties zodanig te prioriteren dat ze in lijn zijn met de strategie en langetermijndoelstellingen van de organisatie zelf. Tegelijkertijd is het raadzaam om bij het prioriteren de ‘quick wins’ hoog op de lijst te zetten. Immers, wanneer een CMMI-traject snel tot direct zichtbaar resultaat leidt, heeft dat positieve invloed op het commitment van belanghebbenden en het management.
Planning en beheersing van het CMMI-traject Het CMMI-traject zelf kan zonder goede planning en beheersing snel verzanden en naar de achtergrond verdwijnen. Het verdient daarom aanbeveling het CMMI-traject te organiseren als een project, met een projectleider, een eigen budget, geaccordeerde doelstellingen en beschikbare tijd. Een verbetertraject vraagt om leiderschap, liefst vanuit de normale lijnorganisatie. Het kan dan ook zinvol zijn om de lijnmanager aan te stellen als formele projectmanager van het CMMI-traject, eventueel ondersteund door een uitvoerend projectleider. Daarnaast is het zaak om ook het CMMI-traject zelf te laten voldoen aan de eisen van de CMMI-procesgebieden voor projecten. Immers, een verbeterproject dat zelf niet voldoet aan de eisen die het implementeert, is niet geloofwaardig.
Duidelijke doelstellingen Een bekend gezegde luidt: projecten zonder duidelijke doelen zullen hun doelen nooit duidelijk halen. Dat geldt ook voor verbeterdoelstellingen. Goede doelstellingen kenmerken zich doordat ze SMART zijn:
Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
• • • • •
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
10 van 14 Definitief 27-08-2007
specifiek: de doelstellingen mogen niet te algemeen zijn, het dient duidelijk te zijn wat gehaald moet worden; meetbaar: het dient duidelijk en onomstotelijk aangetoond te worden of de doelstelling gehaald is; acceptabel: de doelstellingen dienen in lijn te zijn met de organisatiedoelstellingen en aan te sluiten bij de doelstellingen van de medewerkers; realistisch: het doel moet haalbaar zijn; tijdgebonden: het dient duidelijk te zijn op welke termijn welke doelen gehaald moeten worden.
Daarnaast geldt dat doelstellingen altijd moeten aansluiten op de langetermijnstrategie van een organisatie en het betreffende organisatieonderdeel. Het totaal van de doelstellingen (op korte termijn) is idealiter een invulling van de langetermijnstrategie. Dat vergroot de acceptatie en als zodanig maakt het de kans op succes aanzienlijk groter. Doelstellingen voor een verbetertraject kunnen in termen van verwachte opbrengsten worden gespecificeerd. Het voordeel hiervan is dat het voor eenieder duidelijk is wat er bereikt moet worden. Als extra voordeel wordt het maken van een ROI-analyse achteraf een stuk makkelijker, doordat de werkelijke verbeteringen vergeleken kunnen worden met de beoogde verbeteringen.
Het toepassen van verandermanagement Zoals elk verbetertraject is een CMMI-traject een veranderproces. Alle aspecten van een veranderproces komen hierbij kijken. Naast aandacht voor inrichting van systemen en processen dient er aandacht te zijn voor organisatorische aspecten als structuur, werkwijzen en gedrag. De organisatie dient deze aspecten expliciet te beheersen door gebruik te maken van verandermanagement en een veranderorganisatie te creëren. In een veranderteam zitten veelal de opdrachtgever, de verantwoordelijke manager, enkele medewerkers en een CMMI-expert. Zoals bij elk verandertraject kan de implementatie van CMMI op weerstand stuiten. Ook hier dient de organisatie adequaat mee om te gaan. Coaching door een (externe) expert kan daarin een belangrijke bijdrage leveren. Deze dient naast kennis van CMMI ook ervaren te zijn in zaken als cultuurverandering, weerstandsreductie en motivatie. Stimulatie van het overdragen van motivatie en vooral enthousiasme voor de nieuwe situatie dient expliciet onderdeel van het implementatietraject te zijn. Dit kan ‘zacht’ worden genoemd, ontbreken ervan resulteert gewoonweg ‘hard’ in mislukking van een implementatietraject
Borging van de nieuwe werkwijze Borging van de nieuwe werkwijze zit in CMMI verankerd door middel van generieke praktijk 2.8 (Monitor en beheers het proces) en het procesgebied Proces en product kwaliteitsborging. In de praktijk blijkt dat met name deze borgingsmechanismen vaak onvoldoende sterk worden ingericht. In dergelijke gevallen is de daadwerkelijke opbrengst marginaal, op papier ziet de verbetering er wel aardig uit, maar in de praktijk wordt die maar beperkt toegepast. Hierdoor blijven de beoogde effecten uit. Borging is het centrale punt in succesvolle verbetertrajecten. Immers, veranderingen moeten blijvend zijn en niet tijdelijk. Om daadwerkelijk over blijvende verbetering te mogen praten, is borging van deze verbetering noodzakelijk.
Het meten en monitoren van voortgang en resultaten Ook dit aspect zit in CMMI voldoende verankerd, via generieke praktijk 2.8 (Monitor en beheers het proces), generiek doel 4 (Institutionaliseer een kwantitatief beheerst proces) en de procesgebieden Meting en analyse, Organisatiebrede procesprestatie en Kwantitatief projectmanagement. Het belang van het kunnen beschikken over objectieve meetgegevens, Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
11 van 14 Definitief 27-08-2007
hoe beperkt dan ook, wordt vaak onderschat. Meten wordt daarmee in de praktijk nogal eens onvoldoende uitgevoerd. Hierdoor kunnen uiteindelijk de voordelen van het CMMI-traject onvoldoende aangetoond worden. Omdat de kosten wel helder en (voor een groot deel) meetbaar zijn, komen CMMI-trajecten zonder goede meting van de voortgang en resultaten nogal eens in de problemen.
Communicatie over het CMMI-traject Communicatie is essentieel voor de continuïteit van een CMMI-traject. Dit komt doordat communicatie een directe invloed heeft op het commitment en doordat communicatie ervoor zorgt dat het CMMI-traject prioriteit behoudt. Als het stil is rond een CMMI-traject, kunnen medewerkers dit interpreteren alsof er niets gebeurt. Niet alle medewerkers kunnen namelijk continu actief betrokken zijn bij een CMMI-traject. Door goed en gericht te communiceren over het traject, blijft iedereen op de hoogte over wat er gebeurt en wat er gaat gebeuren. Zonder frequente feedback naar medewerkers is de kans groter dat hun energie voor een verbetertraject afneemt. Dergelijke communicatie begint al bij het allereerste initiële onderzoek en loopt het hele traject door. Een goed communicatieplan met expliciete acties op vaste data kan hierin een belangrijk hulpmiddel zijn.
Gevoeligheid voor organisatorische context Elke organisatie heeft haar eigen historie, gevoeligheden en eigenaardigheden. Sommige termen zijn belast met een verleden, soms zijn er informele leiders die meer invloed hebben dan de formele leiding. Elke organisatie heeft haar eigen cultuur. Bij een CMMI-traject dient er met dergelijke aspecten rekening te worden gehouden. Daarom is geen enkel CMMItraject precies hetzelfde, en werkt een bepaalde aanpak bij de ene organisatie beter dan bij de andere. CMMI-trajecten zijn maatwerk en vragen om een contextspecifieke aanpak.
Beschikbaarheid van mensen en middelen Het voorbereiden en implementeren van CMMI kost tijd en geld, die dienen in voldoende mate beschikbaar te zijn bij de start van het traject. Er kunnen met CMMI grote voordelen behaald worden, maar de kost gaat wel voor de baat uit. Door kortetermijnsuccessen na te streven en het traject onder te verdelen in kleine deeltrajecten, wordt de initiële investering beperkt, het vervolg van het traject kan dan worden gefinancierd door de opbrengsten aan te wenden voor verdere verbeteringen. Het beschikbaar hebben van de juiste mensen is daarin cruciaal. Juist die ene architect die altijd heel erg druk is, is precies de persoon die nodig is om het architectuurproces te verbeteren. Soms wordt de fout gemaakt om de verbeterinitiatieven neer te leggen bij medewerkers die makkelijker vrij te maken zijn, wat vaak net de medewerkers zijn met een minder groot draagvlak, en minder kennis en ervaring. Daarnaast geldt dat een groot verloop van managers en belanghebbenden ervoor kan zorgen dat verbetertrajecten grote vertragingen oplopen en telkens opnieuw moeten worden gestart. Hoewel dit vaak maar beperkt valt te beïnvloeden, is het wel een factor waarmee rekening moet worden gehouden.
De checklist Deze checklist voor implementatie van CMMI is een hulpmiddel bij het bepalen en beperken van risico’s waaraan het implementatietraject bloot staat. Deze checklist ondervangt de belangrijkste faalfactoren. De checklist is onderverdeeld naar de algemeen te onderscheiden fasen in verbetertrajecten.
Start-up 1. Zijn alle betrokkenen voldoende doordrongen van de noodzaak een verbetertraject te starten? 2. Is het management voldoende betrokken bij de besluitvorming aangaande de inrichting van het CMMI-traject? Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
12 van 14 Definitief 27-08-2007
3. 4. 5. 6. 7. 8.
Is vastgesteld of CMMI de pijnpunten in de organisatie oplost? Is er een assessment of nulmeting uitgevoerd? Zijn de CMMI-doelstellingen helder en eenduidig geformuleerd? Zijn de CMMI-doelstellingen in lijn met de organisatiedoelstellingen? Zijn de CMMI-doelstellingen motiverend en uitdagend? Is bij de doelstellingen en de inrichting van het CMMI-traject rekening gehouden met de organisatorische context? 9. Zijn de businesscase, doelstellingen en voordelen die behaald worden met CMMI helder en eenduidig vastgelegd en breed gecommuniceerd in de organisatie? 10. Worden aparte activiteiten ondernomen om het kwaliteitsbewustzijn in de organisatie te vergroten? 11. Is er budget gereserveerd voor het implementeren van CMMI?
Voorbereiding 12. Zijn de businesscase, doelstellingen en voordelen die behaald worden met CMMI helder en eenduidig vastgelegd, onderdeel van plannen en nogmaals breed gecommuniceerd in de organisatie? 13. Is er een overkoepelende planning van het CMMI-traject? 14. Is er per fase van het CMMI-traject een door het management goedgekeurd plan van aanpak? 15. Is er een projectleider CMMI die de CMMI-implementatie stuurt en bewaakt? 16. Heeft de projectleider voldoende tijd beschikbaar voor de implementatie? 17. Is de wijze waarop de projectleider communiceert en rapporteert vastgelegd? 18. Is het management betrokken bij elke fase van het CMMI-traject? 19. Heeft het management zijn commitment voor het traject vastgelegd, gepubliceerd en op regelmatige basis op formele en informele wijze bekrachtigd? 20. Zijn de medewerkers op regelmatige basis geïnformeerd over de doelstellingen en de activiteiten in het kader van CMMI? 21. Zijn de medewerkers betrokken bij het CMMI-traject? 22. Zijn de medewerkers betrokken bij het inrichten van de processen? 23. Zijn de overige belanghebbenden bij het CMMI-traject geïnformeerd over de doelstellingen en de activiteiten in het kader van CMMI? 24. Zijn de overige belanghebbenden bij het CMMI-traject betrokken voor zover het voor hen van belang is? 25. Is verandermanagement een onderdeel van het CMMI-traject? 26. Spreken betrokkenen met enthousiasme over de doorgevoerde en nog door te voeren veranderingen? 27. Zijn voor- en tegenstanders van de verandering bekend en is hier gedurende het traject rekening mee gehouden? 28. Wordt de organisatie bij het doorvoeren van veranderingen ondersteund door (externe) CMMI-expertise? 29. Worden de te verbeteren punten geprioriteerd? 30. Worden er niet te veel te verbeteren punten tegelijkertijd opgepakt? 31. Is een stuurgroep CMMI geïnstalleerd? 32. Is het (top)management vertegenwoordigd in de stuurgroep CMMI? 33. Zijn er CMMI-procesteams benoemd met daarin vertegenwoordigers van de medewerkers? 34. Heeft elk CMMI-procesteam een heldere doelstelling, voldoende middelen en een planning? 35. Is bepaald welk implementatiescenario (big bang, sterfhuis, doorstart) gevolgd gaat worden? 36. Zijn er implementatieactiviteiten gepland? 37. Is vastgelegd wie het kwaliteitssysteem na implementatie gaat beheren en onderhouden? Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
13 van 14 Definitief 27-08-2007
38. Is vastgelegd wie de borging uit gaat voeren? 39. Zijn er metrics benoemd om de voortgang en resultaten van het CMMI-traject te meten? 40. Is vastgelegd welke meetgegevens vastgelegd dienen te worden om de metrics te kunnen samenstellen?
Uitvoering 41. Is er tijdens de implementatieperiode voldoende begeleiding beschikbaar? 42. Worden de voortgang en de resultaten van het CMMI-traject gemonitord? 43. Worden de voortgang en de resultaten van het CMMI-traject gerapporteerd en (intern) gepubliceerd? 44. Zijn de voortgang, belemmeringen in de voortgang en de resultaten van het CMMItraject op regelmatige basis onderwerp van het managementteamoverleg? 45. Worden meetgegevens gestructureerd vastgelegd en geanalyseerd? 46. Worden de metrics gerapporteerd en gepubliceerd? 47. Communiceert het management structureel én bij gelegenheid naar het hoger management over voortgang en resultaten van het CMMI-traject? 48. Communiceert het management structureel én bij gelegenheid naar medewerkers binnen de betreffende organisatie over belang, voortgang en resultaten van het CMMI-traject? 49. Spreken betrokkenen met enthousiasme over de doorgevoerde en nog door te voeren veranderingen? 50. Zijn de aanpassingen in processen, procesbeschrijvingen en systemen in de context van de verbetering geplaatst en gerelateerd aan de doelstellingen van het traject? 51. Worden de voorgestelde verbeteringen door de medewerkers op de werkvloer ervaren als motiverend, uitdagend en haalbaar? 52. Wordt het CMMI-traject op regelmatige basis geëvalueerd? 53. Zijn binnen de evaluaties de businesscase, doelstellingen en voordelen die behaald worden met CMMI getoetst?
Evaluatie 54. Is het CMMI-traject geëvalueerd? 55. Is objectief vastgesteld welke doelstellingen zijn gerealiseerd en welke niet? 56. Is de bronoorzaak van het niet behalen van doelstellingen vastgesteld? 57. Zijn binnen de evaluaties de businesscase, doelstellingen en voordelen die behaald worden met CMMI getoetst en eventueel herzien? 58. Zijn de herziene CMMI-doelstellingen helder en eenduidig geformuleerd? 59. Vormen bronoorzaken voor eerder niet behaalde doelstellingen een risico voor nieuw geformuleerde doelstellingen? 60. Zijn risicobeperkende maatregelen benoemd om de kans op het behalen van doelstellingen reëel te vergroten?
Literatuur Ahern, D.H., A. Clouse & R. Turner (2003), CMMI® distilled: A practical introduction to integrated process improvement, 2nd ed., Addison-Wesley, Reading. Ahern, D.M., J. Armstrong, A. Clouse, J.R. Ferguson, W. Hayes & K.E. Nidiffer (2005), CMMI® SCAMPIsm distilled: Appraisals for process improvement, Addison-Wesley, Reading. Bush, M. & D. Dunaway (2005), CMMI® assessments: Motivating positive change, AddisonWesley, Reading. Cannegieter H.J.J. & R. van Solingen (2007), De kleine CMMI voor ontwikkeling, 2e herziene druk, Academic Service, Den Haag. Cannegieter, H.J.J. (2003), Software Process Improvement, Ten Hagen & Stam, Den Haag. Almere © 2004
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Checklist Informatiemanagement CMMI CMMI voor ontwikkeling
Pagina Versie Datum
14 van 14 Definitief 27-08-2007
Chrissis, M.B., M. Konrad & S. Shrum (2003), CMMI®: Guidelines for process integration and product improvement, Addison-Wesley, Reading. Kasse, T. (2004), Practical insight into the CMMI®, Artech House, Norwoord. Sahran, S. (1997), Software Process Improvement, Addison-Wesley, Reading. Software Engineering Institute (2006), CMMI® for Development version 1.2, CMU/SEI-2006TR-008, ESC-TR-2006-008.
Almere © 2004
Quality Assurance in ICT