Core Loop

AI-first engineering at scale

Thema

Evidence-Driven Development

De ontbrekende discipline in AI-ondersteunde engineering

Daniël Leblond Maart 2026

Teams adopteerden AI-coderingstools, zagen snelheidspieken op korte termijn en betaalden later de verificatiebelasting voor foutopsporing, regressies en productie-incidenten.

De kloof is niet de generatie. De kloof is het bewijs. Evidence-Driven Development verandert die kloof in een herhaalbare workflow met expliciete poorten.

Waargenomen snelheid versus werkelijke snelheid (METR): +24% geloof versus -19% gemeten realiteit.

De lus

Het model is eenvoudig: definieer de intentie, bewijs de kloof, leg de basislijn vast, implementeer, bewijs dat het is gelukt, leg het resultaat vast en verifieer de kwaliteitsdimensies vóór beoordeling.

De kritische beperking is de volgorde. Stappen vóór implementatie zorgen voor betrouwbaarheid; stappen na implementatie creëren vertrouwen.

| Fase | Wat gebeurt er | Waarom het ertoe doet | | --- | --- | --- | | Document | Schrijf op wat gedaan betekent vóór de implementatie. | Voorkomt afwijkende eisen en vage succescriteria. | | Test: mislukt | Tests definiëren en uitvoeren die bewijzen dat de kloof bestaat. | Bevestigt dat u gedrag test, en geen aannames. | | Vastleggen: vóór | Leg de basisresultaten vast voordat u aan de implementatie begint. | Biedt niet-onderhandelbaar bewijs voor reviewers en toekomstige audits. | | Implementeren | Pas de verandering toe met AI-hulp onder beperkingen. | De uitvoering blijft snel, terwijl de lat door de mens gedefinieerd blijft. | | Test: geslaagd | Voer gerichte tests uit en bevestig dat het gedrag nu goed is. | Valideert de wijziging en lost de exacte acceptatiecriteria op. | | Vastleggen: na | Verzamel gelijkwaardige artefacten na de verandering. | Maakt een duidelijke voor/na-vergelijking mogelijk. | | Verifieer | Controleer de beveiliging, toegankelijkheid, prestaties, documenten en drift. | Vangst faalmodi-tests alleen missen. | | Beoordeling | De menselijke recensent accepteert of verwerpt op basis van bewijsmateriaal. | Houdt verantwoordelijkheid bij technici, niet bij aanwijzingen. |

:::grafische naam: ImplementationLoopDiagram bijschrift: De implementatielus: door mensen gedefinieerde beperkingen, AI-ondersteunde uitvoering. :::

Fase Wat gebeurt er Waarom het telt
Document Schrijf op wat gedaan betekent vóór de implementatie. Voorkomt afwijkende eisen en vage succescriteria.
Test: mislukt Tests definiëren en uitvoeren die bewijzen dat de kloof bestaat. Bevestigt dat u gedrag test, en geen aannames.
Opname: voorheen Leg de basisresultaten vast voordat u aan de implementatie begint. Biedt niet-onderhandelbaar bewijs voor reviewers en toekomstige audits.
Implement Pas de verandering toe met AI-hulp onder beperkingen. De uitvoering blijft snel, terwijl de lat door de mens gedefinieerd blijft.
Test: geslaagd Voer gerichte tests uit en bevestig dat het gedrag nu goed is. Valideert de wijziging en lost de exacte acceptatiecriteria op.
Opname: daarna Verzamel gelijkwaardige artefacten na de verandering. Maakt een duidelijke voor/na-vergelijking mogelijk.
Verify Controleer de beveiliging, toegankelijkheid, prestaties, documenten en drift. Vangst faalmodi-tests alleen missen.
Review De menselijke recensent accepteert of verwerpt op basis van bewijsmateriaal. Houdt verantwoordelijkheid bij technici, niet bij aanwijzingen.
De implementatielus: door mensen gedefinieerde beperkingen, door AI ondersteunde uitvoering.

Voordat bewijsmateriaal in de praktijk onomkeerbaar is

Teams kunnen in theorie een basislijn reconstrueren nadat de implementatie is gestart, maar bijna niemand doet dat. Het momentum verschuift naar voorwaarts fixeren.

Dat is de reden waarom ontbrekend eerder bewijs in gedisciplineerde lussen wordt behandeld als een reset-conditie.

:::grafische naam: MaturityLadder bijschrift: Volwassenheidsmodel: ad-hoc voor door audits geverifieerde engineering. :::

Volwassenheidsmodel: ad-hoc naar door audits geverifieerde engineering.

De audit: tien dimensies

Dimensie Wat het vangt
Build Compilatie, lint en suite-integriteit
Telemetry PII-lekken en onveilige logladingen
Accessibility Oriëntatiepunten, toetsenbordstroom, kophiërarchie
Security Geheimen, injectierisico, afhankelijkheidsproblemen
Performance N+1 paden, onbegrensde lussen, geheugenlekken
Documentation Specificaties en implementatieafwijkingen
Testdekking Gedragsverandering zonder matchingtests
TODO-schuld Overgeslagen follow-ups en onopgeloste tijdelijke aanduidingen
Foutafhandeling Ingeslikte fouten en gelekte interne onderdelen
AI-breedsprakigheid Overbodige opmerkingen en onnodige abstracties
Controlehouding voor en na bewijsgestuurde controles.

De audit: tien dimensies

| Afmeting | Wat het vangt | | --- | --- | | Bouw | Compilatie, lint en suite-integriteit | | Telemetrie | PII-lekken en onveilige logladingen | | Toegankelijkheid | Oriëntatiepunten, toetsenbordstroom, kophiërarchie | | Beveiliging | Geheimen, injectierisico, afhankelijkheidsproblemen | | Prestaties | N+1 paden, onbegrensde lussen, geheugenlekken | | Documentatie | Specificaties en implementatiedrift | | Testdekking | Gedragsverandering zonder matchingtests | | TODO-schuld | Overgeslagen follow-ups en onopgeloste tijdelijke aanduidingen | | Foutafhandeling | Ingeslikte fouten en gelekte internals | | AI-breedsprakigheid | Overbodige opmerkingen en onnodige abstracties |

:::grafische naam: AuditRadarChart-onderschrift: Audithouding voor en na bewijsgestuurde controles. :::

PR-sjabloon voor het afdwingen van waarneembaar bewijs, auditoutput en expliciete testplannen.

Voorbeelden van bewijs per domein

Domein Bewijs vooraf Bewijs achteraf
API-eindpunt krulreactie met verkeerde status krulreactie met verwachte status en schema
Databasemigratie Query vóór migratie Query met nieuwe kolommen en ingevulde waarden
Infrastructure Huidige planuitvoer Gewenste planning en uitvoer toepassen
Performance Benchmarkbasislijn Benchmarkdelta na optimalisatie
Beveiligingspatch Scanner vinden Scanner schoon rapport
Dezelfde loop, verschillende artefacten, één kwaliteitsstandaard.

De bewijslast bij pull-aanvragen

Terug naar home

Bronnen

  1. Kent Beck (2025) Verbeterde codering: voorbij de vibraties
  2. ThoughtWorks (2025) AI-ondersteunde test-first-ontwikkeling
  3. METR (2025) AI-tools hebben ervaren ontwikkelaars 19% langzamer gemaakt
  4. Addy Osmani (2026) AI schrijft code sneller. Het is nog steeds jouw taak om te bewijzen dat het werkt.
  5. Microsoft.NET (2026) Tien maanden met Copilot Coding Agent in dotnet/runtime