Spec-Driven Development versus Vibe Coding: Waterfall?
Specificaties als enige waarheid, of traad ceremonieel?
Spec-gedreven ontwikkeling kwam in 2026 binnen als het serieuze antwoord van ontwikkelaars op de afwijking van ‘vibe coding’.
Vibe coding is een door AI gedreven programmeeraanpak waarbij ontwikkelaars de gewenste functionaliteit in natuurlijke taal beschrijven en AI-tools de code automatisch genereren — met minimaal direct schrijven.

De term werd in februari 2025 bedacht door Andrej Karpathy, mede-oprichter van OpenAI. Hij beschreef het als “niet echt programmeren”, maar eerder als observeren, beschrijven en itereren — een workflow waarbij programmeurs zich richten op het sturen van AI-outputs in plaats van het lijn-van-lijn schrijven van code. Tegen 2026 is vibe coding overgegaan van een social-mediaconcept naar standaardvocabulaire voor hoe grote aantallen ontwikkelaars, oprichters en niet-ontwikkelaars daadwerkelijk software bouwen.
Voor een analyse per tool, zie de Vergelijking van AI-programmeerassistenten.
Vibe coding bevindt zich aan het verste eind van het spectrum van AI-ondersteunde ontwikkeling. Conventionele AI-ondersteunde ontwikkeling gebruikt tools zoals auto-completie of inline-suggesties terwijl de ontwikkelaar nog steeds het grootste deel van de logica schrijft. Vibe coding keert die verhouding om: de ontwikkelaar schrijft vrijwel niets direct, maar geeft de AI instructies via intentie en itereren op de output.
De oorspronkelijke framing van Karpathy was opzettelijk informeel. Hij beschreef het volledig accepteren van AI-suggesties, het gebruiken van spraakinvoer en het niet zorgvuldig lezen van diffs. Het punt was niet roekeloosheid — het was dat de bottleneck was verschoven van typen naar denken, en een nieuwe workflow verdiende een nieuwe naam.
Begin 2026 beschrijft vibe coding een breed scala aan praktijken:
Het gemeenschappelijke thema is natuurlijke taal als primaire interface en AI als primaire producent van code.
De workflow begint met een prompt. Gebruikers beschrijven wat ze willen in gewoon Engels en de AI-programmeerassistent genereert functionele code. De ontwikkelaar bekijkt, test en verfijnt met vervolgprompts in plaats van directe bewerkingen.
Een typische vibe-codinglus:
De iteratiesnelheid is de echte verandering. Wat uren van handmatig programmeren zou duren, kan minuten duren met een bekwaam AI-agent.
Niet alle vibe-codingtools werken op dezelfde manier. Er is een belangrijk onderscheid tussen completietools en agent-tools:
Completietools (GitHub Copilot, Continue.dev) suggereren code terwijl je typt. De ontwikkelaar is nog steeds de bestuurder en schrijft het grootste deel van de structuur.
Agent-tools (Cursor Agent, Claude Code, OpenCode, OpenHands) kunnen meerstapstaken plannen, meerdere bestanden lezen en bewerken, commando’s uitvoeren en itereren bij mislukkingen. De ontwikkelaar beschrijft een eindtoestand en het agent werkt daar naar toe.
Vibe coding in de strikte zin van Karpathy is voornamelijk een agent-workflow. Completietools versnellen programmeren; agent-tools vervangen aanzienlijke delen ervan.
| Tool | Type | Best voor |
|---|---|---|
| Cursor | IDE-fork (VS Code) | Projectbrede agent-bewerkingen, grote codebases |
| Claude Code | Terminal-first agent | Taken met meerdere bestanden, lokale of cloud LLM-backends |
| GitHub Copilot | IDE-extensie | Inline-suggesties, PR-reviews, brede taalondersteuning |
| OpenCode | Open-source terminal agent | CLI-workflows, automatisering, zelf-gehoste modellen |
| Replit | Cloud IDE | Browsergebaseerd prototyping, direct deployment |
| Lovable | Cloud app-generator | Full-stack app-generatie vanuit natuurlijke taal |
| Windsurf | IDE-fork | Context met meerdere bestanden, sessiegeheugen, agent-vlows |
Voor een dieper vergelijk, zie de volledige gids voor AI-ontwikkelaarsgereedschappen.
De risico’s van vibe coding groeien met de inzet van wat er wordt gebouwd.
AI-gegenereerde code mist vaak juiste foutafhandeling, defensieve validatie, logging en dekking van uitzonderingsgevallen. De code werkt op de ‘happy path’, maaraccumuleert schuld die pas zichtbaar wordt onder belasting of wanneer er iets in productie misgaat. Ontwikkelaars die AI-output zonder review accepteren, creëren onderhoudslasten die ze later moeten aflossen — vaak op het slechtst mogelijke moment.
AI-modellen genereren code op basis van patronen in trainingsdata. Die patronen bevatten onveilige praktijken: risico’s op SQL-injectie, onjuiste authenticatieflows, ontbrekende input-sanitisatie en hardcoded credentials. Een ontwikkelaar die de diff niet leest voordat hij commit, kan een kwetsbaarheid uitrollen zonder het te beseffen.
Agent-tools kunnen grote wijzigingen in meerdere bestanden maken. Wanneer die wijzigingen worden geaccepteerd zonder architectonische review, is het resultaat code die vandaag de tests haalt, maar over zes maanden moeilijk uit te breiden of te doorgronden is. De AI modelleert niet de langetermijn onderhoudbaarheid van wat het produceert.
Wanneer er iets misgaat in AI-gegenereerde code, heeft de ontwikkelaar die het niet zorgvuldig heeft gelezen geen mentaal model van waarom het zo geschreven is. Debugging vereist eerst het begrijpen van code die je niet hebt geschreven en misschien niet hebt gereviewd — wat langer kan duren dan het in de eerste plaats correct schrijven.
Juniorontwikkelaars die exclusief vibe coden, bouwen misschien niet de fundamentele begrippen op die nodig zijn om zonder AI-hulp te debuggen, optimaliseren of systemen te architectureren. Dit is een carrièrerisico voor individuen en een teamrisico voor organisaties die vibe-coders bevorderen naar rollen die dieper engineeringoordeel vereisen.
Vibe coding werkt het beste in combinatie met engineeringdiscipline.
Review elke diff voordat je commit. De snelwinst zit in de generatie, niet in de review. Het lezen van de AI-output is niet optioneel — het is hoe je beveiligingslekken, slechte patronen en code die technisch werkt maar niet doet wat je bedoelde, opvangt.
Gebruik gestructureerde projectcontext. Tools zoals Claude Code gebruiken CLAUDE.md en Skills om het agent consistente, projectspecifieke kennis te geven. Een goed onderhouden CLAUDE.md betekent dat de AI je conventies, voorkeurshelpers en architectonische beperkingen begrijpt zonder dat je ze bij elke prompt opnieuw uitlegt.
Verpakt herhaalbare workflows in Skills. Als je merkt dat je dezelfde checklist of deploy-playbook steeds opnieuw prompt, haal het dan uit naar een herbruikbare Claude Skill. Herbruikbare, testbare Skills zijn de gestructureerde alternatieven voor gekopieerde en geplakte prompts.
Behoud het voor het juiste bereik. Vibe coding is het sterkst voor prototypes, interne tools, persoonlijke automatisering en functies die voorafgaand aan het uitrollen worden gereviewd. Kerninfrastructuur, beveiligingskritische logica en systemen met strikte prestatie-eisen verdienen meer doordacht engineering.
Voer geautomatiseerde tests uit op AI-output. Behandel AI-gegenereerde code als elke andere externe bijdrage: voer de testsuite uit, voeg tests toe voor uitzonderingsgevallen die de AI miste, en faal de build bij regressies voorafgaand aan het mergen.
Betrek een senior engineer bij architectonische beslissingen. Een senior engineer moet elke wijziging reviewen die raakt aan datamodellen, authenticatieflows, API-contracten of grenzen tussen services — ongeacht of de code van AI of een juniorontwikkelaar komt.
De afwegingen zien er anders uit afhankelijk van de context.
Solo-projecten en MVP’s: Vibe coding is bijna optimaal. De ontwikkelaar heeft volledige context, reviewt zijn eigen output en kan snel gaan zonder coördinatiedrempel. Het risico van technische schuld is reëel maar beheersbaar — jij bent degene die het moet aflossen.
Kleine teams: Productief met duidelijke afspraken over wanneer AI-gegenereerde code gereviewd moet worden en door wie. Teams die gedeelde CLAUDE.md of AGENTS.md bestanden en gestandaardiseerde prompts gebruiken, krijgen consistentere outputs en minder verrassingen.
Enterprise-systemen: Vereist governance. AI-gegenereerde code moet door dezelfde reviewpoorten gaan als elke andere bijdrage. De productiviteitswinsten zijn reëel, maar ze gelden alleen als kwaliteitscontroles schalen met het gebruik. Organisaties die vibe coding laten voorbijgaan aan code-review, beveiligingsscans of architectonische goedkeuring, creëren opstapende risico’s.
Vibe coding-tools komen in vier hoofdvormen, elk met verschillende afwegingen:
De juiste keuze hangt af van of je bottleneck zit in setup-wrijving, codebase-integratie of automatisatiecapaciteit.
Specificaties als enige waarheid, of traad ceremonieel?
Spec-gedreven ontwikkeling kwam in 2026 binnen als het serieuze antwoord van ontwikkelaars op de afwijking van ‘vibe coding’.
Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.