Blog

App-ontwikkeling als Prometheus, of als André Kuipers

Auteur Joost Lommers Joost Lommers is enterprise designer en Enterprise Architecture consultant bij Trivento. Joost vindt het leuk om diep onbekend terrein in te trekken en is altijd op zoek naar een waarden-volle oplossing – met menselijke maat en klantgericht, nooit alleen technologiegedreven.

Afgelopen weekend ben ik naar Prometheus geweest, de film van Ridley Scott. Daarin vliegt een groep mensen in een ruimteschip naar een verre planeet, waar ze op zoek gaan naar het begin van de mensheid. Eén van de opvallende zaken, en dat heeft Prometheus gemeen met andere science-fiction films als Star Trek of Star Wars, is de ruimte in het schip: de bemanning loopt rechtop in ruime gangen, we zien diverse grote kamers, en de brug is enorm.

Hoe anders is ruimtevaart als je naar de landing van André Kuipers kijkt, ook dit weekend. Tijdens het verslag van de landing (voor het eerst live) krijgen we ook een rondleiding door het schip en de landingscapsule. Het is klein, alle wanden en plekjes worden gebruikt. Zelfs zonder ruimtepak moet je met een schoenlepel de landingscapsule ingelepeld worden. Wat een verschil.

En er is nog een verschil: de technologie waar Kuipers het mee moet doen, werkt. Het Prometheus schip… werkt niet, het is vaporware. We kunnen het wel bedenken. We kunnen het zelfs helemaal door-denken – zo was er bij Star Trek een wetenschappelijke staf die het schip zo realistisch mogelijk hield (de Enterprise heeft dus ook alleen maar kleine ramen, en niet van die joekels als de Prometheus). Maar het is alleen maar een ontwerp, en of het daadwerkelijk (ooit) realiseerbaar blijkt, of het gaat vliegen, weten we pas als we het gaan proberen. De landingscapsule van Kuipers is waarschijnlijk niet voor niets zo klein.

Bij app-ontwikkeling (en bij software-ontwikkeling in het algemeen) zie je dezelfde tweedeling: enerzijds heb je lange "waterval"trajecten, waarbij in het begin via uitgebreide eisenverkenning en big-design-upfront een Prometheus wordt gespect. Anderzijds kun je ook via agile-methoden snel iets simpels, maar werkends, opleveren – een Russische landingscapsule, bijvoorbeeld. Bij vlagen niet uitermate prettig voor de gebruikers, maar wel functioneel. En belangrijkste doel gehaald, ze komen levend op aarde terug.

Het vervelende aan de watervalaanpak is dat de ideeën niet tijdig getoets worden. Het klinkt allemaal fantastisch – ik neem aan dat Kuipers ook liever in de Prometheus geland was – maar in de praktijk gaat het niet werken. Door te lang te specificeren, bedenken we een zandkasteel op drijfzand. Vervolgens blijkt tijdens het bouwen dat allerlei details roet in het water gooien: het is helemaal niet maakbaar, op allerlei onverwachte momenten loopt het spaak. Bedenk je wel, we ontwikkelen pas zo'n 50 jaar software. Zelfs in de bouwkunde – al meerdere millennia bezig – scheuren nog steeds regelmatig parkeergaragedekken, trillen Rijkswaterstaatgebouwen onverklaarbaar, of vallen balkons van appartementen naar beneden. De enige toets die echt werkt, is de software daadwerkelijk maken.

De software daadwerkelijk maken helpt ook met een ander probleem: het I-Know-It-When-I-See-It syndroom. Hoe uitgebreid de eisen ook verkend zijn, bij de oplevering van werkende software ziet de eisensteller pas of het goed is, en meestal mag het dan toch anders. Of de makers hebben de eisen niet goed geïnterpreteerd, of de steller leert dat hij heeft gevraagd wat hij wilde hebben, en niet wat hij nodig heeft.

Doe mij dus nog maar even app-ontwikkeling op de Kuipers-manier, dan krijgen we in ieder geval iets dat werkt.

Dit artikel delen?

Ben je opzoek naar meer?

Bekijk hier een selectie van onze ebooks.

Digital Business met Microservices

Download nu

Van traditionele organisaties naar digitale winnaars

Download nu

Stappenplan voor digitaal succes

Download nu