Toegang tot gegevens
Ligt op databaseniveau vast wie welke rijen mag zien en wijzigen? Niet in de schermen, maar in de data zelf. Dit is het criterium met de grootste gevolgen als het ontbreekt.
Een prototype is bedoeld om een vraag te beantwoorden: werkt dit idee, snappen gebruikers het, is dit de moeite waard. Een productie-app heeft een andere opdracht: blijven werken terwijl jij er niet bij bent. Dat verschil is geen kwestie van meer functies, maar van andere eigenschappen. Hieronder staan de criteria waarop je dat kunt nagaan, zonder dat je zelf hoeft te kunnen programmeren.
Beide werken. Alleen onder heel andere omstandigheden.
Als jij door je eigen prototype klikt, gebeurt er een aantal dingen tegelijk. Je gebruikt het zoals bedoeld, je vult geldige gegevens in, je bent de enige gebruiker en als er iets stukgaat merk je dat meteen. Elk van die vier valt weg zodra anderen ermee gaan werken.
Productierijp betekent daarom niet af of compleet. Het betekent dat de app blijft doen wat hij moet doen als niemand meekijkt: bij onverwachte invoer, bij meerdere gebruikers tegelijk, bij iemand die bewust probeert verder te komen dan bedoeld, en bij een storing waar jij op dat moment niets van weet.
Deze pagina gaat over die criteria. Wil je eerst het bredere debat over AI-gegenereerde apps en productie, lees dan of vibe coding klaar is voor productie. Gaat het je vooral om de stap zelf, dan sluit van prototype naar productie beter aan.
In deze volgorde, want de eerste twee bepalen of de rest er nog toe doet.
Ligt op databaseniveau vast wie welke rijen mag zien en wijzigen? Niet in de schermen, maar in de data zelf. Dit is het criterium met de grootste gevolgen als het ontbreekt.
Alles wat je pagina meestuurt naar de bezoeker is leesbaar. Sleutels met verstrekkende rechten horen aan de serverkant te staan, in omgevingsvariabelen.
Wat gebeurt er als een aanvraag mislukt, een veld leeg blijft of de verbinding wegvalt? Een prototype mag dan stilvallen. Een productie-app hoort iets zinnigs te tonen.
Zijn de gegevens zo opgeslagen dat een nieuwe functie erbij past? Een model dat gaandeweg is aangegroeid, wordt de plek waar elke volgende wijziging vastloopt.
Zie je dat er iets stukging voordat een gebruiker het meldt? Zonder logging en meldingen ontdek je storingen pas als iemand de moeite neemt te klagen.
Kun je een versie terugzetten als een wijziging iets breekt, en heb je een back-up van de gegevens? Dit is de goedkoopste verzekering die er is.
Deze onderwerpen kosten vaak de meeste aandacht en zeggen het minst.
Zonder code te lezen kom je een heel eind, als je de goede vragen stelt.
De vraag is meestal niet of het productierijp is, maar of het dat al hoeft te zijn.
De meeste prototypes hoeven helemaal niet productierijp te zijn. Ze bestaan om een besluit mogelijk te maken: bouwen we dit, snappen gebruikers dit, is hier vraag naar. Zolang dat het doel is, kost hardening tijd zonder dat het de vraag beantwoordt.
Het omslagpunt is het moment waarop er gegevens in komen die van iemand anders zijn dan van jou. Vanaf dat moment tellen de criteria hierboven, ook als het nog een test is. Een testomgeving met echte klantgegevens is namelijk gewoon een productieomgeving met een ander etiket.
Zit je daar tussenin, dan is de vraag wat er precies aangetoond moet worden. Vaak is dat één flow, niet de hele app. Dat is waar onze aanpak op gericht is: één werkdag, één flow die aantoonbaar werkt, en daarna pas de vraag of het verder moet.
Dat de app blijft werken als jij er niet bij bent. Bij onverwachte invoer, bij meerdere gebruikers, bij iemand die verder kijkt dan de interface, en bij een storing die je niet meteen ziet. Het gaat dus niet over compleet zijn, maar over betrouwbaarheid.
Meestal niet. Een prototype bestaat om een vraag te beantwoorden. Zodra er gegevens van anderen in staan verandert dat, want dan draag je verantwoordelijkheid voor die gegevens, ook als je het nog een test noemt.
Toegang tot gegevens. Als iemand zonder in te loggen bij gegevens kan die niet van hem zijn, zijn de andere punten minder dringend. Dit is ook het punt met de grootste gevolgen als het misgaat.
Voor een deel wel. Uitloggen en toch een link openen, kijken of je meldingen krijgt bij fouten, navragen waar sleutels staan. Of een toegangsregel echt sluit, kun je zonder kennis niet beoordelen, en juist daar zit het risico.
Dat verschilt te veel om er een algemeen antwoord op te geven. Het hangt af van hoe de app is opgezet en wat er live moet. De omvang wordt vooral bepaald door het datamodel, want dat is het duurst om achteraf te wijzigen.
Niet automatisch. Snelheid zegt weinig over kwaliteit. Wat telt is of iemand de keuzes heeft beoordeeld die onderweg zijn gemaakt, en of de punten hierboven belegd zijn.
Stuur ons wat je hebt. In een intake lopen we de punten hierboven langs en zeggen we wat er nog nodig is voordat het naar buiten kan.
Een korte intake volgt na je inschrijving. Daarna stemmen we scope en datum af.
We nemen contact op om de intake in te plannen.
We gebruiken cookies om je ervaring te verbeteren en het gebruik van de site te meten.