De kwaliteit van de Capgemini-software

Stichting Capclaim strijdt onder leiding van Kenneth Berkleef van het failliete Equihold tegen ict-dienstverlener Capgemini. Inzet is het terugvorderen van 43 miljoen euro schade. Capclaim heeft de afgelopen maanden documentatie aan kenners uit de markt beschikbaar gesteld om hen over deze zaak te laten oordelen. Ook Computable-experts kregen inzage en zullen de komende tijd via deze website hun bevindingen delen. Deze tweede bijdrage uit het vijfluik van Kurt de Koning gaat over de kwaliteit van de door Capgemini opgeleverde software.

De kern van de Capclaim welke Kenneth Berkleef heeft uitstaan betreft de kwaliteit van de door Capgemini aan Equihold geleverde software. Kwaliteit kan op verschillende manieren bepaald worden en is vaak moeilijk objectief te maken. Om kwaliteit objectief te kunnen beoordelen moet het meetbaar zijn en onderzoeken naar kwaliteit verifieerbaar: iemand anders moet tot dezelfde conclusie komen als deze het onderzoek op dezelfde wijze uitvoert.

In totaal hebben acht (!) onderzoeken plaatsgevonden naar de kwaliteit van de software. Doordat deze onderzoeken betaald en geïnitieerd is door één van de partijen is het zaak om extra goed te kijken hoe de onderzoeken zijn uitgevoerd om zo de objectiviteit van de bevindingen uit het onderzoek juist te kunnen duiden.

Business layer

De eerste twee onderzoeken vonden plaats in januari 2007 en zijn uitgevoerd door medewerkers van Capgemini. De aanleiding hiertoe was door Equihold geuite twijfels en klachten over de kwaliteit van de opgeleverde software en specifiek het ontbreken van de business-layer.

Het ontbreken van de business layer betekent dat het parameter-gestuurd maken van de software om zo verschillende sporten (niet alle sporten hebben elf veldspelers, twee helften en 45 minuten speeltijd) te ondersteunen, onmogelijk werd.

Ook heeft het FXCop compiler-rapport een rol gespeeld. Deze kwam tot meer dan elfduizend waarschuwingen in de opgeleverde software, wat een indicatie is van de kwaliteit van de software.

Aanbevelingen

In de managementsamenvatting van dit rapport wordt de kwaliteit beoordeeld als ‘over het algemeen goed’, hoewel de kwaliteit niet consistent is. Dit betekent dat voor delen van de software een verbeterslag kan worden gemaakt. Hiertoe zijn concrete aanbevelingen genoemd:

•             Creëer geen onnodige objects.

•             Verwijder files uit de software die niet worden gebruikt.

•             Maak meer gebruik van comments.

•             Zorg dat alle gebruikers events en error-afhandeling hebben.

Het rapport geeft voorbeelden op basis waarvan de aanbevelingen zijn gegeven. Daarnaast wordt aangegeven dat de splitsing van de verschillende layers goed en conform de technische specificaties is uitgevoerd. In het rapport wordt niet duidelijk of deze laag aanwezig is en functioneert als zodanig of alleen aanwezig is zonder verdere functies. Dat dit een essentieel verschil is, zal uit een vervolgonderzoek nog blijken. Een nadere onderbouwing waarom de software ‘over het algemeen goed’ is, wordt niet gegeven.

In dit zelfde rapport wordt verwezen naar een eerder onderzoek, ook door Capgemini uitgevoerd, waarbij specifiek is gelet of er volgens de richtlijnen is geprogrammeerd. Dit tweede rapport is niet gedeeld, ook niet na aandringen van Equihold.

Een lege business layer

In januari 2008 wordt door een medewerker van Equihold de software opnieuw bekeken, waarbij de business layer wel aanwezig is, doch ‘leeg’ en daarmee zonder functie. Dit is in tegenspraak met het eerste Capgemini-rapport van januari 2007 waarin de aanwezigheid van deze business layer wel wordt gemeld zonder verdere aanvulling of voorbehoud.

In 2010. Equihold heeft begin 2009 zijn activiteiten noodgedwongen moeten staken, wordt de software wederom door dezelfde Equihold-medewerker beoordeeld. Dit rapport is in feite een aanklacht tegen de werkwijze van Capgemini en bekritiseert de opgeleverde software, welke in zijn ogen onbruikbaar is. Meerdere zaken worden als zwaar onvoldoende beoordeeld waarvan voorbeelden worden gegeven. Wederom wordt geconstateerd dat de business layer wel aanwezig is maar in feite geen functie heeft.

Extern onderzoek naar de kwaliteit

