Development

Software-ontwikkeling
mystic

Wijze woorden uit Wales

IT-projecten vallen op zijn best in de categorie complex of chaotisch

26 april 2017

Als je een heel simpele taak moet uitvoeren, dan kun je anders te werk gaan dan wanneer het om iets heel complex gaat. Dat geldt voor taken als managen, ontwerpen, realiseren, testen en toetsen. Een hondenhok kan al improviserend tot stand komen maar voor een boorplatform is dat onbestaanbaar.

Gek genoeg zie je vaker dan eens bij IT-intensieve systemen dat er een bepaalde eenheidsworst uit de kast wordt getrokken die ongeacht de mate van complexiteit toegepast wordt. Bijvoorbeeld bij projecten waar veel geld en tijd mee gemoeid zijn, toch geen functiepunten tellen en bijhouden. Of bij veiligheidskritische systemen de documentatie onvoldoende bijhouden, want we werken agile, en dan hoeft dat niet volgens het manifesto.

Uiteraard gaat het om bad practices als de systemen groot worden of life-critical. Niemand wil graag al improviserend door een amateur geopereerd worden aan de hersenen, toch doen we het massaal als het om IT gaat. Tenslotte is de hogere legerleiding om te beginnen niet ontvankelijk voor kritische geluiden vanuit de organisatie of van buiten, en totaal verbaasd als hun project alsnog zware averij oploopt, terwijl we toch zo goed bezig waren.

Dat deze mismatch tussen de mate van complexiteit en de daarbij behorende handelswijze niet van gisteren is, bewijst een mooi artikel in de Harvard Business Review van het IBM Cynefin Centre for Organisational Complexity. De auteurs Snowden en Boone leggen geduldig uit dat er vier soorten complexiteit zijn, simpel, gecompliceerd, complex en chaotisch. En dan is er ook nog de wanorde voor het geval je niet kunt bepalen welke van de vier het is.

Het raamwerk dat ze hebben ontwikkeld heet Cynefin, een Welsh woord (Snowden komt uit Wales) vergelijkbaar met Heimat in het Duits. Cynefin is erop gericht om gegeven de complexiteit de juiste aanpak te kiezen, en dus niet de eenheidsworst tevoorschijn te halen. In HBR wordt het framework toegepast op leiderschapsstijlen, maar daartoe is het niet beperkt. IBM gebruikte het voor ontwikkeling en marktverkenning, branding en meer. Daarbuiten ook vele toepassing van risico's in de voedselketen tot agile development.

Als je bijvoorbeeld naar softwareprojecten kijkt en je afvraagt in welke categorie deze vallen, dan kom je in het beste geval uit op complex of chaotisch, en dat zijn de twee ongeordende smaken van het raamwerk. In het slechtste geval is het wanordelijk, bijvoorbeeld omdat deadlines helemaal niets blijken te betekenen, of omdat er ineens geld af moet; ook een gebrek aan vertrouwen wordt genoemd in een onderzoek naar agile en Cynefin.

De kortste karakterisering van complex is dat er onbekenden zijn, maar welke dat zijn is onbekend: de unknown unknowns. Dat is bij substantiële IT-intensieve projecten het geval. Bij complexe systemen moet je sonderen om te kijken wat er gebeurt zodat je daarmee iets te weten komt en dan verder kunt opereren (probe-sense-respond). Bij chaotische systemen is het verstandig om gewoon maar iets te gaan doen en het beste ervan te hopen (act-sense-respond). Bij zeer slechte legacy systemen is dat de manier van doen.

Het aardige van het Cynefin-framework is dat je er beter door leert met welke complexiteit je van doen hebt, en welke handelingsperspectief je dan nodig hebt. Het artikel van Snowden en Boone is een aanrader voor iedereen die met serieuze IT-systemen te maken heeft in welke hoedanigheid dan ook.

Meer weten:

David J. Snowden and Mary E. Boone, A Leader’s Framework for Decision Making, Harvard Business Review, november 2007.

Joseph Pelrine, On Understanding Software Agility - A Social Complexity Point Of View, Emergence: Complexity & Organization. 13(1/2):26-37, 2011.

Reactie toevoegen