Solventa boekenblog #4: Complex enterprise architecture
Ieder jaar organiseert Solventa het ‘boekenbal’. We lezen dan in kleine groepen een boek en delen de ervaringen met collega’s. Graag delen we onze bevindingen in de blogserie ‘Solventa boekenblog’. Het vierde boek dat we bespreken is ‘Complex enterprise architecture’ van John McDowell. Waar gaat het over? Wat vinden we ervan? Wat kunnen we ermee? Job Neuteboom en Rob Stovers bespreken het.
Waar gaat het over
Schrijver John McDowall, een oud militair, liep tegen de beperkingen aan van bij de Amerikaanse overheid en defensie gebruikte architectuurmethoden. De gebruikte methoden, zoals TOGAF, zijn veelal een verdere uitwerkingen van het Zachman framework en het POSIX model. Dit soort methoden zijn erg theoretisch en leiden vaak tot ‘een lading artifacten’ in een repository van de architect. Bovendien passen de methoden niet meer bij de toegenomen complexiteit van organisatie en systemen en de veranderde manier van het realiseren van systemen. Dat is veranderd van ‘build-it-and-field-it’ naar ‘continuous development’.
Terug naar de essentie
Hoe moet het dan wel? John McDowall wil terug naar de essentie van enterprisearchitectuur. Niet allerlei diagrammen tekenen voor informatiesystemen, maar het bereiken van de bedrijfsdoelen is de essentie. En om dat te bereiken helpt het tekenen van diagrammen en dergelijke niet, je moet het opkomend gedrag [‘emergent behaviour’] in de organisatie snappen, monitoren en bijsturen. Indien gedrag niet bijdraagt aan de bedrijfsdoelen, of deze zelfs tegengaat, moet er worden bijgestuurd.
De auteur werkt deze essentie uit aan de hand van voorbeelden van zogenaamd emergent behaviour. Voorbeelden zijn een mierenkolonie en een zwerm vogels. Waarbij elk individu een eigen taak en een eigen doel heeft, maar ook bijdraagt aan de gemeenschappelijke doelstelling, schijnbaar zonder centrale sturing.
Vervolgens wordt het sugarscape model besproken, een door software ondersteunde onderzoeksmethode waarbij actorseigenschappen toebedeeld krijgen. Deze actors veranderen dan soms hun gedrag door de eigenschappen. Op basis daarvan stelt McDowell dat een adaptief systeem [adaptive system] een verzameling onafhankelijke entiteiten (de actors) is die gedrag vertonen volgens hun eigen regels en interesses, maar als geheel op een gecoördineerde groep lijken, alsof ze centraal aangestuurd zijn.
Complex adaptive systems
Die filosofie wordt vertaald naar een organisatie waarin medewerkers de onafhankelijke entiteiten zijn met hun eigen waarden, normen en motivaties, maar ook als geheel de organisatie vormen met overkoepelende (bedrijfs)doelen. Dit wordt betiteld als een Complex Adaptive System. De taak van de architect is in de ogen van de auteur niet om zo’n adaptive system in detail te begrijpen en te beschrijven. Wel om er zodanig grip op te hebben dat het vertoonde gedrag kan worden bijgestuurd. En wel zodanig dat er een maximale bijdrage aan de doelen ontstaat.
Om de acties van de emergent behaviours binnen een Complex Adaptive System als een organisatie te monitoren en te verifiëren heb je een geautomatiseerd proces nodig. Het boek wijdt daarvoor uit in het modelleren van de organisatie. Een belangrijke eigenschap van een model is dat het gebruik maakt van formele, mathematisch precieze methoden. Pas dan zijn geautomatiseerde analyses mogelijk. Denk aan modelleertalen als UML, SysML, OWL en BPMN. Hiermee kunnen de bouwblokken van de enterprisearchitectuur worden gemodelleerd: doelen (enterprise én architectuur doelen), strategieën, actoren, data, processen, systemen, gedrag, omgeving en standaarden.
Eenmaal gemodelleerd, kan data vanuit monitoringtools worden ingelezen om het gedrag te monitoren. En zo te zien welk gedrag bijdraagt aan de bedrijfsdoelen en welk niet, om vervolgens waar nodig bij te sturen. De data die hiervoor nodig zijn, zijn vaak al beschikbaar vanuit cybersecurity tools. Maar ze worden zelden ingezet voor het in beeld brengen van het gedrag van medewerkers en organisaties. De auteur beschouwt dat als een gemiste kans en een mogelijkheid om op een andere manier naar enterprisearchitectuur te kijken.
Wat vinden we ervan
Interessante uitgangspunten, beperkte uitwerking
Qua structuur heeft het boek een duidelijke opbouw. Vanuit een probleemstelling en gerelateerde oorzaak wordt systematisch uitgelegd wat het antwoord op dit probleem is (volgens de schrijver). Wat de inhoud betreft hinken we op twee gedachten. Enerzijds zien we een aantal zeer interessante uitgangspunten voor het werk van de enterprise architect:
- Architectuur moet bijdrage aan de bedrijfsdoelen;
- Het gaat niet om het in detail snappen van de organisatie en systemen, maar om het gericht bijsturen op gedrag;
- Niet alles is voorspelbaar, stuurbaar en maakbaar.
Anderzijds ervaren we een heel beperkt beeld van de rol van de enterprise architect die wel heel erg (informatie)systeem afhankelijk wordt neergezet. Daarnaast vinden we de onderbouwing van dat een organisatie zich gedraagt als een ‘complex adaptive system’ erg mager. Er is nauwelijks verwijzing naar wetenschappelijk onderzoek dat dit beeld ondersteunt.
We geven de schrijver gelijk dat veel architectuurproducten in een lade van het bureau terecht komt en/of dat het vanuit een ivoren toren beredeneerd is. De enterprise architect moet de bedrijfsdoelen altijd voor ogen hebben. Diagrammen van IST en SOLL zijn vaak statisch en geven gewenste situaties weer. Maar in hoeverre wordt zelfs een (gemodelleerde) IST situatie in de werkelijkheid gevolgd? Medewerkers hebben lang niet altijd het bedrijfsbelang op de eerste plaats staan, en maken het zichzelf vaak gemakkelijk.
Gedrag is meer dan systeemlogs
Door het gebruik van een systeem te monitoren en daarin patronen te herkennen, kan het beeld dat een architect schetst, worden verrijkt. Op die manier kan de impact op een systeem veel beter in kaart worden gebracht. Maar door alleen systeemlogs in de (gedrags)analyse mee te nemen, wordt wel een eenzijdig beeld geschetst. Misschien genoeg voor een informatie architect, maar de schrijver heeft het expliciet over de rol en werkzaamheden van een enterprise architect.
Over deze rol gesproken, de schrijver is van mening dat deze rol voornamelijk het maken van modellen (geen diagrammen) is en het sturen op het gedrag van de medewerkers naar de doelen van het bedrijf. Daar hebben wij een andere mening over, in zo verre dat de enterprise architect ook invloed heeft op het formuleren van de doelen (en de andere zingeving elementen als missie, visie en strategie). En het gedrag van medewerkers rijkt verder dan in het gebruik van informatie systemen waarneembaar is. Bij uitstek een gebied waar de enterprise architect veel van zijn/haar werk doet.
Kortom: we zien gezonde uitgangspunten en inspirerende ideeën voor een andere aanpak van enterprisearchitectuur, maar een matige doorvertaling naar de methodische kant. Enterprisearchitectuur wordt naar onze mening te veel neergezet als een (vrijwel te automatiseren) regelkring van gedrag meten en bijsturen. Wij denken dat daar meer voor nodig is dan het analyseren van logbestanden, gedrag is veel complexer.
Wat kunnen we ermee
Dit boek benadrukt (tot vervelens toe) dat architectuur alleen draait om het leveren van een bijdrage om de bedrijfsdoelen te halen. Daar staan we in de dagelijkse praktijk wel eens te weinig bij stil, we verzanden soms in details die voor dit doel niet relevant zijn. Goed dat de auteur ons daarop wijst.
Verder zijn er zeker interessante aspecten die in de architectuurpraktijk bruikbaar zijn. Zo leven we in een tijdperk waarin veel data wordt vergaard, gecombineerd, gecategoriseerd en geanalyseerd. Daar kan inzicht en kennis worden vergaard die ook voor het vakgebied enterprisearchitectuur relevant is. Vaak moeten cijfers over bijvoorbeeld gebruiksvolumes apart bepaald worden, terwijl deze gegevens continu door de systemen vloeit. Dit kan een zeer waardevolle bron van informatie zijn voor de enterprise architect binnen het totale palet van zijn/haar werkzaamheden. Waarbij landschapsplaten een extra dimensie kunnen krijgen en afwijkend gedrag kan worden gespot.
Een mooi idee om verder over te filosoferen…