Development

Software-ontwikkeling
The leprechauns of software-engineering

Mythes zijn als onkruid

De kritiek op agile zwelt aan omdat iedereen elkaar napraat en ook ook gepruts tot good practice wordt verheven.

31 augustus 2017

In de software-engineering komen we mythes tegen die door de jaren heen voor velen feiten zijn geworden. Een mooi boek daarover is The leprechauns of software-engineering, naar de Ierse kabouterfolkore, door Laurent Bossavit.

Of neem agile. Agile is geen methode maar een beweging, iedereen geeft er zijn eigen interpretatie aan, waarmee ook gepruts tot good practice wordt verheven. Gevaarlijk voor het welslagen van grote projecten, doordat iedereen elkaar napraat. De kritiek begint dan ook te komen. Zo laat Steve McConnell met zijn agile keukenvoorbeeld zien dat klanten van tevoren willen weten wat ze krijgen, wat dat kost en hoe lang het duurt. Met storypoints kom je er dan niet, dat is nagenoeg random data. Een karakterisering die dan ook op internet rondwaart is treffend: ‘Welcome to agile where the stories are made up and the points don't matter.’

Mythes zijn niet voorbehouden aan software-engineering. Een willekeurig ander thema is biodynamics, een idee van Rudolf Steiner en te gelde gemaakt door de familie Thun. Er is een site zaaikalender.com en een app te koop. Pakken we even hun zaaikalender van 36 jaar geleden erbij: ‘Samengesteld door en gebaseerd op het onderzoek van…’ prijkt op het voorblad. Die zaaikalender blijkt de Enkhuizer Almanak van de antroposofie: "Uit statistisch onderzoek is komen vast te staan, dat er bepaalde dagen zijn, waarop extra veel verkeersongelukken plaatsvinden. Dit blijken dagen te zijn waarop planeten 72 graden van elkaar af staan, de kwantielen. Ook in de landbouw komen dan meer ongelukken met machines en dieren voor. Als men hier dieper op ingaat, kan men constateren, dat de mens iets meer naar binnen is gekeerd, een iets verlaagd bewustzijn heeft naar buiten en niet ‘wakker’ genoeg reageert.” De waarschuwing om uit te kijken in het verkeer op zulke dagen berust hierop. Zoek de drogredenen!

Een hele adviesindustrie rond software-engineering houdt mythes in stand, bij de gratie van hun gretige gebruikers.

In de software-engineering tref je gelijksoortige tenenkrommende redeneerlijnen aan. Vergaderruimtes vol ignorami die op basis van gezwatel besluiten nemen, aanpakken valideren en met de beste bedoelingen (belasting)geld verbranden en zonder het te beseffen als lemmingen naar de afgrond gaan.

De oplossing is in principe eenvoudig, maar in de praktijk moeilijk: de data laten spreken. Hypotheses vinden en toetsen. De wetenschap – waarmee mythes schermen – daadwerkelijk toepassen. Bijvoorbeeld: is er daadwerkelijk een correlatie tussen het aantal ongelukken en dagen van het jaar? In de VS wilde een autoverzekeraar dit weten: voorkomen is goedkoper dan genezen! De verzekeraar liet dat uitzoeken aan de hand van vier miljoen records in het Fatality Analysis Reporting System tussen 1990-2010 (de data!). Men beperkte zich tot botsingen met voetgangers tussen 0-18 jaar. In de VS blijkt Halloween dan de dodelijkste dag, die valt op 31 oktober. Niks kwantielen van de planeten, zijn ze nu helemaal besodemieterd.

Dit soort onzin in de software-engineering bestaat ook al decennia en wordt levend gehouden door napapagaaiende kritieklozen. Er is zelfs een hele adviesindustrie omheen gebouwd. Die houdt mythes in stand, bij de gratie van hun gretige gebruikers. Onkruid vergaat niet, en nu snappen we waarom.

Reactie toevoegen
4
Reacties
Anoniem 04 september 2017 12:23

Beste Chris.
Ik snap dit even niet . En nu? Alle methoden maar afschaffen, omdat ze verwateren of worden misbruikt? Wat levert jouw frustratie ons nu op, wat moeten we doen?
Nu weer Agile afschieten, omdat er mensen zijn die het misbruiken. Dus terug naar de illusie van dichtgetimmerde specificaties, met voorspelbare en foutvrije eindresultaten ? Of de mythe van "beheer", Systemen die bij oplevering zo veilig zijn dat je ze je nooit meer hoeft te veranderen?
Graag jouw panacee voor software engineering, ik ben benieuwd.

Anoniem 02 september 2017 12:16

Mee eens. Maar Chris praat waarschijnlijk tegen de muur. Toverwoorden doen het al jaren beter dan gezond verstand. Oorzaak is vaak dat men direct resultaat wilt zien en een eenvoudige actie is reactie verhaal spreekt meer aan. Simpele plaatjes en simpele modellen horen daarbij en hebben dan de overtuigingskracht van het bewijs van het eigen gelijk. Wil je echt weten hoe het in elkaar zit dan moet je de diepte in en dan wordt het moeilijk. Dan toch maar de simpele plaatjes waarin men elkaar napraat ten behoeven van het bewijs.
Jan

Anoniem 01 september 2017 16:46

Precies hierover is een interessant boek gepubliceerd, "Making Software", zie http://shop.oreilly.com/product/9780596808303.do.

"Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you."

Een aanbeveling!

Anoniem 01 september 2017 15:53

"In de software-engineering tref je gelijksoortige tenenkrommende redeneerlijnen aan. Vergaderruimtes vol ignorami die op basis van gezwatel besluiten nemen, aanpakken valideren en met de beste bedoelingen (belasting)geld verbranden en zonder het te beseffen als lemmingen naar de afgrond gaan." Jouw artikel onderbouwt deze uitspraak op geen enkele manier. Je noemt geen overtuigende voorbeelden. Feitelijk werk je nu op dezelfde wijze als de zaaikalender. Sorry maar zo'n oppervlakkig artikel helpt mij niet verder.