Feature flags: feature toggles goed gebruiken, en zeven anti-patterns om te vermijden
Wat is een feature flag? Vier typen toggles, wat u probeert voordat u er een toevoegt, en zeven anti-patterns waardoor code draait die nooit is getest.
10 min leestijd
Sébastien Nobour
Oprichter van DEVEDANOS
Ja. U beschrijft een app in een paar zinnen, en een AI-tool maakt er een eerste versie van: schermen, formulieren, een database, een link waarmee u hem opent. Wie een idee wil testen, heeft daar veel aan.
De nuttige vraag komt direct daarna. Kan deze app betalingen ontvangen? De gegevens van uw klanten bewaren? Jarenlang elke dag door uw gebruikers gebruikt worden? Dan hangt het antwoord minder af van de tool dan van wat er omheen gebeurt.
Drie soorten tools geven antwoord op die vraag.
AI-appbouwers. U beschrijft in een gesprek wat u wilt. De tool genereert de app, host hem en zet hem online, zonder dat u één regel code hoeft te schrijven. Zij staan op de eerste pagina van Google bij deze zoekopdracht.
Chatassistenten. Kan ChatGPT een app maken? ChatGPT schrijft de code, stukje voor stukje, en legt die uit. Alles samenvoegen, op een server installeren en online zetten blijft uw werk.
Codeassistenten, ingebouwd in de ontwikkelomgeving van de developer. Ze schrijven, wijzigen en testen code op zijn verzoek. Ze zijn bedoeld voor developers, en developers gebruiken ze ook: bijna 90 % van de techprofessionals die voor het DORA-rapport 2025 zijn ondervraagd, gebruikt AI bij het werk. Het rapport komt van DORA, het onderzoeksprogramma van Google Cloud naar hoe software wordt ontwikkeld en in productie wordt genomen.
Een app bouwen door te beschrijven wat er moet komen, zonder de code te lezen die de AI schrijft: daar bestaat een naam voor, vibe coding. De term komt van Andrej Karpathy, AI-onderzoeker, uit een bericht dat hij in februari 2025 publiceerde. Hij beschrijft daarin een manier van programmeren waarbij alle voorgestelde wijzigingen ongelezen worden geaccepteerd en de foutmeldingen in het gesprek worden geplakt tot het werkt. Hij zegt er zelf bij dat dit geschikt is voor persoonlijke wegwerpprojecten in het weekend.
Developer Simon Willison maakte het onderscheid dat hier telt. Vibe coding is bouwen met AI zonder de code na te lezen die de AI produceert. Wanneer een developer de code naleest, test, en elke regel aan een ander kan uitleggen, is dat softwareontwikkeling. Met hulp van AI, maar het blijft softwareontwikkeling.
Een idee testen. Een scherm laten zien aan een zakenpartner, een klant of een toekomstige gebruiker, voordat u een budget vastlegt. Een kleine interne tool bouwen, gebruikt door een paar mensen, die niets met geld of persoonsgegevens te maken heeft.
Allen Holub zegt het zonder omwegen: vibe coding heeft zijn plek bij wegwerpprototypes. Het woord dat telt is “wegwerp”. Een prototype dient om iets te leren. Daarna gooit u het weg.
Een app die tijdens een demo werkt, heeft één ding bewezen: dat hij tijdens een demo werkt. Holub zet op een rij wat “het werkt” niet garandeert: beveiliging, naleving van de regels voor gegevensbescherming, schaalbaarheid en de beschikbaarheid van de dienst als veel gebruikers inloggen, back-ups, het gemak waarmee de app verder te ontwikkelen is. Voor een bedrijf wegen vijf punten zwaarder dan de rest.
Softwarebedrijf Veracode liet meer dan 100 AI-modellen code schrijven voor 80 taken waarbij een veilige of een onveilige oplossing gekozen kon worden. In ongeveer 45 % van de gevallen bevatte de code een beveiligingslek. Nieuwere modellen doen het op dit punt niet beter dan oudere.
In de openbare galerij van een AI-appbouwer analyseerde een engineer 1.645 gepubliceerde apps. Bij 170 daarvan, ongeveer één op de tien, kon iedereen de gegevens van de gebruikers inzien: namen, e-mailadressen, financiële gegevens.
Zodra een app namen, adressen of informatie over uw klanten of medewerkers bewaart, is de AVG van toepassing. Het bedrijf dat deze gegevens verzamelt, moet ze beschermen met technische maatregelen die passen bij het risico (artikel 32). Bij een datalek moet het dat melden bij de toezichthouder (in Frankrijk de CNIL), zo mogelijk binnen 72 uur (artikel 33). De boetes kunnen oplopen tot 20 miljoen euro of 4 % van de wereldwijde jaaromzet, afhankelijk van welk bedrag hoger is (artikel 83).
Die verplichting ligt bij het bedrijf dat de gegevens verzamelt. Welke tool de code heeft geschreven, maakt daarvoor niet uit.
Om een betaling te ontvangen, gaat een app via een betaalprovider. Het lastige deel komt daarna: de provider laat de app weten dat er een betaling binnen is, en de app moet controleren of dat bericht echt van hem komt. Zonder die controle kan iedereen een vals bericht sturen en zo de verzending van een bestelling in gang zetten. De provider kan hetzelfde bericht ook twee keer sturen, en de app mag het maar één keer vastleggen. Dat staat in de documentatie van de providers zelf, zowel bij Stripe als bij Adyen.
In een demo betaalt niemand echt. Daarom komen deze problemen daar niet aan het licht.
Een app leeft in productie. Hij moet meegaan met beveiligingsupdates, met veranderingen in uw bedrijf en met de wensen van uw gebruikers. Onderhoud houdt in dat de app voortdurend wordt aangepast aan die veranderende behoeften. Daarvoor moet eerst worden begrepen wat er moet veranderen, en moet dat daarna in de bestaande app worden ingebouwd zonder kapot te maken wat werkt.
Allen Holub noemt de voorwaarde waaronder een AI dit werk zou kunnen doen: de behoeften van gebruikers in het bestaande systeem inbouwen met zo min mogelijk wijzigingen, zonder dat de gebruikerservaring of de architectuur erop achteruitgaat, en zonder bugs. Volgens hem is het zover nog niet. Er blijft een mens nodig om te begrijpen wat er moet veranderen en de app af te stemmen op de mensen die ermee werken.
Karpathy merkt het op in zijn bericht: de code groeit voorbij wat hij ervan begrijpt. Voor een persoonlijk weekendproject maakt dat niet uit. Voor een applicatie waar uw gebruikers van afhangen, wordt elke wijziging een gok als niemand meer weet wat de code doet.
En onderhoud kost meer dan de ontwikkeling zelf, zoals we uitleggen in ons artikel over softwareprojecten die hun budget overschrijden.
Een demo draait met één gebruiker. Holub rekent schaalbaarheid tot de eigenschappen die “het werkt” niet garandeert. Wat goed reageert voor één persoon, kan traag worden, of uitvallen, als veel gebruikers tegelijk inloggen.
Het criterium is niet de omvang van de app. Het is wat er gebeurt als hij uitvalt, als hij verkeerde resultaten oplevert, of als zijn gegevens uitlekken.
Schakel een professional in als uw app:
Zolang daar niets van op het spel staat, volstaat de tool op zichzelf vaak.
Een professional inschakelen betekent niet dat u afziet van AI. Ontwikkelteams gebruiken AI ook. Het verschil zit in alles rondom de code: geautomatiseerde tests die elke wijziging controleren voordat die uw gebruikers bereikt, een review van wat de tool heeft geschreven, releases naar productie die niet kapotmaken wat de dag ervoor nog werkte.
Het DORA-rapport 2025 beschrijft AI als een versterker. Teams die al goede werkwijzen hebben, worden er sterker van, en de problemen van de andere teams worden groter. Het rapport is gebaseerd op de antwoorden van bijna 5.000 techprofessionals. Het meet twee dingen: hoeveel wijzigingen een team in productie zet, en hoeveel daarvan problemen geven zodra ze live staan. Hoe meer een team AI gebruikt, hoe meer wijzigingen het uitrolt. Maar net als het jaar ervoor gaan die wijzigingen ook vaker mis. Een wijziging maakt bijvoorbeeld iets kapot, en dan moet die worden teruggedraaid of met spoed worden hersteld. Of een incident treft de gebruikers, en het team moet een reparatie uitbrengen die niet gepland was.
Allen Holub schrijft in “No Agentic SDLC, only Agentic coding” dat AI het coding doet, en dat is maar een klein deel van softwareontwikkeling. Zolang een AI geen gesprek met gebruikers kan voeren om boven water te krijgen wat ze nodig hebben, blijft dat werk volgens hem mensenwerk.
Met AI kost code schrijven weinig, en wordt verificatie de bottleneck, zegt Dave Farley in zijn interview voor de podcast van Aviator (“Engineering Discipline in the AI Era”, februari 2026).
Alexandre Poitevin zegt al tien jaar met Python te werken. Hij vertelt in een LinkedIn-post dat hij zijn hulp had aangeboden aan Bryan Finster, die aan een Python-codebase werkte zonder er ervaring mee te hebben. Bryan Finster is sinds 1996 developer. In 2001 ging hij bij Walmart aan de slag, waar hij software voor de supply chain schreef en het bedrijf daarna hielp om Continuous Delivery naar zijn teams uit te breiden. Tegenwoordig onderhoudt hij MinimumCD.org, een site die de minimale werkwijzen voor Continuous Delivery beschrijft. Uiteindelijk had Bryan Finster de hulp van Alexandre niet nodig. Hij wist hoe hij een AI-agent moest aansturen. Voor Alexandre Poitevin wogen de principes die Bryan Finster beheerste (teststrategie, beheer van dependencies) zwaarder dan kennis van de taal.
Dat Bryan Finster zonder Python-kennis kon werken, kwam niet door AI. Het kwam doordat hij de basisprincipes van software engineering beheerst. Die gelden ongeacht de taal. In een reactie voegt Bryan Finster eraan toe dat hij nog nooit .NET-code had gezien op de dag dat hij besloot een deel van een systeem van .NET Framework naar .NET Core over te zetten.
Bij DEVEDANOS werken we zo. AI is een van onze tools, binnen een aanpak waarin elke wijziging wordt gecontroleerd door geautomatiseerde tests. Voor de ontwikkeling van software op maat werken we voor een vast budget, aan het einde van elke maand gefactureerd voor het geleverde werk. Uw applicatie is binnen een maand bruikbaar, met een paar essentiële functionaliteiten: uw gebruikers gaan er meteen mee aan de slag, en hoe ze ermee werken, bepaalt welke functionaliteiten we daarna ontwikkelen. Zodra een functionaliteit is goedgekeurd en online staat, wordt die beoordeeld op de reactie van uw gebruikers, en beslissen we meteen met u over de volgende, zolang u dat wenst. Een levende applicatie is nooit af: zodra u haar niet meer doorontwikkelt, krijgt ze alleen nog beveiligingspatches en updates van de componenten waarop ze draait, en dan is het een applicatie die langzaam sterft.
En om ervoor te zorgen dat wat vorige maand werkte, ook deze maand werkt, hanteren we een nulregressiegarantie: elke regressie wordt verholpen en afgedekt door een geautomatiseerde test, zodat ze niet terugkomt, zonder meerkosten.
Onze gids behandelt deze bronnen uitgebreid. U vindt er ook de vragen die u moet stellen voordat u een offerte voor de ontwikkeling van uw maatwerktool tekent.
Hebt u een met AI gemaakte app die in productie overeind moet blijven, of een tool die niet meer met uw bedrijf meegroeit? Zullen we kennismaken?
Wat is een feature flag? Vier typen toggles, wat u probeert voordat u er een toevoegt, en zeven anti-patterns waardoor code draait die nooit is getest.
Hoeveel budget hebt u nodig om een app te laten maken? Het bedrag alleen zegt te weinig: stuur op een doel in plaats van een lijst, met gebruikers vanaf de eerste maand.
Voorspellende of adaptieve aanpak? De echte scheidslijn loopt niet tussen de watervalmethode en agile, maar tussen voorspellen en je aanpassen. Wat dat betekent voor software.