Generieke software bestaat niet. Mijn duit in het zakje van de belastingdienst

De Volkskrant publiceerde onlangs een ontluisterend en fascinerend vierluik over het functioneren van de belastingdienst. Die is ernstig genoeg dat we zelfs moeten vrezen voor de belastinginning. Geen belasting betekent geen zuurstof om het publiek belang draaiend te houden. Dat is een schrikbeeld dat alleen de grootste libertariërs en/of naïevelingen niet met angst zal vervullen. Uiteraard was ik het meest geïnteresseerd in de falende ICT. Zeshonderd verschillende systemen, uitstroom van oude rotten met diepgaand inzicht in het kennisdomein, schrijnende cultuurverschillen tussen de oude en de jonge generatie en dito onwil om die kloof te dichten.

Ik doe geen aannames over de kwaliteit van de programmatuur, al heb ik wel een vaag voorgevoel. De Nederlandse belastinginning moet een ware hel zijn om te automatiseren. In rap tempo volgden de stelselherzieningen door opeenvolgende kabinetten elkaar op. Onze politici – waar de bèta afgestudeerden ruim in de minderheid zijn – nemen graag aan dat de whizz kids alles netjes vertalen naar software, maar station Netjes lijkt men daar al lang geleden gepasseerd te zijn. Ik denk dat geen enkele programmeur bij de dienst het belang van kwalitatief hoogwaardige en betrouwbare code zal bagatelliseren. Er zijn immers miljarden mee gemoeid. Aan ondermaatse programmeervaardigheid zal het niet liggen. Het domein is gewoon ingewikkeld. Zelfs onze jaarlijkse gezinsaangifte vind ik lastig genoeg om het uit te besteden aan een lokale boekhouder.

De details van de Nederlandse belastingwetgeving beslaat letterlijk boekdelen. Om zelfs maar een deel hiervan naar software te vertalen vraagt  fiscale kennis. Moet elke ontwikkelaar daarom fiscaal jurist zijn? Nee, maar het helpt wel. De vergelijking met vertalen gaat hier denk ik wel op. Het is een open deur dat je een brontekst niet kunt vertalen als je hem niet volledig begrijpt. Dus als een tekst voor specialisten is geschreven schiet je met lekenkennis altijd tekort. Tijdens mijn korte carrière als professioneel vertaler volgde ik vijf modules uit de propedeuse rechten aan de Open Universiteit met de bedoeling mij te specialiseren in juridisch vertalen, want met een woordenboek kom je er niet. Een juridisch vertaler moet de verschillen kennen tussen noodweer en noodweerexces, tussen vrijspraak en ontslag van rechtsvervolging, en de verschillende technische betekenissen van het simpele woord ‘schuld’. Verschillende rechtssystemen kunnen ingrijpend andere invullingen hebben van deze principes. Dan is een medische tekst nog relatief simpel: het menselijk lichaam is overal ter wereld hetzelfde.

Er bestaan zeker generieke programmeervaardigheden, maar er bestaan geen generieke softwareprojecten. Elk heeft zijn eigen specifieke doelgroep, ook als die zo breed is als de gebruikers van de NS reisplanner of de webwinkel van de Wehkamp. De doelgroep van belastingplichtige inwoners van Nederland is groot en dat maakt het kennisdomein er alleen maar groter op: meer mensen, meer uitzonderingen. Niet elke programmeur is bereid een domein-expert te worden. De technocraten zijn goed vertegenwoordigd in de branche en mijn indruk is dat zij domeinkennis vaker als een noodzakelijk kwaad ervaren. Dit is geen onoverkomelijk bezwaar, zolang je maar een goede mix hebt van collega’s die wel affiniteit met de ‘business’ hebben en zolang er maar respect is voor elkaars kwaliteiten en een gedeeld doel om goede software te bouwen.

De jonge garde had gebrekkige kennis over het belastingdomein en zat bij elkaar in kleine teams. Dankzij korte communicatielijnen konden ze regelmatig opleveren volgens de agile principes. De oudere medewerkers werkten bij voorkeur thuis volgens uitgebreide specificaties en deelden wekelijks op kantoor de voortgang. Dat werkte natuurlijk niet. Het is gemakkelijk om in zulke gevallen de beschuldigende vinger te wijzen naar het management of de politiek, maar de meerderheid van de ontwikkelaars – althans zij die bleven – toonde onvoldoende wil om een brug te slaan over die gapende cultuurkloof. De verleiding was te groot om langs elkaar heen te werken. Uiteraard is het prettiger werken met gelijkgestemden, zonder dagelijkse vergaderingen vol onbegrip. De gevolgen van dit gebrek aan zelfkritiek worden nu pijnlijk duidelijk.