Dev Intersection 2015 – dag 2 van Edwin

Na een geslaagde eerste workshop dag op Dev Intersection 2015, stond voor mij de tweede workshop in het teken van software architectuur. De workshop had de titel: The Zen Of Architecture en werd verzorgd door Juval Lowy van iDesign, een autoriteit op het gebied van software architectuur.

Juval zette de boel direct op scherp door te beginnen met mede te delen dat “alle software architecten kwakzalvers zijn die slechte systemen ontwerpen”. Dit komt vooral – zo stelt hij – omdat alle architecten geleerd hebben om systemen op te delen op basis van functionele decompositie. Dit is EVIL wat hem betreft. Maar gelukkig waren wij de “chosen few” die de rest van de dag door hem geholpen zouden gaan worden om vanaf nu alleen nog maar awesome systemen te ontwerpen met zijn “waterdichte methode”.

Deze methode stelt dat je slechts 4 woorden nodig hebt om een goede architectuur te ontwerpen: Decompose Based On Volatility. Dat betekent kort samengevat dat je zaken die aan verandering onderhevig zijn encapsuleert in aparte services. Aan de hand van een aantal voorbeelden heeft hij gedurende de rest van de dag uitgelegd hoe de methode werkt en hoe een systeem er dan uit komt te zien. Het gaat te ver om hier in deze blog-post dieper op in te gaan, maar in deze web-cast van Juval wordt dit in detail uitgelegd.

Juval gaf aan dat 1 workshop uiteraard niet voldoende is om de methode volledig te snappen en toe te kunnen passen. Zijn tip was dan ook om te gaan oefenen door bestaande systemen die je zelf eerder hebt ontworpen opnieuw vorm te geven op basis van zijn methode (op papier uiteraard). Zijn belofte was dat zodra het kwartje valt en je de methode snapt, je nooit meer terug wil en niet meer begrijpt waarom je ooit op de “oude” manier systemen hebt kunnen ontwerpen.

Een belangrijke toevoeging was overigens de voorspelling van Juval dat collega’s die nog niet bekend zijn met de methode zullen reageren alsof je gek bent als je ze over de methode vertelt. Hij illustreerde dit met een verhaal over een arts in het Wenen van de 19e eeuw. Deze arts had het vermoeden dat het grote aantal sterfgevallen in die tijd te maken kon hebben met het feit dat artsen in die tijd hun instrumenten en handen niet wasten na het behandelen van een patiënt. Hij stelde een regel voor die afdwingt dat artsen na elke behandeling hun handen moesten wassen. Hij werd vervolgens als gek behandeld door zijn collega’s en als arts in een sanatorium aangesteld. Daar voerde hij toch zijn regel door en wist het sterftecijfer naar bijna 0 te reduceren. Pas later zou zijn theorie breed geaccepteerd worden en de algehele hygiëne in de medische wetenschap beter worden. Je merkt dat Juval alles in de strijd gooit om zijn methode kracht bij te zetten. Verder verklaarde hij ook nog even de reactie van de collega’s met het Dunning-Kruger effect.

Het was al met al een zeer intensieve en leerzame workshop die mij in ieder geval een aantal nieuwe inzichten heeft gegeven m.b.t. software architectuur. Of ik de volgende keer dat iemand me niet begrijpt het Dunning-Kruger effect erbij pak, valt nog te bezien.