Overslaan en naar de inhoud gaan

Samen een roman schrijven

U laat een app bouwen. Waarom bouwen? Waarom niet laten groeien? Software kweken? Brouwen? Waarom vormen of schrijven we geen software?
Huis tekening blauwdruk
© CC0 - Pixabay
CC0 - Pixabay

Het is misschien een beetje overdreven, maar ik heb iets tegen dat bouwen. Bouwen is veel te fysiek. Software is niet fysiek. Software ontstaat niet door bakstenen op elkaar te stapelen. De regels, de natuurwetten die gelden bij het bouwen van een huis gaan niet op bij het maken van software.

Software ontstaat niet door bakstenen op elkaar te stapelen

Fysieke dingen die je bouwt, bestaan in een driedimensionale ruimte. Die ruimte kennen we allemaal, begrijpen we allemaal. Die ruimte kunnen we tekenen, op schaal. We kunnen ontwerpen in die ruimte, blauwdrukken maken. We kennen de regels van die ruimte en kunnen dus berekenen of die blauwdrukken voldoen aan die regels. Gaat dat gebouw een storm weerstaan, een aardbeving, meters sneeuw op het dak? We kunnen het allemaal vaststellen nog voordat er ook maar één baksteen aan te pas komt.

Soms moet je het hele systeem overhoop halen om maar een klein beetje verbetering te bereiken

Een ontwerp van een gebouw kun je niet alleen doorrekenen, je kunt het helemaal visualiseren. Met een beetje moeite kun je alles van tevoren laten zien. We kunnen dus van tevoren bepalen of het een mooi, goed gebouw wordt, of we dat gebouw allemaal wel zien zitten. Software is maar heel lastig te visualiseren. Natuurlijk kun je mock-ups van schermen of een storyboard maken, maar de meeste complexiteit zit meestal achter de schermen. Soms kun je met een paar regels code een heel veel beter systeem maken. Soms moet je het hele systeem overhoop halen om maar een klein beetje verbetering te bereiken.

Gebouwen ontstaan schetsend op papier, met een blokkendoos, een maquette of met een 3d-ontwerpprogramma. Software ontstaat grotendeels als idee in je hoofd. De meeste software maken we niet in ons eentje. Software ontstaat niet in één hoofd, maar in meerdere hoofden tegelijk, parallel. We kunnen schemaatjes maken van die software op whiteboards, in modelleertools of in tekst, maar die zijn allemaal op heel veel manieren te interpreteren. Het draait er allemaal om dat we bij elkaar in het hoofd steeds meer naar één, steeds beter, gezamenlijk verhaal toe bewegen. Pas als het echt werkende software is, weten we of we hetzelfde bedoeld hebben, dezelfde verwachtingen hebben. Daarom is het zo belangrijk om stapje voor stapje te bouwen.

Software maken is als samen een roman schrijven. Je kunt niet ieder een hoofdstuk schrijven, je kunt niet de hele tijd met z’n allen achter één toetsenbord zitten. Je zult moeten discussiëren, elkaar overtuigen. Je zult stukjes moeten schrijven en aan elkaar voorlezen. Geen idee of er ooit op die manier een roman geschreven is. Wat ik wel weet, is dat we dat eigenlijk al jaren doen met onze software.

Magazine AG Connect

Daan Kalmeijer is vaste columnist van AG Connect. Hij levert in elke editie van het magazine van AG Connect een bijdrage. Deze column stond in het AG Connect nummer 10, 2018. Wil je alle artikelen uit dit nummer lezen, klik dan hier voor de inhoudsopgave.

Gerelateerde artikelen
Gerelateerde artikelen

Reacties

Om een reactie achter te laten is een account vereist.

Inloggen Word abonnee

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in