Er is een moment dat elke ontwikkelaar kent, en dat Ai verraderlijk versterkt. De code compileert. Geen rode strepen, geen foutmeldingen, alles groen. Je leunt achterover en denkt: klaar. En precies daar begint het probleem.
Ik heb dat op de meest ongemakkelijke manier geleerd. Na een beveiligingsaanpassing aan een van mijn projecten bleef de status van de dienst vrolijk “200 OK” melden. Voor wie dat niet dagelijks ziet: 200 OK is het sein dat een server geeft als alles in orde is. Groen licht. Alleen was in werkelijkheid de mailfunctie compleet dood. Niet traag, niet af en toe, gewoon dood. En dat bleef zo. Negen dagen lang. Negen dagen waarin het systeem zei dat het gezond was en niemand een reden had om te twijfelen, terwijl er geen enkel mailtje aankwam. Uiteindelijk kwam ik erachter, en de belangrijkste vraag die ik mezelf stelde was niet “hoe repareer ik dit”, maar “hoe kan iets negen dagen kapot zijn terwijl elk lampje op groen staat”.
Het antwoord: omdat “compileert” en “meldt groen” iets heel anders zijn dan “doet wat het hoort te doen”.
Waarom Ai dit erger maakt#
In het Ai-tijdperk is dit gevaar groter dan ooit, en wel om een simpele reden. Ai is fenomenaal in code die compileert. Vraag een Ai-assistent om een functie te bouwen en je krijgt in seconden iets dat er correct uitziet, netjes gestructureerd, zonder syntaxfouten. Het compileert. Maar compileren zegt alleen dat de vorm klopt, niet dat het gedrag klopt.
Ik heb dit talloze keren zien misgaan bij formulieren. De code is groen, je klikt in de app op “opslaan”, en er lijkt niets te gebeuren. Achter de schermen crasht er iets bij het wegschrijven, maar de moderne webframeworks die ik gebruik verbergen dat handig: het scherm herstelt zichzelf, het invulvenster komt gewoon terug, geen foutmelding in beeld. De gebruiker denkt “klikken doet niks” en probeert het nog eens. De ontwikkelaar heeft de app niet eens open, kijkt naar de groene compile en denkt “klaar, werkt”. Twee mensen, twee verkeerde conclusies, en een functie die stilletjes niets doet.
Mijn Definition of Done#
Na die negen dagen heb ik voor mezelf keihard opgeschreven wanneer iets pas écht af is. Vier stappen, in deze volgorde, en niet één ervan is optioneel.
Eén: de code compileert. Dat is het beginpunt, niet het eindpunt. Groen betekent alleen dat je aan stap twee toe bent.
Twee: de serverlogs zijn schoon ná de actie. Dit is de stap die ik vroeger oversloeg. Ik voer de handeling uit, opslaan, versturen, wat het ook is, en dan kijk ik naar de logs die de server op dat moment produceert. Geen crashes, geen foutregels, geen stille uitzonderingen die worden weggeslikt. Een functie die crasht maar waarvan het scherm zichzelf herstelt, verraadt zich hier en nergens anders.
Drie: een end-to-end test van de echte flow. Ik test niet een los stukje in isolatie, ik doorloop de hele weg die een echte gebruiker aflegt. Inloggen, het formulier invullen, opslaan, en dan controleren: is het invulvenster weg, verschijnt de bevestiging, staat de nieuwe regel echt in de lijst, en staat hij ook echt in de database. Pas als al die dingen kloppen, heeft de functie gedaan wat hij hoorde te doen.
Vier: pas dan opslaan en uitrollen. Niet eerder.
Het tegenovergestelde, de houding die me die negen dagen bezorgde, is: “ik vertrouw op de compile” of “op basis van het patroon denk ik dat het werkt”. Dat gevoel is precies het gevaar. Het gevolg is altijd hetzelfde: een storing die niet jij ontdekt, maar je gebruiker of je klant.
Een screenshot bewijst niets#
Er is een variant van dezelfde denkfout die ik vaak zie bij het bouwen van webpagina’s, zeker nu Ai zo veel front-end werk uit handen neemt. Je maakt een pagina, je bekijkt hem op je grote scherm, hij ziet er prachtig uit, en je concludeert dat hij af is. Maar één schermafbeelding op één beeldscherm bewijst bijna niets.
De helft van je bezoekers zit op een telefoon, waar dezelfde pagina er totaal anders uit kan zien. Werken de knoppen als je er echt op klikt, of stáán ze er alleen maar mooi bij? Wat gebeurt er als iemand de pagina ververst? Een mooie foto van een pagina in ruststand zegt niks over of het ding ook echt functioneert onder de vingers van een gebruiker. Mobiel, klikken, verversen: dat is het minimum voordat ik durf te zeggen dat een pagina werkt.
En nu Ai ook de beelden aanlevert, komt daar nog een controle bij: klopt wat je ziet ook feitelijk en cultureel? Ai genereert graag een sfeerbeeld dat op het eerste gezicht perfect is, tot je merkt dat er een Amerikaanse snelweg met de verkeerde borden op een Nederlandse website staat. Compileren doet zo’n beeld niet, maar fout is het wel. Iemand moet er met menselijke ogen naar kijken.
Wat betekent dit voor jouw bedrijf?#
Misschien schrijf je zelf geen code. Maar je laat waarschijnlijk wél dingen bouwen of automatiseren, door een leverancier, een bureau, of steeds vaker met behulp van Ai. En dan is dit precies de vraag die je moet leren stellen: hoe weten we dat het echt werkt, en niet alleen dat het “af” gemeld is?
Drie dingen die je meteen kunt toepassen:
- Vraag om bewijs van de echte flow, niet om een groen vinkje. “Het is klaar” is geen bewijs. “Ik heb het hele proces doorlopen als echte gebruiker en dit is wat er gebeurde” wel. Laat mensen de daadwerkelijke handeling voordoen, van begin tot eind.
- Test op een telefoon en na een verversing. De meeste stille fouten verstoppen zich juist daar. Als iets alleen “af” is op één groot scherm in ruststand, is het niet af.
- Bouw een controle in die de échte functie test. Een systeem dat “gezond” meldt terwijl de kernfunctie dood is, is gevaarlijker dan een systeem dat gewoon eerlijk rood wordt. Zorg dat je monitoring de functie zelf uitprobeert, niet alleen of de server nog aanstaat. Anders sta jij straks negen dagen op groen terwijl er niets aankomt.
De rode draad is simpel maar oncomfortabel: groen licht is een uitnodiging om te controleren, geen bewijs dat je klaar bent. In een tijd waarin Ai moeiteloos dingen produceert die er af uitzien, wordt het vermogen om te toetsen of iets ook echt wérkt niet minder belangrijk. Het wordt je belangrijkste vaardigheid.
Wil je weten hoe je dit soort kwaliteitscontroles inbouwt in de manier waarop jouw bedrijf met Ai en automatisering werkt? Kijk eens bij mijn gratis downloads, of neem via de consulting-pagina contact op om jouw situatie door te nemen.