Het Capability Maturity Model (CMM) is een waardevol model gebleken, op basis waarvan systeemontwikkeling te optimaliseren is. Er wordt gebruik gemaakt van een onderzoek om aan te geven op welk cmm-niveau de organisatie zich bevindt, waarna aanbevelingen ter verbetering worden gegeven. Consultant Jan Jaap Cannegieter zat samen met werknemers van de te onderzoeken organisatie in een onderzoeksteam. Hij doet verslag van de gevolgde aanpak, de te onderscheiden fasen, en de resultaten van het onderzoek.
Het CMM is een volwassenheidsraamwerk dat bestaat uit vijf niveaus. Het eerste niveau krijg je als softwareontwikkelende organisatie cadeau, mits er software ontwikkeld wordt. De kenmerken van een niveau-1-organisatie zijn dat de processen ad hoc verlopen, de processen per project verschillen, successen niet herhaalbaar zijn, problemen laat gesignaleerd worden en het succes van projecten sterk afhankelijk is van individuele medewerkers. Naar schatting 90 tot 95 procent van de Nederlandse bedrijven bevindt zich op niveau 1.
Op niveau 2 zijn de basis projectmanagementprocessen ingericht, worden deze processen gedisciplineerd gevolgd, en zijn projecten en processen herhaalbaar.
Op niveau 3 ontwikkelt een organisatie een standaard proces voor het ontwikkelen en onderhouden van software. Het standaardproces vormt een geïntegreerd en coherent geheel. Een organisatie die op niveau 4 zit, stelt zichzelf kwantitatieve doelen op het gebied van het proces en het product. Productiviteit en kwaliteit worden over de projecten heen gemeten en gebruikt voor evaluatie.
Een organisatie op niveau 5 is zich continu aan het verbeteren en is zich bewust van haar goede en te verbeteren punten.
Als een softwareorganisatie nooit met procesverbetering bezig is geweest, is het niet reëel te verwachten dat die organisatie op niveau 2 of hoger zit. Onze opdrachtgever verwachtte dat ook niet, toen we daar een CMM-onderzoek uitvoerden. Het was niet zo dat de projecten daar slecht verliepen of slechte resultaten opleverden. De beheersing schoot echter nog wel eens tekort en het management had een beperkt inzicht in de projecten. De vaardigheden en de loyaliteit van de medewerkers zorgde er in veel gevallen voor dat projecten, hoewel soms te laat en tegen hogere kosten, succesvol werden afgesloten. De opdrachtgever zocht geen bevestiging dat het bedrijf goed bezig was, maar was op zoek naar een consistente set maatregelen om tot een betere beheersing van het softwareontwikkelings- en onderhoudsproces te komen.
Als eerste stap hiertoe werd het CMM-onderzoek (‘assessment’) ingezet.
CMM-onderzoek
Softwareprocesonderzoeken worden gebruikt om te bepalen wat de huidige status van de softwareprocessen van een organisatie is. Aan de hand daarvan is vast te stellen waar verbeteringen het grootste effect hebben. Daarnaast kunnen ze dienen als basis voor het verkrijgen van organisatiebrede steun voor een verbetertraject (1. Als een organisatie alleen wil aantonen dat zij op een bepaald niveau van CMM acteert, is het inzetten van een aantal onafhankelijke deskundigen de meest geëigende weg. Als een organisatie zelf geheel of gedeeltelijk het onderzoek uitvoert, kunnen namelijk vraagtekens gezet worden bij de onafhankelijkheid.
Het Software Engineering Institute heeft een formele methode om CMM-onderzoeken uit te voeren; de ‘CMM-based appraisal for internal process improvement’ (2. Deze methode omvat een groot aantal fasen en activiteiten. De totale doorlooptijd is, afhankelijk van de doelstellingen en de grootte van de organisatie, rond de vier maanden. De inspanning ligt tussen de 78 en 130 mensdagen, afgezien van de tijd die geïnterviewden eraan besteden.
Indien het formeel vaststellen van het CMM-niveau niet het doel is, maar het in korte tijd benoemen van de belangrijkste sterke en zwakke punten van het softwareontwikkelingsproces, dan is dit een aanzienlijke investering. Sysqa heeft een aanpak voor CMM-onderzoek ontwikkeld met een aanzienlijk kortere doorlooptijd en die ook aanzienlijk minder inspanning kost. Bij de opdrachtgever duurde het onderzoek 15 dagen en bedroeg de totale inspanning van het onderzoekteam ongeveer 21 mensdagen. Het doel was een goede positiebepaling, met het oog op het verbeteren van het proces van softwareontwikkeling (‘software process improvement’, spi). Voor een succesvol spi-traject is het belangrijk dat de uitkomsten geaccepteerd worden door de eigen organisatie. Hoe kan dat beter dan wanneer het onderzoek door de eigen organisatie wordt uitgevoerd. Toch is het ook weer niet verstandig een onderzoek geheel door eigen personeel te laten uitvoeren. Allereerst is kennis en ervaring met CMM vereist om een onderzoek succesvol uit te voeren. Verder geldt het principe dat als iemand langzaam wegzakt in het moeras, hij zichzelf niet aan zijn haren er weer uit kan trekken; daar heb je iemand anders voor nodig.
Om bovenstaande redenen is in het onderhavige geval een onderzoekteam gevormd bestaande uit drie medewerkers van de opdrachtgever en één CMM-deskundige van Sysqa. Als sponsor van het onderzoekteam trad de manager softwareontwikkeling op.
Plan van aanpak
Het onderzoek ging van start met het opstellen van een plan van aanpak. Dit gaf inzicht in de werkwijze, kosten, doorlooptijd en communicatie. De werkwijze is in het kort als volgt samen te vatten. Allereerst wordt de CMM-vragenlijst, het referentiekader van het onderzoek, afgestemd op de te interviewen personen. Om de doorlooptijd te beperken maar toch voldoende diepgang te bereiken, worden alle vragen aan minimaal twee functionarissen van de opdrachtgever gesteld, te weten een functioneel projectleider en een technisch projectleider. Daarnaast wordt een lijst van te bestuderen documenten opgesteld. Het voordeel van interviews is dat je in korte tijd veel informatie krijgt. Het nadeel is dat die informatie gekleurd kan zijn, het is immers altijd een mening. Daarnaast kan iemand bewust of onbewust onjuiste uitspraken doen. Vandaar dat de interviews aangevuld worden met documentenstudie. Tijdens deze studie wordt getracht om informatie, afkomstig uit de interviews, te bevestigen.
Er worden twee representatieve projecten geselecteerd waarvan alle documenten beschikbaar worden gesteld. Verder wordt een aantal documenten bestudeerd naar aanleiding van de antwoorden tijdens de interviews. In totaal worden elf personen geïnterviewd en dertig stukken bestudeerd.
De voorbereiding kostte in totaal vijf dagen; toen was het plan van aanpak klaar. In dit plan waren ook de vragenlijsten en checklists, alsmede de lijst van te interviewen personen en te bestuderen stukken opgenomen ten behoeve van de herhaalbaarheid. Dit plan van aanpak kreeg de opdrachtgever voorgelegd. Pas na zijn goedkeuring ging de analysefase van start.
Analysefase
De analysefase begon met de interviews. Deze vonden in een zo kort mogelijke periode plaats om eventuele onrust, die bij een dergelijk onderzoek altijd de kop op kan steken, te beperken. Een interview in het kader van CMM-onderzoek duurde ongeveer twee uur, uitgaande van vijftien vragen per geïnterviewde. Na het interview werd een verslag gemaakt, dat werd afgestemd met de geïnterviewde. Hierdoor konden er maximaal twee interviews per dag worden afgenomen. Enig avondwerk was bij dit tempo niet te vermijden.
Het uitvoeren van een onderzoek kan zeer bedreigend zijn voor de medewerkers van de organisatie. Er wordt gevraagd hoe je je werk doet, met als doel de te verbeteren punten boven tafel te krijgen. Daarnaast ben je er niet zeker van wat er met de informatie gebeurt. Stel dat je het functioneren van het management als één van de zwakheden van de organisatie ziet. Krijg je dat dan niet later via een u-bocht op je bord? Om te voorkomen dat de geïnterviewden ‘politiek correcte’ antwoorden gaven of ‘het even niet wisten’, werd de inhoud van de interviews vertrouwelijk behandeld. Van de interviews werden verslagen gemaakt, om te voorkomen dat de interviewers zaken anders interpreteerden dan bedoeld. Deze verslagen werden echter niet ter beschikking gesteld aan de opdrachtgever en slechts gebruikt om antwoord te geven op de vragen uit de CMM-vragenlijst.
De interviews werden afgenomen door de externe CMM-specialist en één van de interne leden van het onderzoek team. De aanwezigheid van de interne medewerker voorkwam dat de geïnterviewde de interviewer iets op de mouw kon spelden; de interne medewerker kende de organisatie en gang van zaken namelijk erg goed. De aanwezigheid van de CMM-specialist voorkwam dat het een gezellig onderonsje van twee medewerkers werd; vreemde ogen dwingen.
Opvallend was dat alle geïnterviewden zeer open waren en positief meewerkten, ongeacht de soms pijnlijke antwoorden die gegeven moesten worden. Bij het afnemen van interviews zijn de interviewvaardigheden van de interviewer een erg belangrijke succesfactor. De geïnterviewde dient allereerst op zijn gemak gesteld te worden; het vellen van een oordeel door de interviewer is uit den boze. De wijze waarop de interviewer zich opstelt, bepaalt in hoge mate de informatiewaarde die uit het interview gehaald wordt.
Op grond van de uitkomsten van de interviews werden de documenten bestudeerd. Een aantal vragen was op zodanige wijze beantwoord, dat bestudering niet zinvol was; als wordt aangegeven dat er geen eisendossier wordt gemaakt, kun je het ook niet bestuderen. Uit de documentatiestudie kwamen weinig nieuwe of afwijkende zaken aan het licht; een bevestiging van het gevoel dat de interviews correcte informatie hadden opgeleverd.
Rapportage
Vervolgens werd de eindrapportage opgesteld. De rapportage begon, na een inleidend gedeelte, met een samenvatting van de bevindingen per vraag. Hierbij is niet te achterhalen wie de uitspraak heeft gedaan, toch kwam de bevinding uit één van de (door de geïnterviewde) goedgekeurde verslagen. Via een causaal verband werden uit de bevindingen de conclusies afgeleid, die weer resulteerden in aanbevelingen. Van iedere aanbeveling werd vastgesteld op welke bevindingen die was gebaseerd was. Op deze wijze was het ‘audit-trail’, de verbanden tussen bevindingen, conclusies en aanbevelingen te bewaken.
Uitkomsten
De opdrachtgever voldeed niet aan de eisen van CMM niveau 2. Bij het onderdeel eisenbeheer was dit onder andere te wijten aan de nauwe band die de opdrachtgever met zijn klanten heeft. De opdrachtgever bouwt en onderhoudt software voor een beperkt aantal onderling vergelijkbare organisaties in heel Nederland. De opdrachtgever onderhoudt nauw contact met de klanten door middel van projectgroepen, die bepalen wat er precies gebouwd moet worden. Hoewel niet aan de eisen van het CMM werd voldaan, leverde deze aanpak een goed werkbare situatie op.
Bij planning en voortgangsbewaking waren de verschillen per project erg groot. Er bestond wel een raamwerk voor de projectprocessen, maar desondanks waren de verschillen in de processen erg groot. Ieder project had zijn eigen aanpak. Daarnaast vonden er veel verstoringen van de projectprocessen plaats. Ook dit is een kenmerk van een niveau 1-organisatie: veel brandjes blussen. De organisatie maakte een beperkt gebruik van activiteiten, zoals evaluaties en risicoanalyse, om projecten te verbeteren of beter bestuurbaar te maken.
Bij onderaanneming was de contractenbehandeling goed geregeld. Na het afsluiten van het contract werd de onderaannemer echter geheel vrijgelaten en werd er niet op toegezien dat hij goed op het doel afging. Ook de opdrachtverstrekking en -formulering was voor verbetering vatbaar.
Kwaliteitszorg had weinig aandacht gekregen van de opdrachtgever. Aan het eind van het traject zag die wel toe op het goed uitvoeren van de systeem- en acceptatietest en was er sprake van een intensieve begeleiding van de uitlevering van de software. In het voortraject van de systeemontwikkeling lette hij echter niet of nauwelijks op naleving van afspraken. Ook maakte hij in zeer beperkte mate gebruik van ‘reviews’ of inspecties.
Configuratiebeheer bleek voor het beheer van software-items goed ingericht en voldeed ook in redelijke mate aan de eisen van CMM-niveau 2. Het ontbreken van een organisatiebreed documentatiesysteem zorgde er echter voor dat de score voor configuratiebeheer toch niet al te hoog was.
Aanbevelingen
Uiteindelijk leverde het onderzoek een set aan aanbevelingen op. De belangrijkste hiervan was dat er een organisatiebrede aanpak voor it-projecten dient te komen. De aanpak van projecten zal hierdoor minder afhankelijk worden van personen en in deze aanpak kunnen kwaliteitsverhogende maatregelen opgenomen worden. Daarnaast dient deze aanpak geborgd te gaan worden. Hiervoor werd het inrichten van formele ‘reviews’ aanbevolen. Het anders inrichten van een project, zonder dat iemand er naar kijkt, is dan niet meer mogelijk. Het is echter altijd mogelijk om af te wijken van de standaarden, mits het eindresultaat dit vereist en het in overleg met de kwaliteitsmanager (die per project is aangesteld) en het lijnmanagement gebeurt.
Een andere belangrijke aanbeveling was de introductie van een aantal maatregelen, zoals collegiale reviews en evaluaties, om functionarissen binnen de organisatie van elkaar te laten leren en om zelf de eigen kwaliteit te verhogen. Om projecten beter te ondersteunen werd het reeds gedeeltelijk in gebruik zijnde configuratiebeheersysteem organisatiebreed ingevoerd, en kreeg het bedrijf de aanbevelingen om een organisatiebreed documentatiesysteem in te voeren en om de projectondersteunende tools te onderzoeken op hun doeltreffendheid. Onder het motto ‘meten is weten’ behoorde de introductie van functiepuntanalyse en risicoanalyse ook tot aanbevelingen. Uiteindelijk moeten de verbeteringen leiden tot een afdelingsbreed kwaliteitssysteem, dat gehanteerd wordt, waarop wordt toegezien en dat op basis van ervaringen van medewerkers in de organisatie zelf continu verbetert. Om dit proces vorm te geven is een veranderingsmanager aangesteld.
Het CMM-onderzoek heeft een helder en eenduidig beeld van de volwassenheid van de softwareprocessen opgeleverd. Hieruit is een consistente set maatregelen afgeleid aan de hand waarvan de opdrachtgever kan besluiten welke acties hij het best kan ondernemen. Een minstens zo belangrijk resultaat is het feit dat er dankzij de gekozen aanpak in de organisatie overeenstemming was over de conclusies en aanbevelingen, waardoor de uitkomsten door het grootste deel van de organisatie ondersteund werden. Zonder brede steun uit de hele organisatie is iedere verbetering gedoemd te mislukken of in ieder geval aanzienlijk moeilijker te realiseren. Deze brede overeenstemming over conclusies en aanbevelingen en de brede steun voor het vervolgtraject was precies het beoogde resultaat van het onderzoek.
Tijdens de presentatie van de resultaten van het onderzoek op de afdeling bleek dat bijna alle aanwezigen het eens waren met de ingeslagen weg. Het geschetste beeld was conform de verwachting van de aanwezigen. Afgezien van enkele kritische vragen konden de aanwezigen zich dan ook vinden in de aanbevelingen. Toeval? Volgens ondergetekende, die namens Sysqa in het onderzoekteam zat en inmiddels bij opdrachtgever veranderingsmanager is, niet. Doordat het onderzoek werd uitgevoerd door een team dat voor driekwart bestond uit medewerkers van de opdrachtgever, is bereikt dat het rapport en de aanbevelingen afkomstig zijn van de opdrachtgever in plaats van een rapport van ‘een consultant’.
Een succesvol CMM-onderzoek, gericht op het bepalen van de plaats van de organisatie en het vaststellen van een consistente set maatregelen, doe je samen.
Jan Jaap Cannegieter Productmanager Sysqa
Literatuur
Paulk, Weber, Curtis en Crissis, Capability Maturity Model, 1994 ISBN: 0201546647.
Dunaway en Masters, CMM-based appraisal for internal process improvement, Software Engineering Institute, 1996.