← Alle artikelen

AI en software

AI-software bouwen met controle: van voorwerk naar oplevering

AI kan softwarevoorwerk versnellen, maar een bruikbare toepassing vraagt heldere grenzen, menselijke code-review, tests en een gecontroleerde vrijgave.

Klei-illustratie van een vakman met telefoon en bouwtekeningen op een werktafel
AI kan het voorwerk versnellen; review, tests en vrijgave blijven afzonderlijke stappen.Beeld: Dlivered — eigen AI-illustratie

AI kan in korte tijd een opzet, scherm, koppeling of stuk code voorbereiden. Dat maakt softwareontwikkeling niet automatisch sneller of veiliger. De echte winst ontstaat pas wanneer duidelijk is wat de software moet doen, wie de uitkomst controleert en welke tests vóór gebruik moeten slagen.

Voor een mkb-bedrijf is dat belangrijker dan de vraag welk model de code schrijft. Software raakt vaak klantgegevens, planning, offertes of uitvoering. Een overtuigend prototype is dan nog geen betrouwbare toepassing. Behandel AI daarom als een snelle assistent binnen een gewone, controleerbare ontwikkelwerkwijze.

Begin bij de werkvraag

Beschrijf eerst het proces dat beter moet. Niet: “bouw een AI-app”, maar bijvoorbeeld: “zet een compleet serviceverzoek klaar voor de planner, zonder het automatisch in te plannen”. Leg daarbij vast:

  • welke invoer beschikbaar is;
  • welke uitkomst nodig is;
  • welke uitzonderingen vaak voorkomen;
  • welke gegevens gevoelig zijn;
  • wie een wijziging mag goedkeuren;
  • wat er moet gebeuren als informatie ontbreekt.

Die grenzen geven AI bruikbaar voorwerk. Zonder grenzen kan een systeem er afgewerkt uitzien, terwijl het een belangrijke uitzondering negeert.

Laat AI voorwerk leveren

AI is bruikbaar voor een eerste gegevensmodel, een schermindeling, testsuggesties, documentatie of een beperkte codewijziging. Vraag om kleine, uitlegbare stappen. Een wijziging die één duidelijk probleem oplost, is beter te beoordelen dan een complete toepassing die in één keer verschijnt.

GitHub beschrijft voor zijn coding agent dat gegenereerde wijzigingen via een pull request kunnen worden bekeken en dat menselijke controle nodig blijft. De precieze techniek verschilt per hulpmiddel, maar het werkprincipe is breder toepasbaar: maak de verandering zichtbaar voordat zij onderdeel wordt van het echte proces.

Werk in een vaste controlestroom

Een praktische route bestaat uit zes stappen:

  1. Opdracht: formuleer doel, grenzen en acceptatiecriteria.
  2. Voorstel: laat AI een beperkte wijziging of een prototype maken.
  3. Verschil bekijken: controleer wat werkelijk is toegevoegd, gewijzigd of verwijderd.
  4. Review: laat een deskundige letten op logica, veiligheid, onderhoudbaarheid en privacy.
  5. Tests: voer automatische en handmatige controles uit op normaal gebruik én uitzonderingen.
  6. Vrijgave: zet alleen de beoordeelde versie gecontroleerd in en houd herstel mogelijk.

Een code-review is meer dan kijken of de code netjes oogt. De reviewer vergelijkt de wijziging met de oorspronkelijke werkvraag. Wordt de juiste status opgeslagen? Kan een gebruiker per ongeluk een actie dubbel uitvoeren? Is zichtbaar waarom iets is afgekeurd? Zijn toegangsrechten beperkt tot wat nodig is?

Praktisch voorbeeld: een serviceverzoek voorbereiden

Stel dat een installatiebedrijf aanvragen uit een formulier wil omzetten naar een conceptwerkopdracht. AI kan velden herkennen, een korte samenvatting maken en ontbrekende informatie markeren. De toepassing mag de conceptopdracht nog niet zelfstandig aan een monteur toewijzen.

De acceptatiecriteria kunnen zijn: klantnaam en locatie zijn verplicht; een gewenste datum is nooit automatisch een bevestigde afspraak; onbekende apparatuur krijgt de status “controle nodig”; bijlagen blijven gekoppeld aan de aanvraag; en een planner moet de opdracht expliciet vrijgeven.

Daarna test het team ten minste een complete aanvraag, een aanvraag zonder locatie, een dubbel ingestuurde aanvraag en een bestand dat niet kan worden gelezen. De controle richt zich dus niet alleen op de mooie hoofdroute, maar juist op situaties waarin dagelijks werk vastloopt.

Tests geven bewijs, geen absolute zekerheid

Automatische tests kunnen aantonen dat bekende scenario’s volgens verwachting verlopen. Ze bewijzen niet dat iedere toekomstige situatie goed gaat. NIST neemt codebeoordeling, analyse en testen op in zijn Secure Software Development Framework. Dat past bij een nuchtere aanpak: combineer technische controles met een menselijke beoordeling en leg vast welke risico’s nog openstaan.

Test op verschillende niveaus. Een kleine test controleert bijvoorbeeld een berekening of veldregel. Een integratietest controleert of twee systemen correct gegevens uitwisselen. Een eindtest volgt de hele taak zoals een medewerker die uitvoert. Voeg waar nodig beveiligingscontroles, toegangscontrole en logging toe.

Checklist vóór oplevering

  • [ ] De werkvraag en eigenaar zijn benoemd.
  • [ ] Acceptatiecriteria zijn vooraf vastgelegd.
  • [ ] Gevoelige gegevens en toegangsrechten zijn beoordeeld.
  • [ ] De codewijziging is door een mens bekeken.
  • [ ] Normale routes en uitzonderingen zijn getest.
  • [ ] Fouten leveren een begrijpelijke status op.
  • [ ] De vrijgave is gescheiden van het maken van het concept.
  • [ ] Er is een herstel- of terugdraaimogelijkheid.
  • [ ] Bekende beperkingen staan in de oplevernotities.

Klein beginnen, controle behouden

Begin met één afgebakende taak en één verantwoordelijke beoordelaar. Meet niet alleen hoeveel code sneller ontstaat, maar ook hoeveel correctierondes nodig zijn, welke fouten terugkomen en of medewerkers de uitkomst begrijpen. Zo wordt AI geen ondoorzichtige snelkoppeling, maar een hulpmiddel binnen een aantoonbaar beheerste softwareworkflow.

Bekijk de workflow van werkvraag naar geteste toepassing

Bespreek een controleerbare softwareworkflow

Hoe zit dit in jouw werkdag?

Plan een kennismaking