Ontwikkeling in kwaliteit QA of IV&V, kwaliteit is geen ‘rocket science’ Samenvatting De toegevoegde waarde van IV&V ligt in het frisse perspectief dat het biedt op de correctheid van ICT systemen. Zo’n second opinion kan een monoloog van de ontwikkelaar — of de opdrachtgever — veranderen in een dialoog. Een relatief bescheiden investering vermindert projectrisico’s, en verhoogt de kans op projectrealisatie. Voor QA en IV&V geldt: fouten voorkomen is goedkoper en sneller dan fouten herstellen. Fouten in ICT-systemen kunnen erg kostbaar zijn. Tijdig opsporen van fouten in ontwikkeltrajecten bespaart veel tijd en geld. QA en IV&V spelen daarbij een belangrijke rol. Een kwestie van kwaliteit De kwaliteitsborging binnen een ICT-project kan op meerdere manieren gestalte krijgen: twee daarvan vormen het onderwerp van dit artikel. Quality Assurance (QA) is een integraal onderdeel van de belangrijkste methodieken voor projectmanagement in het algemeen, en daarmee ook voor ICT-projecten. Independent Validation & Verification (IV&V) ontstond in eerste instantie in de context van softwareontwikkeling, en vindt geleidelijk bredere toepassing. Dit artikel gaat nader in op deze beide methodes voor kwaliteitsborging. Kwaliteitsborging: waarom? Kwaliteitsborging biedt een proactieve en objectieve beoordeling van de projectrisico’s, de projectprestaties, het management, de producten en de betrokken processen. De sleutel tot effectieve kwaliteitsborging is het verschaffen van inzicht, om de kans op serieuze problemen te verminderen. Veel organisaties en CIO’s hebben zulke kwaliteitsbeoordelingen ondernomen nadat problemen zijn opgetreden. Dan is het kalf al verdronken. In het ideale geval beginnen QA en IV&V in een vroeg stadium van het project. Dit maakt het ook mogelijk is om risico’s vroegtijdig te onderkennen, te prioriteren, en maatregelen te nemen (zodat de put tijdig gedempt is). Het is ook goed mogelijk om kwaliteitsborging op TaaS specifieke momenten of in bepaalde projectfases uit te Hoewel testactiviteiten onderdeel voeren. kunnen uitmaken van QA, is het IV&V of QA? doorgaans de IV&V-functie die de De verschillen tussen QA en IV&V liggen vooral in hun testinspanningen begeleidt en positionering ten opzichte van projecten. In het algemeen bijwoont. In veel gevallen zal IV&V geldt dat QA nauwer bij de projectorganisatie aansluit dan ook zelf tests uitvoeren. In het IV&V, anders gezegd: IV&V is minder projectafhankelijk dan spoor van de toename en groei van QA. Toch zijn er voor beide vormen van kwaliteitsborging cloud applicaties maakt sinds een gradaties in projectafhankelijkheid. aantal jaren ook Testing as a Service (TaaS) sterke opgang. Voor de komende jaren voorziet het World Quality Report 2012-2013 een voortgezette stijging in het gebruik van TaaS.
Per vorm gerangschikt naar mate van afhankelijkheid:
Quality Assurance: Taak van de projectleider, als onderdeel van het projectmanagement Taak van kwaliteitsmanager uit eigen organisatie, maar buiten het projectteam (best practice) Taak voor externe partij Independent Verification & Validation: Taak van de ontwikkelorganisatie Taak binnen het project, maar buiten de ontwikkelorganisatie Taak voor externe partij
In een ICT-project verhogen zowel IV&V als QA de kans op succes. QA bewaakt de definitie en toepassing van standaarden en procedures, terwijl IV&V ervoor zorgt dat het systeem – en/of de kwaliteit van de (op)geleverde dienstverlening – voldoet aan de eisen op het gebied van functie, prestatie en kwaliteit. In tabelvorm uitgedrukt: QA Gericht op project Proces Vorm Activiteit
IV&V Gericht op systeem Product Inhoud Resultaat
Kwaliteit als groeimarkt Kwaliteitsborging binnen ICT-projecten wordt steeds belangrijker. In het World Quality Report 20122013 constateert Capgemini voor de afgelopen jaren een wereldwijde groei in budgetten voor kwaliteitsborging, ondanks de kredietcrisis. Voor de komende jaren voorziet dit rapport een verdere groei in de investeringen in kwaliteitsborging als percentage van de projectkosten, ook in Nederland. In de Verenigde Staten is het gebruik van IV&V-diensten sterk in opkomst. De stijging begon zo’n 10 jaar geleden en kreeg een flinke impuls in het kielzog van de kredietcrisis. Inmiddels hebben meerdere federale overheidsagentschappen de inzet van IV&V verplicht gesteld bij constatering van tekortkomingen in ICT-projecten. Gebruik van onafhankelijke kwaliteitsborging wordt dan voorwaarde voor verdere financiering. IV&V is echter niet alleen van belang voor grootschalige projecten. Er zijn weliswaar grote bedragen gemoeid met IV&V voor megaprojecten en de grote dienstverleners bieden daarvoor een keur van QA- en IV&V-diensten aan. Daarnaast zijn er ook al kleine dienstverleners die kleinschalige IV&Vactiviteiten aanbieden, zoals het beoordelen van enkelvoudige projectdocumenten op conformiteit met standaarden en met contractvoorwaarden. Om de slaagkans van hun project te vergroten, zullen projectverantwoordelijken een passende en weloverwogen mix van QA en IV&V moeten samenstellen.
IV&V nader bekeken IV&V kent een redelijke verspreiding in de Angelsaksische wereld – en dan vooral in de Verenigde Staten. In Nederland zijn IV&V-activiteiten relatief onbekend. Het is daarom zinvol om IV&V wat nader te belichten. Wat is IV&V? IV&V staat voor Independent Verification and Validation. Afhankelijk van het toepassingsgebied verstaat men onder verificatie en validatie doorgaans verschillende zaken. In het algemeen gelden de volgende definities: Verificatie: bouwen we het systeem goed? Validatie: bouwen we het goede systeem? Anders gezegd: verificatie heeft te maken met productkwaliteit, en validatie met klanttevredenheid. De onafhankelijkheid van de V&V-werkzaamheden verhoogt de toegevoegde waarde. Waarvoor valt IV&V te gebruiken? IV&V is te gebruiken voor softwareontwikkeling, voor complete ICT-systemen en voor softwareondersteunde modellen of simulaties. Voor de eerste twee terreinen zijn in principe bovenstaande definities bruikbaar. In het geval van modellen of simulaties gelden enigszins afwijkende definities (zie AIAA 1998, ASME 2004): Verificatie: de mate van overeenstemming bepalen tussen de realisatiestappen van een model; bijvoorbeeld tussen eisen en ontwerp, of tussen ontwerp en implementatie. Validatie: vaststellen dat een modelimplementatie een accurate weergave is van de conceptuele beschrijving van het model en de oplossing van het model. De belangrijkste domeinen voor IV&V zijn van oudsher defensie en lucht- en ruimtevaart. Hier vinden we de drie bovengenoemde terreinen van IV&V terug: software, systemen, modellen. Het overgrote deel van de omvangrijke literatuur over IV&V komt dan ook uit deze hoek. De toepasbaarheid van IV&V is echter veel breder, zoals dit artikel laat zien. Wat biedt IV&V? IV&V biedt vertrouwen. Vertrouwen aan projectverantwoordelijken, eindgebruikers, en andere belanghebbenden. Vertrouwen in: De werking van het ontwikkelproces De correcte werking van het systeem De doelmatigheid van het systeem De juistheid van projectbeslissingen Met de inbreng van een second opinion fungeert IV&V als sparring partner voor het projectmanagement. Daarmee kan IV&V helpen om een eventuele contraproductieve monoloog van de ontwikkelaar — of van de opdrachtgever — te veranderen in een vruchtbare dialoog.
Waar ligt de grens tussen V&V? De grens tussen de twee processen is scherp, maar niet te hanteren: in de praktijk is V&V een sterk vervlochten combinatie van beide processen. Een strikte scheiding is alleen mogelijk wanneer de specificaties, als vertaling van de klantwens, volledig en correct zijn aan het begin van het project. In de praktijk is dat echter nooit het geval. Gaande het project veranderen specificaties. Ten dele gebeurt dit als gevolg van het ontwikkelproces, dat vernieuwing mogelijk maakt. Meestal echter zien we dat belanghebbenden (waaronder hopelijk de beoogde gebruikers) komen tot veranderde inzichten of dat de organisatorische context verandert (fusie of splitsing, wijzigingen in procesinrichting en/of in verantwoordelijkheden). Om deze redenen zijn verificatie en validatie nodig gedurende het hele project. Welke vragen beantwoordt IV&V? Bij de toepassing van IV&V op software en systemen zoekt men antwoord op de vragen: Toont het systeem precies het bedoelde gedrag? Toont het systeem geen onbedoeld gedrag? Toont het systeem het bedoelde gedrag onder moeilijke omstandigheden? De mate waarin deze vragen een bevestigend antwoord krijgen, draagt bij aan de betrouwbaarheid van het systeem. Hoe werkt IV&V? De IV&V-functie heeft een scala aan gereedschappen ter beschikking, mede afhankelijk van het betreffende terrein. Er valt te denken aan: Analyse van algoritmen Beoordelen van: Gebruikersdocumentatie Rampenplannen Systeemeisen Testontwerp Bijwonen/ondersteunen/uitvoeren van audits Databaseanalyse Faciliteren en bijwonen van tests Kostenanalyse Onafhankelijke risicoanalyse Ondersteunen van projectmanagement Bij de toepassing van deze gereedschappen houdt IV&V een aantal belangrijke systeemaspecten in het oog: Duidelijkheid Onderhoudbaarheid Consistentie Traceerbaarheid Volledigheid Testbaarheid Daarmee richt IV&V zich vooral op de (systeem)kwaliteit, waar het management zich ook moet bezighouden met de kosten.
IV&V in fasen Voor optimale effectiviteit dienen de IV&V werkzaamheden plaats te vinden in alle fasen van de levenscyclus, dus niet alleen bij oplevering. Oplossen van fouten in de operationele fase is kostbaar. Een vroege opsporing van fouten levert kostenbesparingen op tot een factor 100 (Boehm, 1981). Uitgaande van de software levenscyclus volgens ISO/IEC 12207 suggereert de IEEE standaard voor software V&V dan ook de volgende fasering van V&V-werkzaamheden (IEEE Std 1012-2004): IEEE Std 1012 Verificatie en Validatie (V&V) processen V&V van V&V van V&V van Operationele V&V van acquisitie toelevering ontwikkeling V&V onderhoud Verificatie stelt vast of het systeem voldoet aan de eisen voor de betreffende fase. Validatie onderzoekt of het systeem in alle fasen voldoet aan de klantwens. Onafhankelijke V&V De mate van onafhankelijkheid van de V&V-werkzaamheden heeft direct effect op de toegevoegde waarde ervan. Onafhankelijkheid van een externe uitvoerder van het ontwikkel-project, maar ook van een eventuele interne ontwikkelorganisatie. Een belangrijke meerwaarde van IV&V is het opsporen van de blinde vlekken van de uitvoerder en deze transparant en feitelijk presenteert aan klant en/of management. Het is mogelijk om een V&V-afdeling in te richten binnen de eigen organisatie, maar dit kan de verwachte voordelen in gevaar brengen. Om ongewenste — bewuste of onbewuste —beïnvloeding te voorkomen is het beter om V&V tot op zekere hoogte onafhankelijk te maken van de interne ontwikkelingsorganisatie. Volgens IEEE Std 1012 kan dit in meerdere opzichten gebeuren: Technisch: vrije keuze in gereedschappen voor IV&V, tezamen met een frisse kijk van technisch personeel dat geen deel uitmaakt van het project. Bestuurlijk: scheiding van de projectorganisatie, zodat de IV&V-organisatie zelf kan bepalen waar en wanneer welke IV&V-werkzaamheden nodig zijn. Financieel: een IV&V-budget dat onafhankelijk is van het ontwikkelingsbudget vermindert de kans op oneigenlijk gebruik of reductie van IV&V-budget. NASA en IV&V De NASA heeft de oudste en grootste IV&V-organisatie ter wereld: de NASA IV&V Facility. Inmiddels zo’n 20 jaar oud, met een budget van meer dan 30 miljoen dollar in 2013. In de bedrijfsvoering van deze IV&V Facility respecteert de NASA de drie bovengenoemde vormen van onafhankelijkheid. De gerealiseerde besparingen bedragen een veelvoud van de investering in IV&V. Naast de NASA ontplooien ook andere ruimtevaartorganisaties IV&V activiteiten (ESA in Europa, JAXA in Japan).
Voordelen van IV&V IV&V betaalt zichzelf terug door tijdige signalering van problemen. Ervaringen van onder meer de NASA leren dat de kosten van de IV&V-werkzaamheden zo’n 5-10% van de totale ontwikkelkosten bedragen. Voor die investering levert IV&V de volgende voordelen: Betere software/systeemprestaties Meer vertrouwen in software betrouwbaarheid Overeenstemming tussen specificaties en systeem Criteria voor programma-acceptatie Beter zicht op ontwikkeling Betere besliscriteria Tweede bron voor technische alternatieven Verlaging van onderhoudskosten Minder operationele wijzigingen
Drs. Arend Smit Senior adviseur M&I/Partners
Literatuur M. Aksu et al. (2012) ―World Quality Report 2012-2013,‖ Capgemini, Sogeti & HP. American Institute of Aeronautics and Astronautics (AIAA) (1998) ―Guide for the Verification and Validation of Computational Fluid Dynamics Simulation,‖ G-077-1998. American Society of Mechanical Engineers (ASME) (2004), ―Guide for the Verification and Validation of Computational Solid Mechanics,‖ PTC 60, Committee on V&V in computational solid mechanics, Draft 2004-03-22. B. W. Boehm (1981) ―Software Engineering Economics‖, Prentice-Hall, Englewood Cliffs, NJ. J. Druke et al. (2009) ―Government IT Projects Need QA/IV&V,‖ KPMG White Paper. Institute for Electrical and Electronics Engineers (IEEE) (2005) ―IEEE Standard for Software Verification and Validation,‖ IEEE Std 1012-2004. International Organization for Standardization / International Electrotechnical Commission (ISO/IEC) (1996). ―Information Technology – Software Life Cycle Processes‖, as amended by Amendment 1:2002, ISO/IED 12207:1995. V2M2 Platform (2006) ―V2M2 – A Verification and Validation Maturity Model – an introduction‖, Release 2.0. US Government Printing Office (1998) ―Approval of advance planning documents for computerized support enforcement systems,‖ 45 CFR Subtitle A §307.15. US Government Printing Office (2010) ―Independent Verification and Validation,‖ 45 CFR Subtitle A §95.626.