software ontwikkeling
i
CMMI-roadmaps
Nederlandse
De Nederlandse stichting SPIder heeft roadmaps ontwikkeld
bijdrage aan
voor het CMMI, verschillende routes door het CMMI voor het
officiële CMM
oplossen van bepaalde problemen of het halen van bepaalde doelstellingen. Hiermee levert deze SPI-community haar eerste officiële bijdrage aan het CMMI.
Jan Jaap Cannegieter
1. Voor het technical report en de technical note wordt verwezen naar www. sei.cmu.edu/cmmi/ cmmi.html. 2. Zie www.st-spider. nl.
Over het Capability Maturity Model Integration for Development (officieel CMMI-DEV, hier aangeduid als CMMI) zijn heel veel Engelstalige en één Nederlandstalig boek (Cannegieter & Van Solingen,2007) verschenen. Officieel bestaat het CMMI uit een technical report (SEI, 2006) en een aantal technical notes1 van het Software Engineering Institute van de Carnegie Mellon University in Pittsburgh. Vanuit de Nederlandse stichting SPIder2, een netwerkorganisatie voor IT-professionals die geïnteresseerd zijn in Software Process Improvement, is het initiatief gekomen om een bijdrage te leveren aan het officiële CMMI. Het gaat hierbij om de roadmaps, verschillende routes die organisaties door het CMMI kunnen kiezen afhankelijk van de problemen die ze willen oplossen of de doelstellingen die ze hebben. Het SEI gaat deze technical note publiceren en daarmee is het de eerste officiële bijdrage van de Nederlandse SPI-community aan het CMMI.
informatie / april 2008
Stapsgewijze en continue representatie
52
Het CMMI is een volwassenheidsraamwerk voor software-, hardware- en systeemontwikkeling en bestaat uit procesgebieden. CMMI kent twee representaties: stapsgewijs en continu. Bij de stapsgewijze representatie wordt de volgorde waarin de procesgebieden worden geïmplementeerd, bepaald door het volwassenheidsniveau waarop een bepaald proces zich bevindt. Bij de continue representatie staat het een organisatie vrij om binnen bepaalde grenzen zelf te bepalen
in welke volgorde de procesgebieden worden geïmplementeerd. De stapsgewijze representatie wordt het meest gebruikt, maar daartegenover staat dat de continue representatie als de meest flexibele wordt beschouwd. Het komt voor dat organisaties die het CMMI willen gaan gebruiken, niet de continue representatie selecteren omdat ze het moeilijk vinden de procesgebieden die bij hun situatie passen te selecteren. Deze organisaties gebruiken dan de stapsgewijze representatie omdat ze niet weten waar ze moeten starten in de continue representatie. De volgorde van de procesgebieden in de stapsgewijze representatie (de selectie van de procesgebieden over de volwassenheidsniveaus) wordt voornamelijk bepaald door historische analyse van procesproblemen in organisaties. Soms is deze volgorde niet de beste volgorde voor een specifieke organisatie. Zo kan het voorkomen dat het projectmanagement in een organisatie redelijk functioneert maar er wel veel fouten in het product zitten. Andere organisaties ontwikkelen zelf nauwelijks hardware, software of systemen maar integreren componenten van externe leveranciers. In zulke situaties biedt de continue representatie een mogelijkheid om een specifieke volgorde van implementatie van procesgebieden te kiezen. Om deze organisaties te ondersteunen met het selecteren van een samenhangende set procesgebieden, zijn roadmaps ontwikkeld. Iedere roadmap heeft zijn eigen set verbeterdoelen. De roadmaps combineren de sterke kanten van de stapsgewijze en de continue representatie.
Samenvatting De Nederlandse stichting SPIder heeft roadmaps ontwikkeld die verschillende routes door het CMMI bieden die organisaties kunnen kiezen afhankelijk van de problemen die ze willen oplossen of de doelstellingen die ze hebben. De roadmaps betreffen project, product, productintegratie, proces en meting. Het SEI gaat deze technical note publiceren en daarmee is het de eerste officiële bijdrage van de Nederlandse SPI-community aan het CMMI.
De roadmaps zijn bedoeld voor organisaties die aan het begin van een CMMI-implementatie staan. Als een organisatie heeft besloten de continue representatie toe te passen (of beter gezegd, heeft vastgesteld dat de stapsgewijze representatie niet aansluit bij de problemen en doelstellingen van de organisatie), moet ze bepalen welke procesgebieden als eerste worden geïmplementeerd. Om dit te kunnen doen moeten zij de architectuur van het CMMI en de inhoud van de procesgebieden en de relaties tussen procesgebieden begrijpen. Voor organisaties die geen ervaring hebben met het CMMI, kan dit erg moeilijk zijn. In de praktijk kan dit leiden tot drie situaties: 1. Een ervaren consultant adviseert een organisatie over de implementatievolgorde. Het nadeel hiervan is dat de organisatie niet zelf deze beslissing neemt en dus afhankelijk is van de consultant. 2. Een verbeterteam uit de organisatie bestudeert het CMMI en de procesgebieden in detail.
behoefte aan verbetering
analyse van de huidige situatie selecteren/ zelf definiëren roadmap eventueel aanpassen roadmap implementeren (aangepaste) roadmap
Figuur 1. Gebruik van roadmaps
Het voordeel hiervan is dat de organisatie een beter begrip van CMMI ontwikkelt. Een nadeel is dat het veel tijd kost, tijd die niet wordt besteed aan het verbeteren van processen. Een ander mogelijk nadeel is dat de gekozen procesgebieden niet bij de doelen en problemen passen. Er is immers geen ervaring met het CMMI, wat tot verkeerde keuzes kan leiden. 3 De organisatie maakt toch gebruik van de stapsgewijze representatie. Het nadeel hiervan is dat de geselecteerde procesgebieden niet de beste keus zijn op basis van de verbeterdoelstellingen. Dit vermindert het succes van het verbetertraject en verlaagt de acceptatie van het CMMI door de organisatie. De grootste problemen worden immers niet als eerste aangepakt. De CMMI-roadmaps helpen organisaties bij het op basis van de verbeterdoelen selecteren van de procesgebieden die als eerste moeten worden geïmplementeerd. Het gebruik van de roadmaps is schematisch weergegeven in figuur 1. Iedere roadmap bestaat uit vier of zes procesgebieden. Dit beperkt de eerste verbetercycli en helpt organisaties hun verbeteractiviteiten te focussen. Als een organisatie een roadmap geïmplementeerd heeft, kan ze zelf de volgende stap bepalen. De roadmaps bevatten dus niet alle procesgebieden. Iedere organisatie is uniek en de verbeterdoelen en problemen die moeten worden opgelost, verschillen per organisatie. Daarom staat het organisaties ook vrij een roadmap aan te passen aan hun eigen situatie. Als een organisatie een roadmap heeft afgerond, is er in de organisatie voldoende ervaring met procesverbetering in het algemeen en het CMMI in het bijzonder om zelf vervolgstappen te definiëren.
De roadmaps De vijf roadmaps zijn weergegeven in figuur 2.
informatie / april 2008
Gebruik van roadmaps
53
software ontwikkeling
i
Projectroadmap Het doel van de projectroadmap is het beter beheersen van projecten. Organisaties die kiezen voor de projectroadmap, willen over het algemeen de volgende doelen bereiken: • zekerstellen dat het projectresultaat voldoet aan de eisen; • de schatting van tijd en inspanning van projecten verbeteren; • de planning van projecten verbeteren; • de betrokkenheid van de relevante stakeholders bij projecten verbeteren; • de monitoring en beheersing van projecten verbeteren. De projectroadmap bestaat uit de volgende procesgebieden: • projectplanning; • projectmonitoring en projectbeheersing; • eisenmanagement; • configuratiemanagement; • proces- en productkwaliteitsborging.
Productroadmap Het doel van de productroadmap is het beheersen van het realiseren van producten zodat tegemoet wordt gekomen aan de eisen van de opdrachtgevers, en het verbeteren van productkwaliteit. Organisaties die kiezen voor de productroadmap, willen over het algemeen de volgende doelen bereiken: • de kwaliteit van producten verbeteren; • afname van het aantal fouten in producten na implementatie; • afname van de tijd besteed aan de realisatie van producten door een afname van de tijd besteed aan onrealistische of ongewenste eisen; • klanttevredenheid verbeteren. De productroadmap bestaat uit de volgende procesgebieden: • eisenontwikkeling; • eisenmanagement; • technische oplossing; • configuratiemanagement; • verificatie; • proces- en productkwaliteitsborging.
Productintegratieroadmap Het doel van de productintegratieroadmap is het beheersen van het integratieproces en zekerstellen dat het overall systeem voldoet aan de eisen. Organisaties die gebruikmaken van deze roadmap,
informatie / april 2008
Het ontstaan van de CMMI-roadmaps
54
Het eerste idee dat er behoefte is aan verschillende roadmaps binnen de continue representatie van het CMMI, is ontstaan tijdens een workshop die de auteur als consultant verzorgde bij een opdrachtgever. Het managementteam van die opdrachtgever had moeite te beslissen welk procesgebied ze als eerste gingen implementeren. Dit leidde tot de vraag wat de organisatie als eerste wilde verbeteren: projectkwaliteit, productkwaliteit of proceskwaliteit. Het managementteam was het erover eens dat als eerste proceskwaliteit moest worden verbeterd. Het delen van deze ervaring met collega-consultants leidde tot de publicatie van een artikel over het concept van roadmaps (Cannegieter, 2006b) en een keynotepresentatie tijdens de PROFES International Conference on Product Focused Process Improvement (Cannegieter, 2006a). De reacties van andere CMMI-deskundigen op het artikel en de presentatie waren dermate positief dat de uiteindelijke auteurs van de technical note besloten dat het concept van de roadmaps verder moest worden uitgewerkt, bij voorkeur met een grote bijdrage van andere geïnteresseerden. Toen is ook als doelstelling geformuleerd om een technical note te schrijven en aan te bieden aan het Software Engineering Institute van
de Carnegie Mellon University als uitbreiding op de bestaande CMMI product suite. Om de steun voor het concept van roadmaps te vergroten en de roadmaps verder uit te werken is op 15 november 2006 een workshop georganiseerd voor SPIder-leden. Aan de workshop namen 35 CMMI-deskundigen uit Nederland en België deel. In kleine groepjes zijn de tot op dat moment onderkende roadmaps verder uitgewerkt en is gekeken of er meer roadmaps zijn. De uitkomsten van de workshop zijn door Jan Jaap Cannegieter, André Heijstek, Ben Linders en Rini van Solingen uitgewerkt in de vorm van een technical note. Vervolgens is de technical note ter review aangeboden aan de deelnemers aan de workshop. De reviewopmerkingen zijn verwerkt in de technical note. Daarna is de technical note aangeboden aan het SEI. Dat reageerde positief en gaf aan dat ze de tekst willen publiceren als officiële technical note. Op dit moment wordt de technical note door de technical writers van het SEI geoptimaliseerd, waarna deze gepubliceerd wordt. Omdat de technical note tot stand is gekomen met medewerking van diverse SPIder-leden, is dit de eerste officiële Nederlandse bijdrage aan de internationale SPI-community in het algemeen en het CMMI in het bijzonder.
CMMI-roadmaps
projectroadmap
tprojectplanning tprojectmonitoring en -beheersing
teisenmanagement tconfiguratiemanagement tproces- en productkwaliteitsborging
productroadmap
teisenontwikkeling teisenmanagement ttechnische oplossing tconfiguratiemanagement
tverificatie tproces- en productkwaliteitsborging
projectintegratieroadmap
teisenontwikkeling tconfiguratiemanagement
ttechnische oplossing tproductintegratie tleveranciersmanagement
tvalidatie
procesroadmap
metingroadmap
torganisatiebrede
tmeting en analyse procesfocus torganisatiebrede procesfocus torganisatiebrede procesdefinitie talternatievenanalyse en oplossingskeuze tmeting en analyse tcausale probleemtproces- en productanalyse en -oplossing kwaliteitsborging tproces- en productkwaliteitsborging
Figuur 2. De CMMI-roadmaps
De productintegratieroadmap bestaat uit de volgende procesgebieden: • eisenontwikkeling; • configuratiemanagement; • technische oplossing; • productintegratie; • leveranciersmanagement; • validatie.
Procesroadmap Het doel van de procesroadmap is het definiëren, implementeren en verbeteren van een organisatiespecifieke set processen. Dit kan dienen als basis voor procesanalyse en implementatie van andere procesgebieden of roadmaps. Organisaties die kiezen voor de procesroadmap, willen over het algemeen de volgende doelen bereiken: • huidige processen vastleggen en analyseren; • processen verbeteren op basis van inzicht in de processen;
• de processen in de organisatie standaardiseren; • een basisset processen definiëren als basis voor continue verbetering; • een set heldere eisen aan het kwaliteitssysteem van de organisatie opstellen; • processen vastleggen in het kader van de implementatie van wetgeving zoals Sarbanes-Oxley en SAS 70 of modellen zoals ISO 9000. De procesroadmap bestaat uit de volgende procesgebieden: • organisatiebrede procesfocus; • organisatiebrede procesdefinitie; • meting en analyse; • causale probleemanalyse en probleemoplossing; • proces- en productkwaliteitsborging.
Metingroadmap Het doel van de metingroadmap is het identificeren, selecteren en meten van verbeteringen op basis van kwantitatieve informatie. Met deze roadmaps wordt een kwantitatieve basis gecreëerd voor procesverbetering en wordt zekergesteld dat organisaties hun verbeteringen selecteren op basis van kwantitatieve informatie. Organisaties die kiezen voor de metingroadmap, willen over het algemeen de volgende doelen bereiken: • de prestaties van de organisatie kwantitatief meten; • verbeteringen identificeren en selecteren gebaseerd op kwantitatieve informatie; • in staat zijn de resultaten van procesverbetering kwantitatief aan te tonen; hiermee wordt de continuïteit van het verbeterprogramma zekergesteld; • de belangrijkste prestatie-indicatoren van de organisatie bepalen.
informatie / april 2008
ontwikkelen zelf geen componenten. Zij stellen systemen samen met behulp van componenten die door anderen gerealiseerd zijn. Organisaties die kiezen voor de productintegratieroadmap, willen over het algemeen de volgende doelen bereiken: • de beheersing van het integratieproces verbeteren (integratievolgorde, kwaliteit van geleverde producten); • vertrouwen krijgen dat individuele componenten geïntegreerd kunnen worden tot een coherent systeem; • zekerstellen dat het overall systeem voldoet aan de kwaliteitsdoelen; • producten leveren waar de markt behoefte aan heeft; • goed gekwalificeerde leveranciers selecteren.
55
software ontwikkeling
i De metingroadmap bestaat uit de volgende procesgebieden: • meting en analyse; • organisatiebrede procesfocus; • alternatievenanalyse en oplossingskeuze; • proces- en productkwaliteitsborging. De technical note bevat nog veel meer informatie over de roadmaps, zoals per roadmap de problemen die met die roadmap worden opgelost, potentiële gebruikers, de onderbouwing waarom bepaalde procesgebieden wel en andere procesgebieden niet zijn opgenomen in de roadmap en mogelijke vervolgstappen als de roadmap is afgerond.3 Literatuur Cannegieter, H.J.J. (2006a). Controlling the Chaos of Continuous. Keynote speech, PROFES International Conference on Product Focused Process Improvement, Amsterdam, 12 juni 2006. Cannegieter, H.J.J. (2006b). Vier routes naar niveau vijf. Automatisering Gids 22, 2 juni 2006. Cannegieter, H.J.J. (2007). CMMI roadmaps. In J. Macke & M. Muller (red.), Capita Selecta, Jubileum uitgave 10 jaar Stichting SPIder. Cannegieter, H.J.J. & Rini van Solingen (2007). De kleine CMMI voor ontwikkeling. Den Haag: Sdu. SEI (2006). CMMI® for Development, version 1.2, CMU/SEI2006-TR-008, Software Engineering Institute, Carnegie Mellon University, Pittsburgh.
Link www.st-spider.nl Verantwoording
informatie / april 2008
Dit artikel is gebaseerd op de technical note ‘CMMI roadmaps’ geschreven door Jan Jaap Cannegieter, André Heijstek, Ben Linders en Rini van Solingen. Het copyright van de technical note ligt bij de Carnegie Mellon University in Pittsburgh. De technical note is nog niet in zijn definitieve vorm gepubliceerd en heeft daarom nog geen referentie. Daarnaast is dit artikel gebaseerd op het hoofdstuk ‘CMMI roadmaps’ van Jan Jaap Cannegieter in J. Macke & M. Muller (red.), Capita Selecta, Jubileum uitgave 10 jaar Stichting SPIder.
56
Jan Jaap Cannegieter is adjunct-directeur van SYSQA BV, een onafhankelijke organisatie gespecialiseerd in quality assurance, testen en prestatieverbetering van ICT-organisaties. E-mail:
[email protected].
3. De meest actuele versie van de technical note is te downloaden van de website van SPIder (www. st-spider.nl). Meer informatie over de roadmaps kunt u krijgen bij Jan Jaap Cannegieter, e-mail: jcannegieter@sysqa. nl.