
Wat is Spec-Driven Development?
Spec-driven development is de praktijk van een precieze specificatie schrijven, met vereisten en acceptatiecriteria, voordat een AI-agent begint te bouwen. De spec wordt de duurzame bron van waarheid waartegen de agent implementeert en reviewers verifiëren, en vervangt de verspreide prompt-geschiedenis die ad-hoc AI-coderen achterlaat.
De belangrijkste punten
- De spec is het opleverbare dat de mens bezit. Code wordt een output die geregenereerd kan worden; de spec registreert intentie, beperkingen, en wat "klaar" betekent.
- Acceptatiecriteria doen dubbel dienst: ze sturen de agent tijdens implementatie en geven reviewers achteraf een objectieve checklist.
- Specs herstellen het grootste faalpatroon van agentic coding, namelijk de agent die zelfverzekerd het verkeerde bouwt omdat vereisten alleen in het hoofd van de engineer leefden.
- Tooling heeft de praktijk geformaliseerd. GitHub's Spec Kit, Amazon's Kiro, en planmodi in agentic tools structureren werk allemaal als specificeren, plannen, dan implementeren. Spec Kit alleen al trok meer dan 126.000 GitHub-sterren en 11.000 forks binnen een jaar na zijn lancering in augustus 2025 [1].
- Speckwaliteit is het nieuwe knelpunt. Een vage spec produceert aannemelijke code die randgevallen mist, en geen hoeveelheid agentcapaciteit compenseert dat.
Hoe het werkt
De workflow splitst levering in fasen met een checkpoint tussen elk. Eerst komt de specificatie: wat de feature doet, zijn inputs en outputs, foutgedrag, non-doelen, en een set acceptatiecriteria concreet genoeg om te testen. Goede specs lezen als een zorgvuldig ticket plus een contract, geen roman. Veel teams stellen ze op met het model zelf, en laten het de vereisten ondervragen en dubbelzinnigheden naar boven brengen voordat een mens tekent.
Vervolgens zet de agent, of de engineer met de agent, de spec om in een technisch plan: welke bestanden veranderen, hoe het datamodel eruitziet, hoe de wijziging gesequenced is. Een plan reviewen kost minuten en vangt architecturale fouten voordat ze uren kosten. Pas dan begint implementatie. De agent bouwt tegen de spec, draait de tests afgeleid van de acceptatiecriteria, en itereert tot ze slagen. Omdat de spec als bestand in de repo zit in plaats van in een chatlog, kan een verse agentsessie, een andere tool, of een teamgenoot hetzelfde werk oppakken zonder archeologie door prompt-geschiedenis.
De laatste fase is verificatie. Human-in-the-loop-review controleert de diff tegen de spec, criterium voor criterium. Dit is het stuk dat de praktijk onderscheidt van vibe coding: acceptatie wordt gedefinieerd voor generatie, dus "ziet er goed uit" vervangt nooit "voldoet aan de spec."
Voorbeeld
Een betalingsteam heeft webhook-afhandeling nodig voor een nieuwe provider. De lead schrijft een spec van één pagina: de vijf te verwerken event-types, idempotentie op basis van event-ID, exponentiële backoff bij stroomafwaartse mislukkingen, een dead-letter-pad na vijf pogingen, en acht acceptatietests inclusief een duplicaat-bezorging-geval. Een AI-coding-agent stelt een plan voor, de lead corrigeert de wachtrijkeuze, en de agent implementeert. Twee van de acht tests falen bij de eerste doorgang; de agent herstelt beide. Review duurt twintig minuten omdat elk criterium controleerbaar is. Drie maanden later breidt een andere engineer de handler uit door eerst de spec te wijzigen, en de originele intentie is nog steeds leesbaar.
Veelvoorkomende misvattingen
Het gangbare bezwaar is dat spec-driven development waterfall is met een nieuw badge. De vergelijking mist de cyclustijd. Waterfall faalde omdat de kloof tussen specificatie en werkende software maanden was, dus rotten specs weg voor contact met de realiteit. Hier is de kloof minuten tot uren, en de spec is geversioneerd samen met de code en bijgewerkt op het moment dat de realiteit terugduwt. Het gedraagt zich minder als een groot vooraf-ontwerpdocument en meer als een strakke lus van geformuleerde intentie en onmiddellijke verificatie, dichter in geest bij test-driven development dan bij iets uit het waterfall-tijdperk.
FAQ
Hoe gedetailleerd moet een spec zijn? Gedetailleerd genoeg dat een competente vreemdeling kon beoordelen of een implementatie eraan voldoet, en niet meer. Concrete acceptatiecriteria, expliciete randgevallen, en geformuleerde non-doelen doen er het meest toe. Regelniveau-implementatiedetail voorschrijven verspilt de sterktes van de agent en verandert de spec in een onderhoudslast.
Heeft elke taak een spec nodig? Nee. Een hernoeming, een dependency-bump, of een fix van één regel heeft een zin nodig, geen document. De praktijk betaalt zich terug op werk met echte dubbelzinnigheid: nieuwe features, integraties, alles wat geld, auth, of data raakt. Teams stellen meestal een drempel in en slaan de ceremonie eronder over.
Welke tools ondersteunen spec-driven development? GitHub Spec Kit en Amazon Kiro bouwen de hele workflow rond specs. Algemener brengen de planmodi in Claude Code, Cursor, en vergelijkbare tools, plus een specs-map in de repo en instructies in AGENTS.md of CLAUDE.md, de meeste teams er zonder nieuwe tooling. Geen van de opties is compleet: een vergelijkende studie van juni 2026 van zes spec-driven-frameworks, inclusief Spec Kit en OpenSpec, vond dat geen enkel framework alle zes beoordeelde procesdimensies sterk dekte, dus verwacht een afweging tussen procesdiepte en portabiliteit [2].
Bronnen
- GitHub. "Sterren- en forkaantallen voor de github/spec-kit-repository." https://github.com/github/spec-kit. Geraadpleegd augustus 2026.
- arXiv. "Vergelijkende beoordeling van zes frameworks die AI-softwareontwikkelingsagents ondersteunen." https://arxiv.org/abs/2606.04967. Geraadpleegd augustus 2026.
Related terms
Ready to build your product?

