← Nieuwste papers
🤖 AI

Spec-Driven Development:From Code to Contract in the Age of AI Coding Assistants

Dit artikel presenteert een uitgebreide gids voor Spec-Driven Development (SDD), waarin de principes, drie niveaus van specificatierigore en ondersteunende tools worden uiteengezet om te demonstreren hoe het behandelen van specificaties als het primaire artefact effectief AI-coderingsassistenten kan inzetten over diverse softwaredomeinen heen.

Oorspronkelijke auteurs: Deepak Babu Piskala

Gepubliceerd 2026-02-03
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Deepak Babu Piskala

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een zeer getalenteerde, ongelooflijk snelle, maar ietwat letterlijke robotkok inhuurt om een complex maaltijd voor je te koken.

De Oude Manier (Code-Eerst):
Je loopt naar de robot en zegt: "Maak me een heerlijk diner."
De robot, die wanhopig graag wil pleasen, begint meteen groenten te snijden en pannen te verwarmen. Hij raadt dat je pasta wilt. Hij raadt dat je het pittig wilt. Hij raadt dat je de dure truffelolie wilt gebruiken die je niet eens hebt genoemd.
Tien minuten later heb je een bord pittige truffelpasta. Je wilde een salade.
Nu moet je de robot vertellen dat hij moet stoppen, de pasta weg moet gooien en opnieuw moet beginnen. Dit is wat het artikel "vibe coding" noemt: vertrouwen op vage prompts waarbij de AI moet raden wat je bedoelt. Het resultaat is vaak een puinhoop die constante correctie vereist.

De Nieuwe Manier (Spec-Gedreven Ontwikkeling):
In plaats van bevelen te schreeuwen, schrijf je eerst een receptenkaart (de Specificatie).
Je schrijft precies op: "Ik wil een salade. Gebruik spinazie, tomaten en feta. Geen noten. Dressing aan de zijkant. Serveer op kamertemperatuur."
Je overhandigt deze kaart aan de robot. De robot leest hem, controleert of hij het begrijpt en dan begint hij met koken.
Als de robot probeert noten toe te voegen, stopt hij omdat de kaart zegt: "Geen noten." Als hij probeert het warm te serveren, stopt hij.
In dit scenario is de receptenkaart de baas. Het eten (de code) is slechts het resultaat van het volgen van het recept. Als het eten niet smaakt zoals het hoort, geef je de chef niet de schuld; je controleert of het recept wel duidelijk genoeg was.

De Drie Niveaus van Strenge Handhaving

Het artikel legt uit dat je niet altijd een contract van 50 pagina's nodig hebt. Er zijn drie manieren om deze "receptenkaart"-aanpak te gebruiken, afhankelijk van hoe serieus je bent:

  1. Spec-First (De "Schets"):

    • Wat het is: Je schrijft het recept voordat je begint met koken om er zeker van te zijn dat iedereen het eens is over wat jullie gaan maken.
    • Wanneer te gebruiken: Geweldig voor het uitproberen van een nieuw idee of een eenmalig project.
    • Het nadeel: Zodra het maaltijd bereid is, kun je de receptenkaart misschien weggooien. Als je het recept later verandert, wordt de kaart misschien niet bijgewerkt. Het is goed voor het begin, maar niet voor langetermijnonderhoud.
  2. Spec-Anchored (Het "Levende Menu"):

    • Wat het is: De receptenkaart wordt bewaard op de koelkast naast het fornuis. Elke keer dat je de gerechten aanpast (meer kaas toevoegt, de dressing verandert), moet je de kaart onmiddellijk bijwerken.
    • Wanneer te gebruiken: Dit is het ideale punt voor de meeste professionele keukens (productiesoftware).
    • De magie: De keuken heeft een robotinspecteur. Als de chef het gerecht verandert maar vergeet de kaart bij te werken, gaat de inspecteur een alarm laten afgaan. Dit zorgt ervoor dat het menu (documentatie) altijd overeenkomt met het eten (software).
  3. Spec-as-Source (De "3D-Printer"):

    • Wat het is: Dit is de meest extreme versie. Je raakt het eten nooit direct aan. Je bewerkt alleen de receptenkaart. Een machine print vervolgens automatisch het eten op basis van alleen die kaart.
    • Wanneer te gebruiken: Dit wordt gebruikt in sectoren met hoge inzet, zoals bij het bouwen van automotoren of medische apparatuur, waar een fout gevaarlijk kan zijn.
    • De regel: Als je de remmen van een auto wilt veranderen, ga je niet met een sleutel onder de motorkap zitten werken. Je verandert het blauwdruk, en de machine bouwt de remmen perfect opnieuw op. Je mag de gegenereerde onderdelen nooit handmatig bewerken.

Waarom AI dit noodzakelijk maakt

Het artikel betoogt dat AI-coderingsassistenten zoals die getalenteerde maar letterlijke robotkok zijn. Ze zijn geweldig in het opvolgen van instructies, maar slecht in "gedachtenlezen".

  • Zonder spec: Je vraagt de AI om "een login-functie toe te voegen". De AI raadt de wachtwoordregels, het type database en het beveiligingsniveau. Het gaat er vaak naast.
  • Met een spec: Je geeft de AI een duidelijk contract: "Login vereist een wachtwoord van 12 tekens, gebruikt e-mail en blokkeert het account na 3 mislukte pogingen." De AI volgt de regels perfect op.

De Workflow: Een Vierstapsdans

Het artikel suggereert een eenvoudig ritme voor dit proces:

  1. Specificeren: Schrijf het "Wat". (Het Recept).
  2. Plannen: Schrijf het "Hoe". (De boodschappenlijst en de indeling van de keuken).
  3. Implementeren: Bouw het. (Het koken).
  4. Valideren: Controleer het. (De smaaktest). Als de smaak niet overeenkomt met het recept, pas je óf het kookproces aan óf het recept bij, maar je negeert de discrepantie nooit.

Wanneer je het wel (en niet) gebruikt

Het artikel biedt een eenvoudige beslissingsgids:

  • Gebruik het wanneer: Je iets groots bouwt, met een team werkt, AI gebruikt, of iets bouwt waarbij fouten kostbaar zijn (zoals bankwezen of auto's).
  • Gebruik het niet wanneer: Je een snelle prototype maakt om weg te gooien, of wanneer je een solo-ontwikkelaar bent die een simpele to-do lijst app bouwt waarbij de eisen overduidelijk zijn. In die gevallen is het schrijven van een gedetailleerd recept simpelweg tijdverspilling.

De Belangrijkste Les

Decennialang schreven softwareontwikkelaars eerst de code en schreven ze daarna het "recept" (de documentatie), als ze dat al deden. Dit artikel zegt: Draai het om.
Maak de Specificatie het primaire ding dat je creëert. Behandel de Code als slechts de automatische output van die specificatie.

Door dit te doen, stop je met gissen, stop je met vechten met je AI-tools, en zorg je ervoor dat wat je bouwt exact is wat je de bedoeling was om te bouwen. De code wordt een schaduw van de specificatie, en niet andersom.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →