Van intentie naar een draaiend systeem
Nu AI software makkelijker maakt om te bouwen, wordt de vraag wat je eigenlijk wilt, en binnen welke verantwoordelijkheden en grenzen, belangrijker dan ooit. CaseFlows begint bij die vraag, legt het antwoord vast in een open specificatie, en voert die specificatie direct uit.
De bottleneck is verschoven
De afstand tussen business en IT is oud. Requirements, agile teams, product owners en low-code hebben hem kleiner gemaakt, maar de vertaalslag bleef: iemand vertelt wat nodig is, iemand anders vertaalt dat naar software.
Een code-assistent schrijft nu in korte tijd werkende code. Daarmee verschuift de schaarste naar de bedoeling: welk resultaat, voor wie, met welke verantwoordelijkheden en onder welke grenzen. Ook Gartner noemt specificaties het belangrijkste controlepunt bij ontwikkelen met AI: wie de intentie niet bezit, laat de zeggenschap aan het ontwikkelproces of aan de AI.
Die kennis zit bij de mensen die het werk doen. Een planner weet hoe planning werkt. Een vergunningverlener kent de afwegingen rond een aanvraag.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart TB
subgraph before["Vroeger"]
direction LR
W1["Wat we willen"] --> T1["Vertaling<br/>analist, ontwikkelaar"] --> C1["Code"]
end
subgraph now["Nu"]
direction LR
W2["Wat we willen"] --> T2["Specificatie"] --> C2["AI bouwt"]
end
before ~~~ now
classDef scarce fill:#FCE3D2,stroke:#EC6A22,stroke-width:2px
class C1,W2 scarceSchuif opzij om de hele plaat te zien.
Drie lagen, elk met een eigen eigenaar
- Intentie. Waarom bestaat dit proces en welk resultaat telt? In gewone taal, bewust niet volledig.
- Specificatie. De case, de caseflow, de caserollen, wat elke rol per fase ziet en mag, en welke services gebruikt worden. Precies en leesbaar: JSON voor de structuur, markdown voor het gedrag.
- Uitvoering. Wat er in een echte case gebeurt, door mensen, systemen en agents.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart TB
I["Intentie<br/>waarom, en welk resultaat telt"] --> S["Specificatie<br/>case, caseflow, caserollen, rechten"] --> X["Uitvoering<br/>mensen, systemen en agents in echte cases"]
X -. signalen .-> I
X -. signalen .-> SSchuif opzij om de hele plaat te zien.
Beschrijven, bouwen, ervaren, bijsturen
Wie het werk kent, beschrijft het in een gesprek met de CaseFlows-coach. De coach stelt vragen waar iets nog niet duidelijk is en maakt er de specificatie van. Tijdens het gesprek ontstaat een model dat je kunt bekijken: welke fasen, welke rollen, waar de verantwoordelijkheid verschuift.
Daarna start je een testcase en neem je zelf de rol aan van klant, planner of beoordelaar. Wat niet klopt, zeg je, en de volgende ronde begint.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart LR
D["Beschrijven<br/>met de coach"] --> B["Bouwen<br/>specificatie en schermen"] --> E["Ervaren<br/>een testcase, in een rol"] --> A["Bijsturen"] --> DSchuif opzij om de hele plaat te zien.
De specificatie wordt niet vertaald, maar uitgevoerd
Hier zit het verschil met spec-driven development zoals de markt het meestal bedoelt. Daar is de specificatie de opdracht voor een agent die code schrijft, en daarna kan de code van de specificatie afdrijven.
In CaseFlows voert de runtime de specificatie zelf uit. Welke fase een case doorloopt, welke rol wat mag zien en doen, en welke controles verplicht zijn: dat staat in de spec, en de server dwingt het af terwijl de case loopt. Pas je de spec aan, dan verandert het gedrag. Er is geen tweede waarheid die achter kan lopen.
Om de grens precies te trekken: de runtime voert de caseflow rechtstreeks uit, met zijn fasen, rollen, bevoegdheden, controles en de diensten die hij aanroept. De schermen waarin mensen werken zijn code: een code-assistent bouwt ze uit de paginaspecificatie, en elke wijziging wordt teruggemeten tegen de spec. AI doet veel in het ontwikkelen; in productie werkt een agent alleen binnen een caserol.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart TB
subgraph usual["Gebruikelijke spec-driven development"]
direction LR
S1["Spec"] --> A1["Agent schrijft code"] --> C1["Code draait"]
C1 -. drijft af .-> S1
end
subgraph cf["CaseFlows"]
direction LR
S2["Spec"] --> R2["Runtime voert uit<br/>en dwingt af"]
UI["Schermen"] -. gemeten tegen .-> S2
end
usual ~~~ cfSchuif opzij om de hele plaat te zien.
Een spec die van jou is
Omdat de specificatie het systeem is, is wie de specificatie bezit de eigenaar van het systeem. Daarom zijn het open formaten: leesbaar zonder CaseFlows, en mee te nemen als gewone bestanden.
En omdat de intentie apart blijft, is een probleem naar de goede laag te herleiden: de uitvoering, de specificatie of de bedoeling zelf. Hoe dat in de praktijk gaat, is de volgende verdieping.
Hierna: een organisatie die leert
Hoe wat mensen in echte cases tegenkomen een signaal wordt dat het proces kan veranderen — voor medewerkers en voor partners.
Lees verder →