Hoe slechte software levens verwoest – Het Post Office-schandaal

Gisteren zag ik het weer in het nieuws voorbij komen: het Post Office-schandaal in het Verenigd Koninkrijk. Een tragedie die de verwoestende impact van slechte software laat zien. Als ervaren developer zie ik in dit schandaal een les voor ons allen.

Timo
Geschreven door Timo
een britse postbus
een britse postbus

Wat is het Post Office-schandaal?

Het Post Office-schandaal in het Verenigd Koninkrijk is een schokkend voorbeeld van hoe fouten in software verstrekkende gevolgen kunnen hebben. Tussen 2000 en 2015 werden meer dan 3500 postkantoorbeheerders, bekend als ‘postmasters’, ten onrechte beschuldigd van diefstal of fraude.

Dit was het gevolg van fouten in het boekhoudsysteem Horizon, ontwikkeld door Fujitsu. Deze software werd gebruikt voor o.a. voorraadbeheer en werd in 1999 geïntroduceerd bij Post Office. Al snel na de lancering klaagden werknemers over bugs, maar de schuld van administratieve fouten werd gelegd bij de werknemers zelf.

Ongeveer 900 postmasters werden veroordeeld, meer dan 230 belandden in de gevangenis, en sommigen pleegden zelfs zelfmoord. Velen leden onder enorme financiële en psychische druk. Jaren later bleek dat het systeem gebrekkig was, wat leidde tot onterechte beschuldigingen. Dit incident, tegenwoordig zelfs vastgelegd in een miniserie, staat bekend als de grootste gerechtelijke dwaling in de Britse geschiedenis en benadrukt de cruciale impact van betrouwbare software.

Slechts een voorbeeld

Het verhaal van het Post Office is niet uniek. Wereldwijd zijn er talloze voorbeelden van hoe fouten in software niet alleen tot aanzienlijke financiële schade leiden, maar ook ernstige persoonlijke en professionele gevolgen hebben. Een ander voorbeeld is het ‘Robodebt’-schandaal in Australië, waar een geautomatiseerd overheidssysteem onterecht eiste dat ontvangers van sociale uitkeringen ten onrechte uitgekeerde voordelen terugbetaalden. Deze fout trof meer dan een half miljoen Australiërs.

In de Nederlandse toeslagenaffaire speelde software ook een significante rol, hoewel het probleem breder was dan alleen technologie. De kern van de affaire draaide om het gebruik van geautomatiseerde systemen door de Belastingdienst om fraude met kinderopvangtoeslagen op te sporen. Deze systemen gebruikten algoritmen en risicoprofielen, die leidden tot etnisch profileren en discriminatie. Door de geautomatiseerde besluitvorming en terugvordering werden gezinnen onterecht in financiële problemen gebracht. Het gebrek aan transparantie en controle over deze processen maakte het moeilijk voor de getroffenen om zich te verdedigen.

Dit maakt pijnlijk duidelijk dat zelfs een werkend systeem niet altijd de waarheid vertelt. Naast het verzekeren van kwalitatieve software moeten we alert blijven op hoe we data berekenen en wat die data betekent. Dit is des te belangrijker bij AI, waarbij het pad naar gegenereerde data vaak een ingewikkeld web van berekeningen en besluitvorming is.

Een persoonlijke wake-up call

In mijn eigen carrière heb ik de waarde van grondig testen aan den lijve ondervonden, iets waar mijn collega’s me om kennen. Dit grondige testen voelt soms als een vermoeiende taak, maar het is een essentiële stap die ik nooit oversla.

Mijn ogen werden geopend door een incident vroeg in mijn loopbaan, toen ik software ontwikkelde voor een zorginstelling. Deze software moest bij cliënten met besmettelijke ziekten een cruciale melding tonen aan het zorgpersoneel. Tot mijn schrik bleek dat deze melding niet altijd verscheen, waardoor zorgverleners niet altijd de juiste voorzorgsmaatregelen konden treffen. Hoewel er gelukkig geen incidenten plaatsvonden, was dit een duidelijk signaal voor mij over het kritieke belang van uitgebreide testprocedures.

De gevaarlijkste aannames in software zijn: ‘het zal wel goed gaan, het gebeurt nooit’. Met deze mindset kom je bij mij niet binnen.

De oorzaken van slechte software

Slechte software komt niet zomaar uit de lucht vallen; het ontstaat vaak uit een onderschatting van het softwareproces. Problemen zoals bugs, gebrekkige gebruikersinterfaces en onbetrouwbaarheid zijn meestal symptomen van dieper liggende organisatorische tekortkomingen. Bedrijven falen in het erkennen van het belang van een grondig ontwikkelproces, dat altijd begint bij een solide projectdefinitie en eindigt bij zorgvuldige implementatie en onderhoud.

De rol van een goede product owner is hierbij ook cruciaal; zij waarborgen dat het ontwikkelteam de juiste richting op gaat, met voldoende middelen en duidelijke doelstellingen. Een gebrek aan grondige tests, onvoldoende gebruikersfeedback en een tekort aan voortdurende verbetering zijn niet alleen technische problemen, maar wijzen vaak op een miskenning van het belang van deze elementen in de bedrijfsstrategie en softwareontwikkeling.

De route naar betrouwbare software

Hoe kunnen we het dan goed doen? Betrouwbare software bouw je op de pijlers van zorgvuldigheid, transparantie en voortdurende evaluatie. Het vereist een cultuur waarin kwaliteit voorop staat, waarbij elk aspect van de software regelmatig wordt getoetst en verbeterd. Het is een proces van voortdurende aandacht en aanpassing, gedreven door feedback, data en een positieve werksfeer.

Maar ook het testen zelf moet ‘getest’ worden. Daarmee bedoel ik dat testprocedures voortdurend geëvalueerd moeten worden én dat je altijd met actuele data en kennis moet testen. Mensen zijn lui, we moeten voorkomen dat onze testprocedures dat ook worden.

Linku’s benadering

Bij Linku hanteren we deze principes dagelijks. Wij begrijpen dat het ontwikkelen van software meer is dan alleen coderen; het is het creëren van een betrouwbare ruggengraat voor bedrijven en instellingen. Veel van onze projecten kunnen als bedrijfskritisch worden bestempeld, dus een goed functioneren is essentieel. Onze focus ligt daarom op het bouwen van software die niet alleen voldoet aan de behoeften van nu, maar ook robuust en betrouwbaar is voor de toekomst.

Onze verantwoordelijkheid

Het Post Office-schandaal is een krachtige herinnering aan de ernstige verantwoordelijkheid die wij als opdrachtgevers en ontwikkelaars dragen. Gebruikers moeten kunnen vertrouwen op de software die ze gebruiken. Laten we deze verantwoordelijkheid met beide handen aangrijpen en streven naar het hoogste niveau van kwaliteit en betrouwbaarheid in alles wat we bouwen. Want in de wereld van softwareontwikkeling kan wat op het eerste gezicht een kleine fout lijkt, uitgroeien tot een catastrofe met enorme gevolgen.

Vragen?
Timo
Timo
Timo

Werken aan betrouwbare software?

Bij Linku delen we graag onze expertise om samen te werken aan software die niet alleen functioneel is, maar personen en bedrijven beschermt. Neem contact op voor een gesprek over hoe wij dit samen kunnen bereiken.

Stuur berichtOf bel: 024 3000 316