40 — Technical Design Specs
Een TDS beschrijft hoe iets wordt geïmplementeerd. Hij definieert de contracten, dataflows, integraties en randvoorwaarden — het technische doel dat het implementatieplan gaat halen.
Elke TDS gaat meestal terug op een PRD (het wat) en vooruit op een implementatieplan (de stappen).
Reikwijdte in Documentatie
TDSs hier ontwerpen cross-repo werk — een generator die zusterrepos uitleest, een gedeeld schema dat door meerdere apps wordt gebruikt, een nieuw app-naar-app contract. TDSs binnen één app blijven in die product-repo.
Wanneer wel
- Een PRD is goedgekeurd en de volgende stap is ontwerp
- Een niet-triviale technische cross-repo wijziging is nodig (nieuwe integratie, schema-wijziging, nieuw contract)
- Een besluit raakt systeemvorm op een manier die een ADR alleen niet kan dragen
Wanneer niet
- Een triviale wijziging die de PR-omschrijving al dekt
- Een puur besluit zonder ontwerp-oppervlak — schrijf een ADR
Statuswaarden
| Status | Betekenis |
|---|---|
| Concept | Wordt geschreven |
| In beoordeling | Wacht op technische akkoord |
| Goedgekeurd | Klaar voor implementatie |
| Opgeleverd | Het systeem reflecteert dit ontwerp |
| Vervangen | Vervangen — link naar nieuwere TDS |
Bestandspatroon
TDS-<GEBIED>-<NNN>-<slug>.md — GEBIED in hoofdletters, NNN nul-opgevuld per gebied.
Voorbeeld: TDS-PORTFOLIO-001-overlay-generator.md.
Sjabloon
# TDS-<GEBIED>-<NNN>: <Titel>
**Datum:** YYYY-MM-DD
**Status:** Concept | In beoordeling | Goedgekeurd | Opgeleverd | Vervangen
## Doel
(Eén alinea. Wat maakt dit ontwerp mogelijk.)
## Referentie
- PRD: [[prd-naam]]
- ADRs: [[ADR-NAAM]]
## Referentiepatroon / architectuur
(Diagram of doorgenummerde walkthrough van het ontwerp.)
## Vereiste technische eigenschappen
### Interfaces
(APIs, events, schema's — wees precies.)
### Data
(Tabellen, kolommen, retentie, eigenaarschap.)
### Randvoorwaarden
(Performance, security, compliance — alles wat dragend is.)
## Standaardpatroon per <variant>
(Als dit ontwerp anders uitpakt voor verschillende app- of procestypen, som ze hier op.)
## Buiten scope
-
## Openstaande vragen
-