In oktober 2010 heeft Equihold gevraagd aan Software Quality Measurement and Improvement (SQMI) om de opgeleverde software te onderwerpen aan een onderzoek. SQMI hanteert een methodische aanpak waarbij het aantal coderegels met een defect worden geteld en gegroepeerd in categorieën. Gemiddeld kwam men op 175 foutieve regels per duizend regels code wat een F-rating opleverde, een drie op een schaal van één tot tien. De één na laagste score in de geschiedenis van SQMI.

Op basis van dit onderzoek is de eindconclusie is dat de onderhoudskosten voor dit product onnodig hoog zijn en de software als platform voor verdere ontwikkeling ongeschikt is. Opmerkelijk hierin is dat zaken zijn teruggevonden die in 2007 als aanbeveling zijn aangedragen door Capgemini. Bij mij rijst dan gelijk de vraag op wat er met de aanbevelingen is gedaan. Genegeerd, wel uitgevoerd maar niet geborgd of iets anders?

Wederom een intern onderzoek

In februari 2013 heeft Capgemini een zeer uitgebreid intern onderzoek uitgevoerd naar de gang van zaken. Uit de samenvatting wordt ten aanzien van de softwarekwaliteit opgemerkt dat er fouten in zitten doch niet van dien aard dat dit het functioneren van de software in de weg staat. Deze bevinding staat haaks op de ervaring met de software door Equihold en (pilot-)klanten.

Nog een extern onderzoek naar de kwaliteit

In 2014 heeft Capgemini de Software Improvement Group (SIG) gevraagd om de software te onderzoeken op onderhoudbaarheid. Zij hebben hiertoe de methode SIC/TUViT-kwaliteitsmodel voor Trusted Product Maintainability (april 2009) gehanteerd. Ook dit is een methodische aanpak op basis van tellingen en een normenkader.

In juni jl. hebben zij dit rapport gepresenteerd met als belangrijkste conclusie dat de onderhoudbaarheid ‘marktgemiddeld’ is, afgezet tegen de benchmark die SIG hanteert. Dit hoeft natuurlijk niet dezelfde benchmark te zijn die SQMI hanteert en waarop het tot een F-rating komt. Let wel dat SIG direct de onderhoudbaarheid van de software heeft onderzocht en SQMI de software in het algemeen en daarbij als afgeleide heeft geconcludeerd dat de onderhoudbaarheid onnodig duur is.

Vragen

SIG/Capgemini hanteert hierbij het principe dat de kwaliteit van software wordt bepaald door de mate van onderhoudbaarheid. Ik vraag me dan gelijk af of dit een correct principe is. Want hoe moeten we deze rapporten interpreteren? De rapporten doen uitspraken die (schijnbaar) in tegenspraak met elkaar zijn. In sommige gevallen mist de onderbouwing en wordt een uitspraak gedaan die niet te kwantificeren is. Tijdens de rechtszaak zullen deze rapporten ook worden besproken. Welk gewicht zou de rechter aan deze rapporten afzonderlijk en in het geheel toekennen?

Ook vraag ik me af of de acht uitgevoerde onderzoeken voldoende zijn om een uitspraak te kunnen doen over de kwaliteit van de software. De onderzoeken zijn vooral gericht op onderhoudbaarheid, programmeertechnische en technische requirements (met focus op de business layer), terwijl stabiliteit en performance een enkele keer worden genoemd. Of de software voldoet aan de opgestelde functionele requirements komt terug in een vervolgartikel waarbij het testen en het testrapport (FAT) nader wordt bekeken.

Om een oordeel te vellen over de kwaliteit van de software zijn de genoemde kwaliteitskenmerken dan volledig? Ter volledigheid, in het verweer noemt Capgemini dat de onderzochte software niet de meest actuele versie is en dat de meest recente software (vrijwel) vrij is van gebreken. In meerdere (Equihold-)onderzoeken is het aantal en ernst van de gebreken dusdanig dat corrigeren op korte termijn niet mogelijk wordt geacht en dat opnieuw bouwen de enige manier is om de software te laten voldoen aan de verwachtingen.

Er blijven dus veel vragen vooralsnog onbeantwoord.

Lees meer: http://www.computable.nl/artikel/expertverslag/development/5208050/1277180/de-kwaliteit-van-de-capgeminisoftware.html#ixzz3M3LDVju8

 

Zesluik Deel 1 Kurt de Koning Zesluik Deel 3 Kurt de Koning  Zesluik Deel 4 Kurt de Koning

Zesluik Deel 5 Kurt de Koning Zesluik Deel 6 Kurt de Koning