Capgemini heeft voor Equihold een .Net-versie gemaakt van hun sport erp-programma 1-2Focus. Equihold is vanaf het begin niet tevreden over de software en spreekt uiteindelijk over slechte spaghetticode. Dat wordt ten stelligste ontkent door Capgemini. In mijn vorige artikel, ‘Capgemini 1-2Focus: installatietest’, heb ik beschreven dat het installeren van de 1-2Focus software weliswaar mogelijk is, maar het meestal moeizaam gaat en het niet iedereen zal lukken om de software te installeren. Maar als die horde is genomen, hoe stabiel en gebruiksvriendelijk is de software dan verder?
In het contract met Capgemini en bijbehorende documenten zijn voor 1-2Focus onder andere de volgende eisen en uitgangspunten vastgelegd.
– Het programma moet gebruiksvriendelijk zijn (be easy to deploy, be easy to upgrade).
– De software functionaliteit moet modulair in de markt gezet kunnen worden. Een versie waarbij niet alle modules geleverd zijn, moet dus gewoon kunnen werken.
– De software moet van hoge kwaliteit (high quality) zijn.
Bij het testen is bekeken of de software globaal voldoet aan de algemene eisen die aan software gesteld mogen worden.
De applicatie
De applicatie ziet eruit als een typische Microsoft Windows XP applicatie. Dat is te verwachten omdat het om een .Net-applicatie gaat, die met Microsoft tools gemaakt is. Er is een behoorlijke handleiding van 91 pagina’s. Bovendien kun je via de frequently asked questions (faq) een bijbehorend instructiefilmpje starten, zoals bij veel erp-programma’s.
Het hoofdmenu volgt grotendeels de bedoelde modulaire opbouw. De trainer krijgt de modules ‘Management’ voor rapporten en contacten, ‘Sport’ voor onder meer competitie, team(samenstelling), trainingen, agenda, wedstrijden, activiteit spelers en spelersevaluatie, ‘Wedstrijden’ voor onder andere video bibliotheek, actieschema ten behoeve van wedstrijdevaluatie, wedstrijden, presentatie van geselecteerde fragmenten en ‘Admin’ voor bijvoorbeeld het maken/aanpassen van formulieren, de back-up en rapportages.
Irriterende bugs
Je ziet meteen veel slordigheidjes als je door de menu’s heen loopt. Bij het programma was Nederlands als taal ingesteld, maar op veel delen van het programma moet je met de Engelse taal werken zonder dat dit voor de hand ligt. Zo is de submodule ‘Agenda’ grotendeels in de Engelse taal. De submodule ‘Training’ is ook grotendeels in het Engels. Het aanmaken van personeelsgegevens gaat deels in het Engels. Ook zijn er wat typefouten.
Als je eenmaal met de applicatie gaat werken, dan zie veel meer foutjes. Datums kun je niet altijd rechtstreeks intypen, maar moet je geheel of gedeeltelijk aanpassen via het bekende MS de mini agenda. Als je de geboortedatum moet invullen van iemand die decennia oud is; dan ben je even bezig met scrollen.
De submodule ‘Agenda’ laat je niet meteen een team selecteren waarvan je een activiteitenoverzicht wilt hebben. Je moet eerst de optie ‘Training Selectie’ afvinken en weer aanvinken, voordat je één of meerdere teams kunt selecteren.
Bij de submodule ‘Spelersactiviteit’ kun je aangeven dat een speler absent is vanwege ziekte. Maar je moet daarvoor een reden opgeven voordat dit opgeslagen kan worden. Als je niet weet waarom iemand ziek is, verzin dan maar wat.
De ‘Bibliotheek’ met standaard trainingssessies is leeg of niet benaderbaar. Dat was eerder niet zo.
Irritant is ook dat sommige foutmeldingen worden herhaald en sommige foutmeldingen ten onrechte worden getoond. Veel van die fouten staan in clusters. Bijvoorbeeld, het type actie (event) van een speler kan worden gedefinieerd via het ‘Actieschema’ (in de applicatie Event schema). Wijzig je een actietype in het actieschema, dan krijg je vier keer achter elkaar dezelfde foutmelding ‘Opslaan van het event is mislukt’, ook als achteraf blijkt dat de actieomschrijving wel is vastgelegd. De foutmelding moet je vier keer wegklikken. Één keer waarschuwen is voldoende zou je zeggen en uiteraard alleen als het echt nodig is. Bij het wijzigen van de voor- of achtergrondkleur in het actieschema krijg je dezelfde foutmelding en ook vier maal. Dat geldt ook voor het koppelen van een tegenactie (zoals storen) aan een actie. Ook het koppelen van een bepaalde standaardactie aan een hot key geeft ten onrechte weer vier keer de bekende foutmeldingen.
Het opslaan van een mutatie kan de ene keer via een te verschijnen opslaan button en de andere keer alleen via de menubalk. Dat is allemaal niet bepaald bevorderlijk voor de acceptatie van de software, maar het zijn nog geen echte afknappers. Die zijn er helaas wel.
Blocking bugs
De ‘Rapportageontwerper’ (Report Builder in de applicatie) van de managementmodule start niet op; meteen een blocking bug.
Bij jeugdvoetbal zijn er afwijkingen ten opzicht van de normale regels voor volwassenen, bijvoorbeeld qua aantal spelers (maximum en minimum), aantal te wisselen spelers en de speeltijd. Voor een oefenwedstrijd moet je vrijheid krijgen. En dus moet je de tijd zelf kunnen instellen. Maar dat lukt niet.
Als je een oefenpotje wilt agenderen, dan hoef je niet voldoende spelers ter beschikking te hebben, zoals bij een competitiewedstrijd, maar dat lukt niet.
Spelanalyse van wedstrijden en oefeningen is in de topsport van groot belang. Dat betekent dat acties aan videofragmenten gekoppeld worden, bij voetbal van aftrap, doelpunt of een rode kaart van spelers. Die acties worden in het actieschema vastgelegd. Je hebt standaard acties en lege acties die men zelf kan definiëren, de ‘Eigen acties’. Ik heb bijvoorbeeld de ‘Swalbe’ toegevoegd. Dit lukt niet bij elke installatie. Toen ik de volgende eigen actie toevoegde, ging de veldwaarde terug naar de oorspronkelijke staat. Toevallig kwam ik er achter dat als ik eerst de voorgrondkleur aanpaste, ik daarna alsnog een extra ‘Eigen actie’ kon definiëren voor ‘Op de voet trappen’. Ik wilde daarna nog eens op die manier ‘Tijdrekken’ toevoegen, maar dat lukte niet meer. Dus werking van deze bug is niet te voorspellen.
De actie die je aan een spelmoment wilt koppelen kun je aanklikken op een Notatiebord (in de applicatie Notation board) onder het venster voor het afspelen van de video. Dat is handig voor spelanalyse. En je kunt dit uiteraard ook doen met hotkeys die je zelf kunt definiëren. Maar hot keys aanpassen voor een ‘Eigen actie’, kan weer niet, net als nog een aantal andere opties ook niet bij zo’n actie aangepast kunnen worden.
De acties die je koppelt aan een speelmoment kunnen ook aan de plek van het speelveld worden gekoppeld. Ook dat is handig voor spelanalyse. Daarvoor wordt er een schema van het speelveld getoond. In de voetbalversie wordt echter een hockeyveld getoond en die heeft een duidelijk andere indeling dan een voetbalveld.
Voor de liefhebbers, de filmpjes van de genoemde bugs zijn te zien op de website van Capclaim, de juridische entiteit die strijd voert tegen Capgemini.
Voor de gebruikers waren niet alleen de bugs een groot probleem, de leading costumers hebben moeten ervaren dat sommige bugs na een update weer verschenen. Of dit komt door slecht versiebeheer van de source of door de complexiteit van spaghetticode, dat weet ik niet. Het zou niet mogen voorkomen.
Eindconclusie vanuit de gebruiker gezien
Versie 9 is de beste versie die door Capgemini is gemaakt. Toch blijkt het programma in de praktijk niet geschikt te zijn door vele hinderlijke fouten en doordat belangrijke functionaliteit niet beschikbaar is door technische fouten. Die fouten zijn vooral in de submodule ‘Actieschema’ te vinden. Zoveel ernstige fouten bij elkaar kun je als leverancier bij het testen onmogelijk over het hoofd hebben gezien. Capgemini heeft dus niet volgens afspraak de technische tests en functionele tests uitgevoerd. Het had moeten gebeuren en daar is ook voor betaald. De software is slechter dan alle Bèta software die ik in de loop der jaren heb getest. Versie 9 komt over als een Alfa-release, om aan een klant te laten zien wat de software kan gaan worden. Het is gewoon absurd dat Capgemini bij release 9 nog steeds geen stabiele en volledig functionele software heeft weten te bouwen.
Jaap van Belkum, zzp’er
ICT Faalindustrie?
Diverse experts hebben inzake het 1-2Fcousproject zich reeds eerder negatief uitgelaten over de kwaliteit van de code, de toepassing van Rational Unified Processing (RUP) in het ontwikkeltraject en het door Capgemini gevoerde project- en kwaliteitsmanagement en de bijbehorende transparantie van de communicatie. Achteraf is de mislukking goed te verklaren; een contract dat op twee tegenstrijdige gedachten stoelde, slecht projectmanagement, slecht kwaliteitsmanagement, slechte en verhullende communicatie, slechte invulling van de zorg naar de klant. Het eindresultaat is kreupele software waarmee niet gewerkt kan worden. En Capgemini eist nog meer geld voordat zij de bugs oplossen.; in die zin mag 1-2Focus crippleware genoemd worden.
Is dit een voorbeeld van falen, nee het gaat verder dan dat. Zo complex was de opdracht niet voor een bedrijf als Capgemini. Capgemini had meer dan voldoende expertise, capaciteit en ervaring in huis. Natuurlijk, Capgemini had nog heel weinig ervaring met offshoring, maar vanuit projectmanagement hadden die risico’s adequaat gedekt kunnen worden.
Helaas hebben ze de problemen naar het onervaren en kleine Equihold doorgeschoven. Tenslotte, wat wist Equihold van Rup en offshoring en hoeveel mankracht hadden zij om Capgemini te controleren? Dat was te weinig en daar is gebruik van gemaakt. De contractuele afspraken met betrekking tot Rup, softwarearchitectuur, kwaliteit, werkverdeling en dergelijke zijn niet of grotendeels niet nagekomen. Capgemini heeft de klant een lange tijd laten betalen voor producten en diensten die ze maar voor een deel hebben geleverd. Het is een keten van fouten.
Het hoogste management van Capgemini zegt dat de geleverde kwaliteit voldoet aan de norm van gemiddelde software, terwijl er aantoonbaar nog steeds blocking bugs inzitten. Misschien moeten zij zich eens afvragen, What business am I in? Het huidige verdienmodel van Capgemini werkt nog wel, maar hoe lang nog na al die negatieve publiciteit als je kampioen mislukte projecten bent? Om je bedrijf te kunnen continueren, heb je goodwill nodig. Een goede naam kun je niet kopen, maar moet je verdienen en blijven verdienen, zoals generaties van Capgemini Sogeti-medewerkers dat eerder hebben gedaan.
@P.J Westerhof, er was geen One Size Fits All Out-Of-The-Box raamovereenkomst met bijlagen. Het standaard raamcontract dat Capgemini heeft gebruikt voor 1-2Focus, was eigenlijk bedoeld voor detachering. Door bijlagen (maatwerk) is dit confectiecontract weer aangepast voor een outsourcing opdracht, maar zaken zoals regie en allerlei vormen van management werden niet beschreven in het hoofdstuk Definities. In bijlage C zijn de rollen en de t.b.v’s wel omschreven. De accountmanager had een ander sjabloon moeten pakken en de definitielijst goed aanvullen. Dat er zo met sjablonen is omgesprongen, lijkt achteraf een voorbode te zijn, hoe Capgemini met de RUP-sjablonen om zou gegaan.
De Chinese Wall behoort inderdaad tussen opdrachtgever en opdrachtnemer te staan. Dus ‘Capgemini verbood contact met Indiërs’. Helaas leek er in de praktijk ook een Chinese Wall te staan tussen Back- en Frontoffice van Capgemini. Ik denk dat Capgemini hoopte dat Equihold zou gaan meemanagen, met de gevolgen die je hebt genoemd.
@Jaap: op gevaar van beschouwd te worden als reclame, ik heb er als gepensioneerde niets aan, het beste wat ik kan aanbevelen is het concept in zijn geheel te bekijken in een van de kantoren van het sw-huis Oxaion, Dusseldorf is waarschijnlijk de kleinste verplaatsing. Kan je het grondig aan de tand voelen en oordelen dat ik niet overdrijf. Mijn vroegere contactpersoon is Rene Broekman, een senior consultant en Nederlander van oorsprong.
@Jaap, bij het doornemen van deze bijlage C kom ik tot een aantal andere bevindingen dan jij hier noemt. Zo wordt in bijlage C als uitgangspunt van de overeenkomst genoemd: het overeengekomen aantal uren voor ontwikkelcapaciteit wat Equihold vooraf bij Cap Gemini inhuurt voor een bepaalde tijdsperiode (3 maanden).
Daarnaast is er een overzicht van een blended uurtarief die omlaag gaat wanneer er meer uren worden afgenomen. Daarnaast kan Equihold extra capaciteit inhuren tegen een volgend uurtarief: PL €…., Testmanager €…., Development capaciteit India €…., etc.
Op al deze tarieven gelden opslagen voor reis, en verblijfskosten en additionele kosten zoals visa.
Dit zijn zaken die ik niet direct associeer met een resultaatverplichting.
Ook de taken, verantwoordelijkheden en bevoegdheden kom ik niet zo expliciet tegen (wellicht dat ik er overheen lees). Wel wordt genoemd welke partij welke werkzaamheden gaat uitvoeren (taken) maar er wordt niet expliciet genoemd wie verantwoordelijk is voor het resultaat en wat de bijbehorende bevoegdheden zijn. Of men kiest voor het uitgangspunt dat degene die de werkzaamheden gaat doen ook automatisch verantwoordelijk is voor het resultaat tenzij anders genoemd. Uiteindelijk was Equihold wel eindverantwoordelijk volgens bijlage C maar was in het begin weer niet bevoegd om direct in contact te treden met de programmeurs in India.
Opmerkelijk is dat in bijlage C de betalingseisen wel heel exact zijn uitgewerkt compleet met betaalschema zodat misverstanden en risico’s voor Cap Gemini uitgesloten werden. Zoals eerder vermeld moest Equihold vooraf aangeven hoeveel uren men wilde afnemen. Twee maanden van te voren werd dan vanuit Cap Gemini een factuur verstuurd met een betalingstermijn van 30 dagen zodat de betaling binnen was, een maand voordat de werkzaamheden zouden aanvangen.
Regie en andere vormen van management en control worden wel genoemd in het Software Development Plan (SDP) welke de basis vormt voor het project volgens de inleiding. Hier wordt oa. gewag gemaakt van de stuurgroep en de deelnemers (naam en rugnummer), project deliverables, voortgangsrapportages, bezetting in India in FTE, wekelijks voortgangsoverleg en deelnemers, verantwoordelijkheden (hier wel) van front-, en backoffice team. Zo is de Cap Gemini manager verantwoordelijk voor het overall project resultaat volgens het SDP.
Echter, verder dan versie 0.75 (3 mei 2006) is dit document nooit gekomen en heeft ondertekening ook niet plaatsgevonden.
@Kurt : mijn geheugen liet mij even in de steek.
In het artikel van 02-03-2015 ‘Capgemini 1-2Focus: falen Quality Assurance’ kwamen Jaap en ik al tot een aantal conclusies tav. het contract.
Op FaillissementsDossier.nl lees ik dat de meest recente stap in de rechtszaak voor 19 augustus 2015 op de rol stond (Conclusie van Dupliek in reconventie door Capgemini)
@Jos, als je onder eigen naam reageert of publiceert, dan maak je altijd reclame of je nu wilt of niet (en positief of negatief). Methoden, concepten en producten die interessant zijn, worden regelmatig in de Computable besproken. Wat is mooier dan dat dit gedaan wordt door iemand die veel praktische ervaring heeft? Dan kan die persoon ook in de diepte gaan als er vragen worden gesteld. Dat kan een commercieel persoon meestal niet.
@Kurt, het klopt dat het verwarrend is. Enerzijds is er sprake van contractuele afname van uren bij een blended (pre pay) uurtarief, dat later aangepast is richting nacalculatie. Typisch uurtje factuurtje, zoals dat normaal is in de detachering en niet bij een resultaatsverplichting. Anderzijds is er sprake van opdrachten voor Capgemini, in het kader van Outsourcing waarbij Capgemini in de planning aangeeft wanneer en wat zij aan deliverables opleveren bij een afgesproken bezetting. Capgemini geeft dus aan hoeveel uren en centen de afgesproken deliverables gaan kosten. Capgemini is ook expliciet verantwoordelijk voor de kwaliteit (met later zelfs een veto recht). Verder bepaalt Capgemini wie aan hun deliverables werken en levert Capgemini de managers die de andere medewerkers aansturen. Verder bepalen zij de projectmanagement methode, vullen ze QA/QC in, verzorgen zij de interne communicatie en de managementrapportages, et cetera. Capgemini schrijft dan ook in een eigen evaluatie van 14 augustus 2006 dat zij managen. Dat wilden ze toen veranderen, maar dat is nooit gebeurd.
De summiere beschrijving van taken, verantwoordelijkheden en bevoegdheden moet je inderdaad her en der in de diverse stukken lezen. Dan zie je wie wat doet, via wie wordt geleverd, wie problemen moet oplossen en wie mag beslissen. Dat is niet zoals je van een bedrijf als Capgemini mag verwachten. Dat is één van de redenen waarom ik in mijn audit nogal kritisch ben,; een deel van de andere redenen heb je zelf ook al in jouw mooie Zesluik beschreven.
Equihold had alleen de regie voor het bepalen van ontwikkelrichting, de functionaliteit (leverde de functionele omschrijving en materiekennis van de sportwereld) en uiteraard voor het goedkeuren van de deliverables. Equihold onderhield ook de contacten met de sportwereld, inclusief de co-developers van het 1-2Focus concept.
De afspraken en de aantoonbare de facto manier van werken, geeft aan dat er een resultaatverplichting was. Het hoofdresultaat had moeten zijn, een van scratch opgebouwde applicatie volgens het vernieuwde 1-2Focus model van Equihold waarmee Equihold aan had kunnen verdienen.
De meeste van deze grote organisaties zijn veel tijd kwijt aan lullen en specificaties schrijven die niemand leest, inclusief zijzelf niet.
Op basis van mooie plaatjes en grafieken weten ze dit te verkopen, want dat zijn mannen in stropdassen, niet de .NET nieters die het moeten implementeren en dan achterkomen dat wat er is gespecificeerd, niet deugt, dus wat ze mooi zeggen is dat de specificaties een ‘levend document’ zijn. Met andere woorden, een soort poging om agile te werken. Maar toch duurt het uiteindelijk altijd langer en kost het altijd meer, niet 2x, niet 3x, nee …
En dan de .NET-nieters… Het mooie van .NET is dat het makkelijker is geworden om iets te bouwen zonder iets te snappen, dus dat is handig met al die junior ontwikkelaars die al .NET kunnen programmeren nog voordat ze ooit hebben geleerd hoe een computer werkt en wat memory management is.
Lijkt op de motto “waarom een boekhouder nemen als je weet hoe een rekenmachine werkt?”
Dit lijdt vrijwel altijd tot performance issues, security problemen en torenhoge kosten, om te bouwen en om te onderhouden.
Vaak is duurkoop gewoon duurkoop en had je net zo goed kunnen gaan voor goedkoop.
@Frank, Equihold heeft de Use Cases en Use Case diagrammen, et cetera, gelezen. In hoeverre Capgemini de specificaties die ze hadden opgeschreven, ook zelf goed hebben gelezen, dat is de vraag. De informatie van veel specificaties, ook cruciale, lijkt niet of niet goed bij de ontwikkelaars in India terecht te zijn gekomen.
Je hebt wel een punt dat grote ICT-leveranciers vaak slecht omgaan met opdrachtgevers. Vooral kleine opdrachtgevers en ambtelijke organisaties hebben daar last van. Een geschil met een kleine klant of een ambtelijk apparaat, dat vindt sales niet interessant. Er uitgegooid worden bij een groot bedrijf, dat is pas slecht nieuws voor sales, vooral publiekelijk. Als je, namens een groot bedrijf, aangeeft ze eruit te gooien en dat tegen iedereen te gaan vertellen, dan bellen ze meteen met zweterige handen het hoofdkantoor op. Dan kan opeens alles; gratis herstel, excuses van de hoofddirectie en het luxe etentje dat je beter kan weigeren.
Helaas heeft een grote opdrachtgever van Equihold hen destijds het advies gegeven om naar Capgemini te kijken, niet wetende wat dit zou gaan betekenen.
@Jaap
Je opmerking over ‘naming & shaming’ om zodoende je gelijk te behalen is nogal typerend, de emotionele chantage spreekt ondertussen dan ook duidelijk uit je analyse. Beeldvorming die je hebt aangaande het ‘verwachtingsmanagement’ klopt trouwens niet en daarmee trek ik je eerdere antwoord aangaande de vraag over de ingebrekestelling in twijfel.
Reden hiervoor is dat ik het beeld dat je schetst wel herken maar dat je hierin wel eenzijdig bent, het eigenaarschap van de problemen wordt dus vaak afgeschoven zodat er eindeloos door gegaan kan worden met workarounds. Dat is dan ook het enige vergelijk dat ik zie met de constant aangehaalde referenties naar overheidsprojecten. En contradiction in terminis zit dan ook in het ‘calimero-syndroom’ want ik krijg sterk de indruk dat Kenneth Berkleef gewoon een ambtenaar was die droomde over het ondernemerschap.
Aangaande je laatste opmerking over het kijken naar Capgemini denk ik dat dit dus ook wel opgaat voor de use cases, ik kijk naar mooie vrouwen maar daar blijft het dan bij omdat ik weet wat mijn beperkingen zijn. Hele klucht heeft namelijk wat weg van een dame van lichte zeden die achteraf roept dat ze onzedelijk betast is als ze merkt dat het aangenomen geld vals blijkt te zijn;-)
@Ewout, hoezo “je opmerking over ‘naming & shaming’om zodoende je gelijk te behalen is nogal typerend“? De naming & shaming opmerking maak je wel vaker op Computable, maar ik kan deze niet in een context plaatsen. Er worden geen namen van betrokken Capgemini mensen genoemd en zij willen ook niet aan 1-2Focus gekoppeld worden. Dat zegt misschien wat over het punt shaming.
De enige naam die veelvuldig wordt genoemd is die van de heer Kenneth Berkleef, waarover jij expliciet en impliciet steeds weer een nogal laatdunkende menig verkondigd zonder dat je deze man kent, noch wat hij precies meegemaakt heeft. Kenneth Berkleef is niet “gewoon een ambtenaar was die droomde over het ondernemerschap”. Hij is een jurist die als zodanig een succesvolle ondernemer is geworden en onder andere voor topsporters heeft gewerkt. Zo is hij in contact gekomen met mensen die het 1-2Focus concept bedacht en ontwikkeld hebben. Hij weet mensen bij elkaar te brengen en zo is de eerste versie van 1-2Focus van Equihold ontstaan, in goede samenwerking met een ICT-bedrijf (Brunel). Die versie maakt zoveel indruk, dat men in de sportwereld meer wilde. Kenneth Berkleef is met veel enthousiasme aan de volgende stap begonnen, maar hij hij kende niet wereld van de grote jongens zoals Capgemini. Als hij de opdracht bijvoorbeeld aan een beunhaas had gegeven, dan had je een punt, maar dat is Capgemini niet. Nu sla je, voor de zoveelste keer, de plank mis.
Ik vind je opmerkingen vaak grof op de man spelend, vooral als jij die rond middernacht produceert. Deze post van jou pas niet bij een Computable expert, is zelfvernederend en completely out of line.