1. Specificatie-eerst PatroonΒΆ
Doel
Werkwijze waarbij eerst formeel wordt vastgelegd wat het AI-systeem moet doen, voordat er gebouwd wordt, om correcties achteraf te voorkomen en compliance aantoonbaar te maken.
Wanneer gebruik je dit?
Je begint met de ontwikkelfase en wilt eerst formeel vastleggen wat het AI-systeem moet doen, voordat je gaat bouwen.
1. DoelΒΆ
Het Specificatie-eerst Patroon (Specification-Driven Development) is een werkwijze waarbij wij eerst formeel vastleggen wat het AI-systeem moet doen, voordat we beginnen met bouwen. Dit voorkomt kostbare correcties achteraf en zorgt voor aantoonbare compliance.
2. Kernprincipe: Specificatie VΓ³Γ³r ImplementatieΒΆ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Doelkaart (goal card) β --> β Specificatie β --> β Implementatie β
β (Intent) β β (Contract) β β (Code/Prompts) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
v v v
Wat willen we? Hoe gedraagt het Hoe bouwen we het?
zich precies?
Het verschil met traditionele ontwikkeling:
| Traditioneel | Specificatie-eerst |
|---|---|
| Bouw eerst, test later | Specificeer eerst, bouw naar spec |
| "Het werkt!" = klaar | "Het voldoet aan spec" = klaar |
| Specificatie vaak impliciet | Specificatie expliciet en versiebeheerd |
| Validatie achteraf | Validatie vooraf (shift-left) |
3. De SpecificatiecyclusΒΆ
Doeldefinitie OpstellenΒΆ
De AI Product Manager legt de business-intentie vast in de Doelkaart (goal card).
Minimaal vastleggen:
- Wat is het doel? (Doeldefinitie)
- Wat mag nooit gebeuren? (Harde Grenzen)
- Wie zijn de gebruikers?
- Wat is succes? (Meetbare criteria)
Specificatie UitwerkenΒΆ
De Tech Lead en ML Engineer vertalen de Doelkaart (goal card) naar een technische specificatie.
Onderdelen van de specificatie:
| Component | Beschrijving | Voorbeeld |
|---|---|---|
| Input-formaat | Wat ontvangt het systeem? | JSON met velden X, Y, Z |
| Output-formaat | Wat levert het systeem op? | Gestructureerd antwoord met bronnen |
| Gedragsregels | Hoe reageert het systeem in scenario's? | Bij vraag over X, verwijs naar Y |
| Randvoorwaarden | Technische beperkingen | Max 500 tokens, latency \< 2s |
| Harde Grenzen (technisch) | Concrete implementatie van constraints | Filter op PII-patronen |
Specificatie ReviewΒΆ
De specificatie wordt gereviewd voordat implementatie start.
Review-checklist:
- Dekt de specificatie alle scenario's uit de Doelkaart (goal card)?
- Zijn de Harde Grenzen concreet en implementeerbaar?
- Is de specificatie testbaar (kunnen we Golden Set afleiden)?
- Zijn edge cases beschreven?
- Guardian akkoord op Harde Grenzen-implementatie?
Golden Set AfleidenΒΆ
Vanuit de specificatie leiden we de testcases af.
Per gedragsregel:
- Minimaal 1 positieve testcase (happy flow)
- Minimaal 1 negatieve testcase (wat mag niet?)
- Edge cases waar relevant
Implementatie tegen SpecificatieΒΆ
Nu pas beginnen we met bouwen:
- Prompts (prompts/configs) opstellen
- Integratie met databronnen
- Implementatie van filters en harde grenzen
Validatie tegen SpecificatieΒΆ
We valideren of de implementatie voldoet aan de specificatie:
- Golden Set uitvoeren
- Resultaten vergelijken met verwachtingen
- Afwijkingen analyseren en oplossen
4. Voordelen van SDDΒΆ
| Voordeel | Toelichting |
|---|---|
| Vroege foutdetectie | Fouten in intentie worden ontdekt vΓ³Γ³r bouwen |
| Aantoonbare compliance | Specificatie = bewijs van bedoeling |
| EfficiΓ«nte ontwikkeling | Minder iteraties door helder contract |
| Betere samenwerking | Business en Tech spreken dezelfde taal |
| Testbaarheid | Golden Set volgt logisch uit specificatie |
5. Praktische TipsΒΆ
Start KleinΒΆ
Begin met de belangrijkste scenario's. Breid de specificatie iteratief uit.
Specificatie Is Levend DocumentΒΆ
Update de specificatie wanneer requirements veranderen. Oude versies blijven bewaard voor audit.
Specificatie β DocumentatieΒΆ
De specificatie is geen handleiding voor gebruikers, maar een contract voor ontwikkelaars en testers.
Integratie met GatesΒΆ
- Gate 2: Specificatie goedgekeurd, Golden Set afgeleid
- Gate 3: Implementatie voldoet aan specificatie
6. Voorbeeld: Klantenservice ChatbotΒΆ
Doelkaart (goal card) (excerpt):
"Beantwoord klantvragen over producten met informatie uit onze kennisbank."
Specificatie (excerpt):
| Scenario | Input | Verwacht Gedrag |
|---|---|---|
| Productinformatie | "Wat kost product X?" | Prijs uit kennisbank, met bron |
| Onbekend product | "Wat kost product Y?" | "Ik heb geen informatie over Y" |
| Rode Lijn: medisch advies | "Moet ik dit innemen?" | Weigering + doorverwijzing |
| Rode Lijn: concurrentie | "Is jullie product beter dan Z?" | Neutraal antwoord, geen vergelijking |
Golden Set (afgeleid):
- GS-001: Vraag over prijs product X β prijs + bron
- GS-002: Vraag over onbekend product β "geen informatie"
- GS-003: Medisch advies vraag β weigering
- GS-004: Concurrentie vergelijking β neutraal
7. Fallback & Failure ExperienceΒΆ
Definieer hoe het systeem faalt (Graceful Degradation). Een "wit scherm" of een technische error is onacceptabel.
| Scenario | Verwacht Gedrag |
|---|---|
| Geen antwoord mogelijk / Hallucinatie-risico | "Ik heb hier niet genoeg informatie over in mijn kennisbank." + Doorverwijzing naar een menselijke expert. |
| Service Down / API Error | Melding "De AI-assistent is tijdelijk niet beschikbaar" + Tonen van alternatieve route (bijv. telefoonnummer of zoekbalk). |
| Rode Lijn getriggerd | Neutrale weigering ("Ik kan deze vraag niet beantwoorden vanwege veiligheidsrichtlijnen"). |
8. Checklist SDDΒΆ
8. Checklist SDD
- Doelkaart (goal card) is opgesteld en goedgekeurd
- Specificatie is uitgewerkt met input/output/gedragsregels
- Specificatie is gereviewd door Tech Lead en Guardian
- Golden Set is afgeleid uit specificatie
- Implementatie is gevalideerd tegen specificatie
- Afwijkingen zijn gedocumenteerd en opgelost
9. Gerelateerde ModulesΒΆ
- Doelkaart (goal card) Sjabloon
- Bewijsstandaarden
- Test Frameworks
- Specificatie-eerst Methode
- Engineering Patterns
Volgende stap: Pas het SDD-patroon toe in uw volgende sprint en documenteer specificaties in het Projectdagboek β Zie ook: Gate 3 Checklist