Charles Darwin poneerde de populaire stelling: ‘It’s not the strongest of species that survive, nor the most intelligent, but the one most adaptable to change’. Hetzelfde geldt voor organisaties die software ontwikkelen. Veranderingsgezindheid is één van de belangrijkste succesfactoren gebleken. Een kwaliteitsmanager beschrijft het veranderingsproces op basis van het Capability Maturity Model bij Ericsson Telecommunicatie BV.
Het Capability Maturity Model is een verzameling van goede werkwijzen zoals toegepast door succesvolle softwarebedrijven. Deze werkwijzen, key process areas (kpa’s) genoemd, zijn geordend op vijf hiërarchische niveaus. De werkwijzen zijn kenmerkend voor ieder afzonderlijk niveau.
Bij Ericsson Telecommunicatie (ETM) in Rijen werd het model voor het eerst toegepast in 1993. Destijds werd CMM gezien als een praktisch raamwerk om het ontwikkelen van software te beoordelen en te verbeteren. Sindsdien zijn de organisatie én de manier waarop CMM wordt toegepast ingrijpend gewijzigd. Met hetzelfde ongewijzigde doel: de bijdrage van softwareontwikkeling aan de winstgevendheid van Ericsson verhogen.
Toen in 1993 de eerste beoordeling plaatsvond, stond de organisatie op het punt de sterke en zwakke punten van haar softwareontwikkelprocessen te ontdekken. Snel werd duidelijk dat hieraan nog veel te verbeteren was. De beoordeling die resulteerde in een ‘niveau 1’ kwalificatie, zette wijzigingen in de structuur van de organisatie in gang.
In die tijd werd het model volgens de letter toegepast. Werkwijzen werden zorgvuldig ingevoerd zoals beschreven in het model, met volledige steun van het management. Eind 1995 werd de organisatie opnieuw aan een beoordeling onderworpen, wat resulteerde in een kwalificatie op ‘niveau 3’.
Herdefinitie van het proces
De Unix Ontwikkelingsgroep startte als eerste op de afdeling Research & Development van ETM met het vierde niveau voor ogen. Aanvankelijk werd het model weer naar de letter toegepast. Daadkrachtig streefde men de doelstellingen van de kpa’s na. Bewustzijn werd gecreëerd, methoden en technieken geïntroduceerd en processen en procedures gedefinieerd. Deze vooral van bovenaf gestuurde werkwijze leidde echter tot minimale resultaten.
De volgende paragrafen illustreren dat niet alleen de processen en werkwijzen moesten veranderen, maar ook de organisatie, inclusief haar structuur en haar cultuur. Iedere paragraaf legt een direct verband met één van de kpa’s op niveau 4: Organisational Process Performance, Software Asset Commonality en Statistical Process Management (SPM).
Al vroeg zag de Unix Ontwikkelingsgroep incrementele processen als dé werkwijze van de toekomst. Tijdens de voorbereidingen naar niveau 3 was al een incrementeel proces gedefinieerd. Hierin werd voor ieder increment een sequentiële uitvoering van de benodigde activiteiten voorgeschreven (het watervalmodel). Bij het gebruik van dit model traden er enkele problemen op.
Het toegepaste principe resulteerde in specialisatie van ontwerpers, waardoor flexibiliteit afnam en de doorlooptijd voor het ontwikkelen toenam, evenals de administratieve overhead. Daarnaast blijkt dat de karakteristieken van het proces teruggevonden worden in de eigenschappen van de gecreëerde producten. Het product was moeilijk aan te passen en vertoonde een relatief hoog aantal fouten. Schaalbaarheid, betrouwbaarheid en robuustheid (dat wil zeggen de productkwaliteit) werden belangrijke aandachtspunten.
Ontwikkelprocessen moeten een optimale inzet van menselijk kapitaal ondersteunen. De ontwerpers gaven echter aan dat het proces leidde tot overwerk, ontevredenheid en geringe productiviteit. Het liet onvoldoende ruimte voor creativiteit noch voor persoonlijke ontwikkeling van de ontwerpers.
Eigen inbreng en Idiom
Dit leidde tot het definiëren van nieuwe doelstellingen om het proces beter te laten verlopen:
- verbetering van productkwaliteit, productiviteit en motivatie van ontwerpers;
- verlaging van de werkbelasting, fouten en bureaucratie binnen projecten;
- stimulering van all-round persoonlijke ontwikkeling van het technische personeel.
Iedere iteratie wordt voorafgegaan door een brainstorm en een initiële ontwerp-periode. ‘Think before you Ink’, het motto van Idiom, is inmiddels een gevestigd principe voor alle medewerkers van de organisatie.
Om het nieuwe proces optimaal te kunnen toepassen, werd ook de organisatiestructuur aangepast. De organisatie werd opgebouwd rond teams. Deze aanpassing leidde tot verdere verbeteringen, met name op het gebied van inzet van het menselijk kapitaal en het terugdringen van bureaucratie. Eén jaar na de invoering werd Idiom geëvalueerd. De gerapporteerde verbeteringen varieerden tussen een verdubbeling en een vertienvoudiging van de prestaties op de gestelde doelen. De grootste verbeteringen waren behaald op de verlaging van administratieve kosten, verhoogde productkwaliteit en de motivatie van de ontwerpers. Deze verbeteringen toonden de mogelijkheden van Idiom heel duidelijk aan. Dit is wat de kpa ‘Organisation Process Performance’ van CMM-niveau 4 beschrijft; exact weten waartoe het toegepaste proces in staat is.
Hergebruik van software
Het eerste product dat met Idiom werd ontworpen was gebaseerd op een ‘producent/consument’ architectuur, waarbij gemeenschappelijke interfaces tussen de softwarecomponenten werden toegepast. Hieruit werden vervolgens verschillende producten gecreëerd door de componenten in verschillende combinaties te assembleren. Middels een proefproject paste men een vooraf bepaald aantal componenten aan voor hergebruik tot een degelijke basis was gelegd.
Het gebruik van proefprojecten getuigt wederom van een pragmatische aanpak, zoals dat bij Idiom het geval was. De producten die momenteel in ontwikkeling zijn, bestaan voor 80 procent uit opnieuw gebruikte componenten. Marktspecifieke applicaties en zelfs volledig nieuwe producten zijn zeer snel en stabiel te bouwen door hergebruik van softwarecomponenten.
De Unix Ontwikkelingsgroep heeft reducties in doorlooptijd bereikt van 25 procent. Andere ontwikkelafdelingen van Ericsson hebben door opnieuw gebruik te maken van deze softwarecomponenten besparingen gerapporteerd van meer dan 4000 manuren in één enkel project, wat gelijk staat aan 30 procent van hun totale budget.
De stabiliteit van de hergebruikte componenten heeft ook geleid tot een verbeterde stabiliteit en een grotere voorspelbaarheid van het ontwikkelproces.
De nauwkeurigheid waarmee men de doorlooptijd van projecten inschat, is toegenomen van 90 procent naar 95 procent na het invoeren van Idiom, en tot 100 procent nadat de eerste softwarecomponenten opnieuw waren gebruikt.
Wederom leidde deze verandering tot een wijziging in de cultuur van de organisatie. Hergebruik is snel een integraal onderdeel geworden van de denkwijze van de gehele organisatie. Gedurende het veranderingsproces bleef het management vastberaden aan de gestelde uitgangspunten vasthouden. De term ‘Software Asset Commonality’, zoals CMM hergebruik definieert, was tot dan toe niet algemeen bekend. Pas nadat ontwikkelaars werden geconfronteerd met de terminologie van het vernieuwde CMM (versie 2) beseften de ontwerpers dat de weg die zij hadden gekozen al eerder met succes was gevolgd door andere bedrijven. Op de vraag waarom juist voor deze architectuur was gekozen, zullen zowel ontwerpers als management stellig antwoorden dat het vanzelfsprekend de juiste weg was.
Implementatie van een meetsysteem
Met behulp van numerieke gegevens en statistische methoden is de kwaliteit van de primaire bedrijfsprocessen inzichtelijk te maken en te handhaven. Deze benaderingswijze is ook wel bekend als de SPC-theorie (Statistische Proces Controle).
Al tijdens de weg naar niveau 3 was een begin gemaakt met metingen en het gebruik van numerieke gegevens. Procesgegevens zoals testresultaten, productomvang, doorlooptijd en bestede uren werden per product en per procesactiviteit verzameld. Het verwerken van de enorme hoeveelheid data en de complexiteit die gepaard gaat met het identificeren van kritische procesfactoren en indicatoren bracht het management ertoe een gestructureerde werkwijze op te zetten om al deze gegevens te kunnen verwerken. De organisatie wilde meer inzicht krijgen in de kwaliteit van het proces en de producten. Ook kostenschattingen en planningen moesten betrouwbaarder en nauwkeuriger worden.
Als eerste toepassing van het statistische procesmanagement werden historische gegevens gebruikt om de kosten te schatten. Daarna volgde het toepassen van regelkaarten, trendanalyses en S-curves, die zo typerend zijn voor SPC. Deze methoden zijn inmiddels gemeengoed in de organisatie.
Metingen visualiseren
Aan de visualisatie van de metingen besteedde men veel aandacht. Maar al te vaak worden resultaten verkeerd geïnterpreteerd. Het is al vervelend wanneer ontwerpers het aantal fouten voor een project zouden interpreteren als persoonlijk falen. Ronduit rampzalig is het wanneer het management dezelfde voorbarige conclusies zou trekken. De combinatie van vele factoren bepaalt de kwaliteit van producten, processen en arbeid. Conclusies mogen alleen worden getrokken op basis van een goed begrip van de situatie. Dit vereist het hanteren van meerdere indicatoren en een goede dosis gezond verstand.
Introductie en interpretatie van het meetsysteem werden niet licht opgevat. Goed onderbouwde definities van metingen verzekerden een juist gebruik van de numerieke gegevens. De opzet en inhoud van definities voldoen aan een duidelijke en veelomvattende organisatiestandaard. Introductie vindt steeds plaats middels proefprojecten. Dit is een kritische succesfactor gebleken bij de invoering van het meetsysteem. Ontwerpers accepteerden de numerieke informatie als een betrouwbare en overzichtelijke manier om de kwaliteit van het proces te evalueren. Later pasten zij met enthousiasme S-curves toe voor het plannen en evalueren van de teamvoortgang.
De kostenschattingsmethode en het gebruik van S-curves hebben bijgedragen aan het verbeteren van de nauwkeurigheid van doorlooptijd, planning en het opvolgen van de voortgang. Regelkaarten voorkomen dat fouten in volgende ontwikkelingsfasen terechtkomen. Is het aantal in een softwarecomponent gevonden fouten hoger dan de verwachtte statistische variatie, dan volgt een technische en statistische analyse. In een aantal gevallen heeft dit tot identificatie van technische problemen geleid. Deze problemen loste men vervolgens op, voordat de component voor de volgende fase werd vrijgegeven. De kosten/baten-verhouding van deze acties zijn typisch 1:8; voor ieder uur, geïnvesteerd in het oplossen van een potentieel risico, worden acht uren uitgespaard. In andere gevallen werden aandachtspunten in het proces zelf blootgelegd en vervolgens opgelost.
Status en voortgang
De metingen vormen steeds meer de basis voor het visualiseren en beheersen van de operationele activiteiten van de organisatie. Leden van de organisatie zijn niet langer tevreden met meningen of onduidelijke cijfers. Zij eisen een duidelijk en betrouwbaar, op metingen gebaseerd overzicht van de status en de voortgang.
De introductie en toepassing van het meetsysteem zijn samen te vatten met de termen: definitie, interpretatie, proefprojecten én gezond verstand. Dit is duidelijk weergegeven in de uitgangspunten van het meetsysteem:
- Acties produceren data: Alles is meetbaar.
- Data is zonder betekenis, maar leidt tot informatie: Getallen zonder goede interpretatie zijn slechts getallen.
- Combinatie van informatie leidt tot kennis: Alleen door numerieke gegevens in de juiste context te plaatsen ontstaat een goede basis voor besluitvorming.
- Ongebruikte kennis is kennis zonder waarde: Het meetsysteem is een hulpmiddel om een goed begrip van de situatie te krijgen, waarop acties kunnen worden genomen. Deze acties leiden tot nieuwe data.
Vergelijking met TQM
Eén van de basisprincipes van Total Quality Management (TQM) wordt weergegeven door het gezegde ‘doe de juiste dingen, op de juiste manier, de eerste keer, steeds weer’. De CMM-werkwijzen van niveau 4 passen naadloos op dit principe. De vergelijking tussen CMM niveau 4 en TQM illustreren ook hoe Ericssons Unix Ontwikkelingsgroep het CMM en de voordelen interpreteert door het te gebruiken als model voor organisatorische verandering.
‘Juist’ in het TQM-gezegde impliceert optimalisatie en niet maximalisatie: lever dat wat klanten vragen, niet meer en niet minder. Optimalisatie vereist een duidelijk inzicht in wat er wordt verwacht en wat kan worden geleverd in termen van kwaliteit, levertijd en kosten. Kennis van de mogelijkheden van het proces is daarvoor onontbeerlijk (‘op de juiste manier’). ‘Steeds weer’ betekent dat het proces aangepast moet kunnen worden aan wisselende eisen. ‘De eerste keer’ vereist dat het resultaat van de aangepaste processen voorspelbaar is.
Hergebruik bevordert het doen van de ‘juiste dingen, de eerste keer’. Opnieuw gebruikte componenten kunnen direct worden ingezet. Ze zijn stabiel en hebben een bewezen kwaliteitsniveau. Daarmee dient hergebruik ook het doel dingen ‘steeds weer’ juist te doen. Het meetsysteem dwingt een ondubbelzinnige vastlegging af van klantenwensen. Alleen meetbare eisen zijn te verifiëren en te testen.
Door de metingen is ook het proces dusdanig gedefinieerd dat klanteisen en proceskwaliteit kunnen worden afgewogen, zodat een goede besluitvorming mogelijk is. Analyses van het proces en organisatorisch gerichte metingen initiëren verbeteringen en bieden hulp bij de verificatie van de bijdrage die operationele activiteiten leveren aan de doelstellingen van de organisatie (‘de juiste dingen doen’). Door het gezonde gebruik van regelkaarten en trendanalyses worden doelen steeds weer bereikt door kleine aanpassingen vroeg in het ontwikkelingstraject door te voeren (‘[…] juist, de eerste keer’).
Hoewel het TQM-principe vooral een theoretische richtlijn is die in de praktijk nooit volledig zal worden ingevuld, is het principe gelijk aan dat van de Unix Ontwikkelingsgroep. Ook dit is één van de waarden van de organisatie zoals ’think before you ink’, hergebruik en het gebruik van metingen.
Terugkijkend op de weg naar niveau 4 tot zover, springen een aantal interessante bevindingen in het oog. De toepassing van CMM veranderde van een zeer directe, modelgestuurde benadering naar een interpretatie van het model als basis voor organisatorische verandering. Daarmee werd het een leidraad voor het beoordelen, vervolmaken en institutionaliseren van veranderingen in het proces, het product en het management van de organisatie.
Algemene bevindingen
Zoals het management ondervond na het bereiken van het derde niveau, stopt de organisatie niet met ontwikkelen; het is een continu proces. Gedurende deze ontwikkelingen zullen ambities en interpretaties ook veranderen.
Ontwikkelaars die het op niveau 3 nog prettig vonden om te worden voorzien van een goed gedocumenteerde procedure, zullen de zoveelste procesbeschrijving afwijzen wanneer niveau 4 wordt benaderd. De operatie zal niet stoppen met het actief zoeken naar betere wegen om software te ontwikkelen. Dit omvat ook werkwijzen die eerder eigengemaakt werden: op ieder niveau dienen ook alle voorgaande niveaus aandacht te krijgen. De Unix Ontwikkelingsgroep is nu al bezig zich de continue verbeteringswerkwijzen van niveau 5 eigen te maken.
De werkwijzen die CMM beschrijft, bieden een zeer complete set, maar geen allesomvattende opsomming van werkwijzen. Het implementeren van de beschreven werkwijzen is slechts het halve verhaal. De organisatieveranderingen die zijn samengegaan met de herdefinitie van het proces zijn hier een goed voorbeeld van. Een model blijft een vereenvoudigde weergave van de werkelijkheid; het behoeft interpretatie. Het moet aangepast worden aan de specifieke behoeften van iedere afzonderlijke organisatie. Daarbij komt dat het beschikbare werkwijzen beschrijft, niet hoe deze geïmplementeerd moeten worden. In tegenstelling tot wat sommige mensen misschien denken, is CMM geen voorschrijvend model. Het duidt mogelijke verbeteringen aan. In hoeverre een organisatie hiervan kan profiteren, hangt voornamelijk af van de organisatie zelf.
Cultuur van de organisatie
Organisatieveranderingen vinden plaats in de ‘mindset’ van de medewerkers. Zowel het stimuleren als het institutionaliseren van verandering vinden daar plaats. Het vasthouden van goede werkwijzen kan slechts gewaarborgd worden als zij onderdeel uitmaken van de cultuur van de organisatie.
Bij de Unix Ontwikkelingsgroep is het de cultuur waarin de ‘adaptability to change’ – de veranderingsgezindheid – verankerd is. Dit organisatiekenmerk is één van de belangrijkste succesfactoren voor software- ontwikkelingsbedrijven gebleken. Het is een voorwaarde voor een succesvolle reis naar hogere CMM-niveaus; met als doel institutionalisatie van verandering. Iedereen die ooit een lange en avontuurlijke reis heeft gemaakt, zal weten dat aanpassingsvermogen het verschil maakt tussen falen en succes.: "It’s not the strongest of species that survive, nor the most intelligent: it’s the one most adaptable to change".
Bart ter Horst, quality engineer bij Ericsson Telecommunicatie BV
De 5 niveaus van het Capability Maturity Model
Het model onderkent vijf ‘maturity levels’ of niveaus.
1. Initieel
Een organisatie bevindt zich op niveau 1 als nog onbekend is hoe een proces in elkaar zit en hoeveel hulpmiddelen er nodig zijn om een resultaat te bereiken. Planningen lopen meestal uit, budgetten worden overschreden. Procesverbetering is niet systematisch.
2. Herhaalbaar
Het proces is onder normale omstandigheden voorspelbaar in termen van tijd en geld. Bij invoering van nieuwe technologie�n of methoden valt men nog terug op niveau 1.
3. Gedefinieerd
Het proces is gedefinieerd en onder controle. Ook bij afwijking van de normale omstandigheden kan goed worden gereageerd. Procesverbetering vindt plaats op basis van een kwalitatieve analyse.
4. Beheerst
Er wordt systematisch aan het proces gemeten om afwijkingen vroegtijdig te constateren en te verbeteren. Procesverbetering vindt plaats op basis van kwantitatieve analyse.
5. Optimaliserend
Systematische procesverbetering op basis van metingen is een geïntegreerd onderdeel geworden van de bedrijfsvoering. Nieuwe technologieën kunnen beheerst worden ingevoerd.
Als een onderneming weet welk volwassenheidsniveau zij heeft, is aan te geven welke sterke punten uitgebuit kunnen worden om een volgend volwassenheidsniveau te bereiken.