Op 2 maart 2016 staan Capgemini en de Kenneth Berkleef van het failliete bedrijf Equihold voor de rechter in Amsterdam. Capgemini heeft van 2006 tot 2009 voor Equihold een .NET versie gemaakt van hun sport-erp-suite 1-2Focus. De klanten van Equihold, bonden en sportclubs, zijn heel tevreden met het vernieuwde concept van 1-2Focus. Echter de kwaliteit van de door Capgemini geleverde software vinden ze zo slecht, dat ze deze na negen releases en meer dan honderd bug- en hotfixreleases niet meer willen gebruiken.
Omdat de bonden en sportclubs de contracten met Equihold uiteindelijk allemaal opzegden, is Equihold failliet gegaan. Kenneth Berkleef wil de directe en indirecte schade op Capgemini verhalen. Die schade is volgens hem ongeveer 43 miljoen euro. Capgemini op zijn beurt, wil de laatste nota’s voor Equihold alsnog innen, met gederfde rente.
Visie Equihold/Berkleef
Berkleef vindt niet alleen de werkwijze van Capgemini slecht en misleidend, maar kwalificeert het eindproduct als spaghetticode. Hem is ook achteraf gebleken dat Capgemini de contractueel afgesproken three tier architectuur niet heeft geïmplementeerd. Onafhankelijke experts zoals Kurt de Koning en Leendert Hinds, hebben op verzoek van Berkleef naar deze zaak gekeken. Ze vinden bijvoorbeeld dat Capgemini de afgesproken ontwikkelmethode RUP op een zeer gebrekkige wijze heeft ingevuld, dat de verdeling van verantwoordelijkheden vanaf het begin warrig geformuleerd is en dat Capgemini beter had moeten communiceren.
Ikzelf heb een uitgebreide projectaudit uitgevoerd om te zien of Capgemini zijn selling points heeft waargemaakt, of niet. Daar wilde Capgemini niet aan meewerken. De uitslag van de audit was voor mij onthutsend. Capgemini scoort matig tot zeer slecht op alle onderzochte gebieden van projectmanagement, veelal van het begin tot en met het einde van het project, alsof ze nooit van Quality Assurance en Quality Control hebben gehoord. Ik heb nog nooit zoveel kritieke tekortkomingen gezien bij een grote leverancier van faam. Verder heb ik de laatste release van de software getest om te zien of de eindgebruikers terecht klagen.
De software ziet er mooi uit, maar is heel moeilijk te installeren, de werking is instabiel en zit vol irritante tot kritieke bugs. Samengevat, onwerkbaar. Ik kan de klachten van Equihold en de gefrustreerde klanten alleen maar bevestigen en vind de kwaliteit tijdens gebruik zelfs minder dan die van een Bèta-versie.
De samenvatting van de uitkomst van mijn projectaudit en van de gebruikerstests zijn reeds eerder verschenen in Computable, net als de visies van Kurt de Koning en Leendert Hinds.
Onderzoek SQMI
Berkleef heeft het bedrijf Software Quality Measurement & Improvement (SQMI) ingeschakeld om een onafhankelijk oordeel te vellen over de kwaliteit van de door Capgemini geleverde broncode. Is de code van Capgemini bruikbaar of niet? Graham Bolton van SQMI geeft aan dat hij de laatste tien jaar slechts eenmaal eerder, slechtere code heeft onderzocht.
SQMI hanteert hierbij de normen van het Institute for Software Quality (IfSQ). De meest voorkomende fouten waren ongebruikte code, onnodige replicatie, te lange en complexe routines. Maar ook andere fouten kwamen regelmatig voor. Het eindoordeel van SQMI in oktober 2010 is dat de bestaande broncode van Capgemini geen basis kan zijn voor verdere ontwikkeling van de software. Dat sluit aan bij de negatieve ervaring van Equihold met de software.
De software vertoont veel fouten en veel bugfixes van Capgemini leveren nieuwe bugs op of herintroduceren eerder opgeloste fouten. Geheel opnieuw beginnen is in de ogen van SQMI de enige oplossing. Er is dus sprake van een total loss na de investering van 42 manjaren en miljoenen Euro’s.
Rapport SIG
Capgemini ontkent heel stellig dat hun software slecht is en dat ze hun contractuele verplichtingen anderszins niet zijn nagekomen. Ze hebben de Software Improvement Group (SIG) ingeschakeld om te staven dat hun broncode goed is. Het SIG rapport van 30 juni 2014 zegt dat de kwaliteit van de 1-2Focus broncode niet slechter is dan gangbaar, al laten ze het open of SQMI niet toch gelijk kan hebben. Allerlei IfSQ Defect-indicatoren gebruikt door SQMI worden in het SIG-rapport als irrelevant bestempeld, dit tot grote verbazing van vakgenoten.
Door het ‘opschonen’ van IfSQ Defect-indicatoren verdwijnen er veel kritiekpunten in de code van Capgemini. Deze aanpassing van de analysemethode door SIG is natuurlijk gunstig voor Capgemini. En zo probeert Capgemini het rapport van SQMI bij de rechter te pareren. Het SIG rapport gaat alleen over onderhoudbaarheid en niet in op de aanwezigheid van critical bugs in de software zoals de gebruikers zijn tegengekomen.
Ook krijgt de fake three tier-architectuur (lege business layer) geen aandacht. SIG zegt daarover in het algemeen: ‘Having a clear view on software architecture is essential when you are building and maintaining software.’ SIG beweert ook niet dat er high quality software is afgeleverd, zoals contractueel was vastgelegd. Heel interessant dat SIG geen oordeel geeft over dit soort zaken. Hun rapport biedt daarom vooral ‘Uncertainty and Doubt’ richting SQMI.
Boek SIG
SIG weet natuurlijk wel waarover ze het hebben. SIG heeft eind vorig jaar het boek gepubliceerd ‘Building Maintainable Software: Ten Guidelines for Future-Proof Code’. Onderhoudbaarheid van software, is één van de acht hoofdcategorieën voor de kwaliteit van software in ontwikkeling. Een preview van het boek was te downloaden via https://www.sig.eu/index.php/download_file/534/916/ . Deze link doet het echter opeens niet meer, al wordt er op de SIG site nog wel naar de preview download verwezen.
In ‘Building Maintainable Code’ laat SIG heel andere standpunten zien dan in hun rapport voor Capgemini. In hoofdstuk 11 van het boek ‘Write Clean Code’ beveelt SIG aan om als je een stuk code bewerkt, je meteen de onvolkomenheden moet verwijderen, want ’this improves maintainability because clean code is main-tainable code’. Ze noemen de onvolkomenheden de Code Smells. ‘Code smells are coding patterns that hint that a problem is present. Introducing or not removing such patterns is bad practice, as they decrease the maintainability of code.’ Het gaat bijvoorbeeld om: onbegrijpelijk of overbodig commentaar, niet meer gebruikte code in commentaar plaatsen, overgebleven stukjes ongebruikte code of code met ongebruikte output, niet of slecht gedefinieerde ‘magic’ constanten, events en errors die niet goed afgehandeld kunnen worden. Dit zijn volgens SIG onvolkomenheden die ‘impact maintainability most’.
Echter dit zijn ook de IfSQ Defect-indicatoren die door SIG in hun rapport voor Capgemini nog ‘irrelevant’ zijn genoemd. Uiteindelijk blijkt dat tien van de twaalf IfSQ Defect Indicators gelijkwaardig zijn met de punten waarop SIG te inspecteren code automatisch scant. Met het boek haalt SIG dus hun eigen rapport voor Capgemini onderuit. En dat rapport was de enige steun vanuit derden ter verdediging van de kwaliteit van de diensten en producten van Capgemini gemaakt en geleverd aan Equihold.
Gevolgen
Berkleef zal bij de rechtbank het boek van SIG gebruiken om ook de laatste twijfel over het falen van Capgemini weg te nemen. Dit is een opmerkelijk wending van de procesgang, Het was SIG rapport versus SQMI rapport; nu is het SIG rapport versus SIG boek.
Voor Capgemini is het boek te vroeg uitgekomen. Ze kunnen niet meer met behulp van SIG stellen dat de kwaliteit van hun 1-2Focus software marktgemiddeld is (norm 2009). En dat is ook maar goed ook. Want wat klanten zoals Equihold, de SVB, de Belastingdienst en vele anderen de laatste jaren van Capgemini (en anderen) hebben gekregen, mag nooit de norm van de markt worden.
SIG heeft hun vakgenoten het een en ander uit te leggen. Je bestelt bij wijze van spreken een luxe BMW (high quality), je krijgt geleverd een gammele Trabant (onrendabel), maar volgens een keuringsrapport van SIG heb je een nette Opel (marktgemiddeld) gekocht. Dit ongemak had voorkomen kunnen worden als SIG net zo kritisch was geweest als bij hun eerdere review van het mislukte MRS systeem, dat ook door Capgemini is gemaakt.
Jaap van Belkum, zzp’er (ICT-Traject)
Spannend, wordt vervolgd dus…
Frans, inderdaad heel spannend. Hoe gaat Capgemini reageren op het boek van SIG? En hoe eventueel SIG.
Het blijkt dat veel mensen die ooit met 1-2Focus te maken hebben gehad vanuit de sportwereld, heel veel interesse hebben in de rechtszaak.
De vergelijking die in dit artikel (en wellicht ook in de rechtbank?) gemaakt wordt tussen de onderzoeken van SQMI en SIG en de bijbehorende conclusie zijn zacht gezegd merkwaardig. Daar waar SQMI een onderzoek heeft gedaan naar de kwaliteit van de broncode, is het SIG rapport enkel en alleen gericht op de onderhoudbaarheid van de broncode. Een gevalletje appels met peren vergelijken?
De onderhoudbaarheid van de code zegt namelijk niet expliciet iets over de kwaliteit van de code zelf. (al is het in de regel wel zo slecht onderhoudbare code over het algemeen ook van mindere kwaliteit is) Zoals het rapport van de SIG aangeeft is de onderhoudbaarheid van de code markt conform, wat inhoud dat de onderhoudbaarheid van de code dus van een standaard niveau is.
Inhoudelijk zegt dit niet veel over de kwaliteit van de daadwerkelijke code, immers als goed onderhoudbare code verkeerd wordt gebruikt of onjuistheden bevat dan doet dit niets af aan de onderhoudbaarheid. Om de vergelijking met de auto’s even door te trekken; Het onderzoek van SQMI geeft aan dat de gekochte BMW niet goed in elkaar zit en ondeugdelijke onderdelen heeft. Het rapport van de SIG geeft aan dat de auto net zo goed te onderhouden is als de gemiddelde middenklasser.
Hierbij moet ik echter wel afgaan op de inhoud van dit artikel, ik kan de SIG rapportage zelf zo snel niet vinden. De SIG heeft overigens ook andere metrics die zich wel richten op de kwaliteit van de code.
(Ik ben niet gelieerd aan de SIG, SQMI, Capgemini of Berkleef)
@W. van Kuipers, de twee onderzoeken zijn inderdaad verschillend in opzet en in reikwijdte. SQMI heeft dieper en breder onderzocht. Daarom vergelijk ik ze niet één op één, want dat kan niet. Ik vergelijk het SIG rapport met het SIG leerboek ten aanzien van hun kritiek op het inspectie rapport van SQMI.
Een paar opmerkingen.
SIG heeft in opdracht van Capgemini alleen naar de onderhoudbaarheid gekeken, slechts één van de acht kwaliteitsaspecten van software. Daarbij heeft SIG ook niet naar de inhoud van de klachten / defecten gekeken (kwalitatief), maar alleen kwantitatief met behulp van wetenschappelijke gereedschappen en meetmodellen die ze zelf ontwikkelen. SIG heeft ook de methode voor Capgemini getweakt door een aantal Software Defect Indicatoren als irrelevant te bestempelen (terwijl ze zoals hierboven aangegeven in hun leerboek het tegenovergestelde beweren). Ze hebben dus niet alleen een beperkt, maar ook een getweakt onderzoek gedaan.
Maar ze gaan verder. Binnen de onderhoudbaarheid zijn door SIG m.b.v. een programma verschillende aspecten gemeten. Per combinatie categorie subkarakteristiek / broncode eigenschappen, zijn er sterren toegedeeld (op basis van een soort van normaalverdeling binnen de bench van geteste software). Die sterren zijn op één hoop gegooid en gemiddeld, alsof de waarde van de ene ster gelijk is aan de andere. Dus SIG middelt appels, peren, druiven, et cetera. Dit is gerommel met de uitkomsten van het “neutrale” SIG programma.
SIG schrijft in hun rapport dus dat de onderhoudbaarheid van de code marktconform is. Capgemini schrijft daarna dat hun software deugdelijk is, zich beroepend op SIG. De rechter heeft daarover vandaag een vraag gesteld. Capgemini en SIG hebben daarop geantwoord dat de uitkomst van de test door SIG geen waardeoordeel is over kwaliteit van de code, maar slechts de uitkomst van een meting. Even later zeggen ze echter dat het gemiddelde aantal sterren aangeeft dat de Capgemini software van marktconforme kwaliteit is en suggereren dat eventueel aanwezige fouten dus snel gerepareerd kunnen worden. Ja er wordt zelfs gesteld dat de totale kwaliteit van de software zelfs high quality zou kunnen zijn i.t.t. SQMI geschreven heeft.
Is (de preview van) het SIG boek “Building Maintainable Software: Ten Guidelines for Future-Proof Code” nu nog ergens te downloaden? In het licht van deze ontwikkelingen ben ik er wel erg nieuwsgierig naar…
Frans, op https://www.sig.eu/en/about-sig/archive/building-maintainable-software-preview-edition is nog steeds de download link te zien. Maar die werkt niet meer.
Wel zag ik een kopie op http://cdn.oreillystatic.com/oreilly/booksamplers/9781491953525_sampler.pdf.
Ik heb het altijd opmerkelijk gevonden dat de nieuwe software van Cap Gemini als ‘gemiddeld’ werd gekwalificeerd. Lijkt me niet iets om als gerenommeerd softwarehouse trots op te zijn. We weten allemaal dat de onderhoudbaarheid achteruit gaat wanneer software ouder wordt en er meer aan gewijzigd wordt. Als de start dan niet hoger komt dan ‘gemiddeld’ is dat bedenkelijk en voorspelt dat weinig goeds voor de toekomst.
Jaap, dank voor de tip dat ik de oude preview pagina nog niet had bijgewerkt. Heb ik net gedaan, de preview staat nu inderdaad bij onze partners O’Reilly en Amazon. Mooi te zien dat er zoveel energie is voor het onderwerp van de kwaliteit van software. Het is daarom ook zo jammer dat ik geen inhoudelijke reactie kan geven op je bovenstaande opinie-blog, dit vanwege klantvertrouwelijkheid en het feit dat het onder de rechter is. Mocht je dat op prijs stellen, dan kan ik je het fysieke boek sturen en/of kunnen we -los van de zaak- inhoudelijk discussiëren over software inspecties, hoe we dat bij SIG herhaalbaar in ons laboratorium analyseren én de guidelines voor future-proof code in het boek Building Maintainable Software. Ik hoor of lees het wel 😉 Michiel
Kurt, je snijdt een wezenlijk punt aan met je opmerking over de gemiddelde kwaliteit (van de onderhoudbaarheid). Die kan ik alleen maar onderschrijven.
Opmerkelijk is dat Capgemini van de projectstructuur, de documentatie en de afgesproken architectuur een rommeltje gemaakt heeft. Daardoor gaat de onderhoudbaarheid alleen maar sneller achteruit.