Eerst het proces, dan de schermen
Het eerste gesprek gaat niet over knoppen maar over wat er nu gebeurt: wie doet wat, in welke volgorde, en waar het misgaat. Meestal ligt er een spreadsheet, een mailketen of een oud systeem waar iedereen omheen werkt. Dat is de echte specificatie, en die is beter dan elk document.
Daaruit volgt een datamodel: welke dingen bestaan er (aanvragen, klanten, planningen), wie mag ze zien en wie mag ze wijzigen. Dat model is het fundament. Schermen zijn later makkelijk te veranderen; een verkeerd fundament niet.
De eerste vier weken
Binnen de eerste weken staat er een werkende versie met de belangrijkste route erdoorheen, van inloggen tot de ene handeling waar het om draait. Dun, maar echt. Wie daar doorheen klikt ziet meteen of het klopt, en dat is meer waard dan een presentatie van veertig schermen.
Vanaf dat moment groeit de applicatie elke twee weken. U ziet steeds wat er bijgekomen is en beslist wat het volgende is. Wie na fase één wil stoppen, heeft iets dat werkt en code die van u is.
Wat een goede webapplicatie onderscheidt
Vier dingen die u niet op een demo ziet, maar wel elke dag merkt.
- Snelheid, gemeten: pagina’s die binnen een seconde reageren, ook op een oude laptop en een matige verbinding
- Rollen en rechten die kloppen: een medewerker ziet iets anders dan een klant, en een beheerder weer iets anders
- Koppelingen die tegen een stootje kunnen: als uw boekhoudpakket even niet reageert, gaat er niets verloren
- Logging en monitoring, zodat een fout gemeld wordt voordat een gebruiker hem meldt
Next.js, React, Angular of Vue
De vraag welke techniek komt vaak vroeg, en het eerlijke antwoord is dat het minder uitmaakt dan het lijkt. Wij bouwen het meest in Next.js en React, omdat die het snelst een goede eerste versie geven en het makkelijkst te vinden zijn voor wie er later aan verder wil. Heeft uw organisatie al een Angular-team, dan bouwen we in Angular; de applicatie moet straks van u zijn, ook in de zin dat uw eigen mensen erin kunnen.
Wat wél uitmaakt: TypeScript, een echte database (meestal PostgreSQL), en een opzet waarin de backend los van de schermen te testen is.
Wat u zelf regelt
Het tempo van een project ligt voor een groot deel bij de opdrachtgever.
- Eén persoon die beslist en binnen twee dagen antwoordt
- Toegang tot de systemen waar de applicatie mee moet praten, geregeld vóór de start
- Echte gegevens om mee te testen, geen verzonnen voorbeelden
- Twee of drie gebruikers die vanaf de eerste versie meekijken
Begin bij het proces en het datamodel, eis een werkende versie binnen weken, en houd de code in uw eigen repository. Dan is de techniek een detail en het resultaat van u.