Tweede-Kamerlid Ingrid De Caluwé van de VVD neemt geen genoegen met de antwoorden van minister Plasterk op haar vragen over de stiekeme vernieuwing van de softwarecode van de Basisregistratie Personen (BRP). Volgens de bewindsman van het ministerie van Binnenlandse Zaken en Koninkrijksrelaties (BZK) is er alleen sprake geweest van standaard ontwikkelwerkzaamheden. De Caluwé wil nu onder andere van Plasterk weten waarom deze 'standaard' vervanging van de codegeneratoren in geen enkele voortgangsrapportage staat vermeld.
Ingrid de Caluwé diende eind vorig jaar Kamervragen in naar aanleiding van het opiniestuk Een skelettransplantatie voor de BRP in Computable van ict-overheidsexpert René Veldwijk. In zijn stuk schetst Veldwijk een ontluisterend beeld van de gang van zaken vanaf 2010 rond de herbouw van de Basisregistratie Personen (BRP), die in eerste instantie nog mGBA heette (modernisering Gemeentelijke Basisadministratie), met tientallen miljoenen euro aan extra kosten en veel vertragingen tot gevolg. De opvolger van de huidige GBA moet in 2018 in de lucht gaan, maar Veldwijk voorspelt dat de BRP, zoals nu voorzien, er helemaal niet gaat komen.
Een van Veldwijks bevindingen is namelijk dat uit een recente BRP-audit van KPMG blijkt dat de softwarecode in 2016 in zijn geheel is vernieuwd, een complexe operatie. De codegeneratoren, waar auditor KPMG eerder zware kritiek op had, blijken te zijn vervangen door een met de hand geschreven Java-code. ‘Een skelet-transplantatie’, oordeelde Veldwijk. Wat de extra kosten en de projectvertraging hiervan zijn en of de code doet wat de BRP moet doen, is onduidelijk.
Geen skelettransplantatie
Op vragen hierover van het VVD-Kamerlid antwoordde minister Plasterk vlak voor het kerstreces dat het helemaal niet handelde om het doorvoeren van functionele wijzigingen. Hij verwijst naar de voortgangsrapportage Operatie BRP van 25 november 2016 waarin hij meldt ‘dat het programma, in overleg met de interbestuurlijke stuurgroep, heeft besloten om het Java-model te herstructureren, waardoor de complexiteit van de broncode is afgenomen. Bij de herstructurering van het JAVA-model van de code zijn de codegeneratoren uitgefaseerd. Er zijn geen functionele wijzigingen doorgevoerd. Het voert hem dus te ver om te stellen ‘dat het hele skelet van de BRP is vervangen’, zoals in het artikel wordt gesteld.
Volgens de bewindsman gaat het om voorziene ontwikkelwerkzaamheden. De codegeneratoren waren bedoeld om bouwstenen voor basisfuncties te genereren, schrijft de minister. ‘Daar is destijds voor gekozen vanuit de (terechte) verwachting dat er gaande de ontwikkeling zeer regelmatig wijzigingen op het gegevensmodel zouden plaatsvinden. Met generatoren kunnen die wijzigingen snel worden verwerkt.’
Terugverdienen
Hij erkent dat al vanaf de eerste toetsing KPMG heeft opgemerkt dat de generatoren een aandachtspunt vormen bij de overdracht naar beheer, omdat ‘generatoren standaardblokken opleveren die veel regels code beslaan, hetgeen de onderhoudbaarheid niet ten goede komt.’
Maar, stelt de bewindsman, nu het moment is gekomen waarop het gegevensmodel stabiel is en de overdracht naar beheer nadert, heeft het architectenteam besloten om het Java-model van de code te herstructureren en de betreffende codegeneratoren uit te faseren. Hierdoor is de complexiteit van de broncode afgenomen; dit heeft een positief effect op de onderhoudbaarheid en de mogelijkheid tot versnelling van de verdere ontwikkeling. Plasterk blijft er bij dat het hierbij niet gaat om een verandering van de werking van de software, maar om ‘wijzigingen uit de omgeving’. Hij erkent dat de ‘refactoring’ (een eufemisme voor vernieuwing) van de broncode een ‘doorlooptijd van twaalf weken’ betekende. Maar deze vertraging is in zijn ogen ‘een investering die terugverdiend kan worden’.
Hij belooft in de volgende voortgangsrapportage terug te komen op de effecten van de ‘herstructurering’ van de Java-code en of dit nog tot extra kosten en vertragingen gaat leiden. Ook laat Plasterk het Bureau ICT Toetsing (BIT) van de overheid dit voorjaar een toets uitvoeren op de plannen voor de inbeheername van de nieuwe voorzieningen, het ontwikkelprogramma van Operatie BRP, inclusief de codekwaliteit en ontwikkelsnelheid.
Onvoldoende
De Caluwé neemt geen genoegen met de antwoorden van de bewindsman die volgens haar ‘niet voldoende’ zijn. Volgens het Kamerlid van de VVD vormde de KPMG-kritiek juist de aanleiding voor de herstructurering van de Java-code en is de vervanging van de codegeneratoren geen normaal onderdeel geweest van het ontwikkelprogramma. ‘In de eerste voortgangsrapportage uit 2014 is hier niets over terug te vinden’, zegt zij.
Ook vindt het Kamerlid dat de minister er wel erg makkelijk van uitgaat dat de uitfasering van de codegeneratoren zich terugbetaalt in goedkoper onderhoud en dat daardoor de extra kosten worden terugverdiend. ‘Dit project is drie keer over de kop gegaan en fors vertraagd en heeft miljoenen extra gekost. In zijn antwoorden geeft de minister niet duidelijk aan hoe hoog de extra kosten van die doorlooptijd dan zijn.’ In zijn brief schrijft Plasterk dat hier in de volgende voortgangsrapportage op wordt teruggekomen, net als op andere onzekerheden, zoals de impact van het registreren van het buitenlands persoonsnummer en het registreren van levenloos geboren kinderen voor de BRP.
Voor het VVD-Kamerlid zijn de mistige antwoorden van Plasterk en de nieuw aangestipte onzekerheden aanleiding om in het Algemeen Overleg over de BRP en het BIT op 8 februari in de Tweede Kamer ‘stevig in te zetten op dit dossier. Als we wachten tot de volgende voortgangsrapportage zijn de verkiezingen net geweest en dan raakt dit dossier ondergesneeuwd door de kabinetsformatie.’
Vlucht
Volgens Computable-opiniemaker René Veldwijk blijkt uit de antwoorden van minister Plasterk dat BZK een vlucht naar voren neemt. ‘Het programma Operatie BRP kiest nu voor een nieuw narratief: ‘De generatoren zijn niet vervangen omdat de programmatuur die eruit kwam niet onderhoudbaar was te krijgen. Welnee, die generatoren waren altijd al een tijdelijke constructie en de vervanging ervan past volledig in de planning van het programma’.’
Plasterks bewering dat de vervanging van de generatoren de werking van de BRP niet verandert, onderstreept volgens Veldwijk juist zijn stelling dat mogelijk niet werkende maar in elk geval niet onderhoudbare BRP-software opnieuw is geschreven.
Onwaar
Het nieuwe ‘verhaal’ van Plasterk acht Veldwijk onwaar. ‘Als het waar zou zijn dat het al in de planning van het programma Operatie BRP zat om de generatoren eruit te halen dan zouden we dat zeker terugzien in de KPMG-rapportages. Niets van dit alles.’ Hij wijst er tevens op dat alle wijzigingen op de code in het versie-managementsysteem zouden moeten zitten. ‘Tenzij die straks per ongeluk worden kwijtgemaakt is alles wat er is gebeurd rond de generatoren te reconstrueren door een echt onafhankelijke partij.’
Tot slot vraagt Veldwijk zich af waarom – als het uitfaseren van de generatoren volgens BZK allemaal is voorzien – het programma BRP ook nu weer ernstig aan het ontsporen is. ‘Ik krijg de indruk dat BZK dit wil wijten aan de wetswijzigingen die het registreren van het buitenlands persoonsnummer en het registreren van levenloos geboren kinderen in de BRP mogelijk maakt. Dat zou een ernstige zaak zijn, want het gaat hier om kleine wetswijzigingen. De codegeneratoren waren juist bedoeld om dit soort wijzigingen snel te kunnen doorvoeren. Waarom zijn ze dan vervangen?’
Even los van de materie in technische zin valt het op dat in de politieke zin het nogal op dat deze twist tussen twee leden van verschillende partijen die nu nog samen regeren hier elkaar ‘scherp’ houdt. Of is het een opgevoerd toneelstukje omdat ze beiden wel weten dat dit toch weer gesust wordt en en er weer goodwill is getoond naar de kiezers die 17 maart a.s. weer het stemhokje in mogen?
Ik zie zo snel ook niet waar nou helemaal het gesteggel over gaat. De ene berg brakke code vervangen door de andere berg, en dat was zo “routine” dat er niemand melding van gemaakt heeft maar ondertussen heeft het hele feest wel een boel geld gekost en gaat waarschijnlijk niets opleveren. Zoals wel meer projectjes binnen de overheid. Afschieten gaat niet gebeuren, dat weten we nu al. “Politieke verantwoordelijkheid” is tegenwoordig een dikbetaald baantje bij een ander vrindje. Daar heeft dus een stel consultants en ambtenaren goed geboerd, en het is kennelijk tijd voor de volgende ronde.
Dit is wel redelijk cynisch materiaal voor een afleidingsmaneuvre om maar weer eens de schijn op te houden, wat voor schijn dan ook. Het lijkt iig niet op constructief echte problemen oppakken. Dat zou namelijk echt werk en echt nadenken kosten, en tsja daar doet de klasse der boven ons gestelden niet aan natuurlijk. Veel te druk met de altijd-oh-zo-dure-wat-gek-nu toneelstukjes.
In het eerste Software Review BRP rapport van 11-09-2014 opgesteld door KPMG staat het volgende op pagina 7: ”Het uitgangspunt ten tijde van dit onderzoek is dat de generatoren niet worden opgeleverd en dat daarmee wijzigingen na oplevering handmatig in de code gemaakt moeten worden.”. Dit geeft dus aan dat als het klaar is de generatoren niet meer nodig zijn. Je kunt dat natuurlijk uitleggen als uitfaseren, dan is het ook niet meer nodig. Maar dat is natuurlijk handig gebruik maken van woorden. Want de minister kan zeggen dat het altijd de bedoeling is geweest, en vervolgens zeggen dat het werk dat daarvoor nodig was ‘standaard’ onderdeel is van die uitfasering. Maar iedereen die ook maar een beetje begrip heeft van software ontwikkeling begrijpt dat als je dat refactoren noemt, dat het wel iets meer is geweest dan alleen ‘niet opleveren’. Als dat ook nog eens 12 weken moet duren, dan is er zeer waarschijnlijk best veel broncode veranderd. En omdat het om de kern van de applicatie gaat mag je dan hopen dat het een skelet-transplantatie is, anders kun je je afvragen waar men anders mee bezig is geweest. Maar doordat te ontkennen, en mooi weer te spelen, wordt naar buiten toe geen vertrouwen gewekt. En dat hebben we vaker gezien en we weten hoe dat afliep. Helaas lijkt het er dus niet op dat er niets geleerd is van de fouten uit het verleden. Er komen vast ook weer mooie (waardeloze) QA rapporten waaruit blijkt dat het allemaal veel beter is geworden…
Inderdaad.
Krijg een beetje het idee dat al deze materie minister Plasterk iets teveel boven zijn pet steekt en dat hij blind vaart op wat hem door zijn team word ingefluisterd terwijl dat team zelf ook niet van de hoed of de rand weet eigenlijk.
Was er maar een journalistieke organisatie die hier wat meer wil uitzoeken hoe het zit en wie welke beslissingen heeft genomen.
Onduidelijk verhaal.
Eerst juist gebruik maken van codegeneratoren zodat bij wetswijzigingen deze aanpassingen snel doorgevoerd kunnen worden.
Vervolgens deze code met de hand gaan aanpassen voor een hoop geld zodat wijzigingen snel doorgevoerd kunnen worden?
Wat is er mis met oorspronkelijke idee. Natuurlijk leveren generatoren ander soort code op maar dat is totaal niet belangrijk.je genereert de code gewoon weer opnieuw.
Ik ben benieuwd welke grote ICT leverancier hier weer achter zit…