Artikel

Eenvoud in Architectuur - Deel 1: Inleiding

De complexiteit van IT oplossingen is één van de belangrijkste redenen voor het falen van veel IT systemen en projecten. In een serie van artikelen besteden we aandacht aan denkwijzen, methoden en technieken die complexiteit reduceren en eenvoud terugbrengen in IT-omgevingen.

Wat is complexiteit?

In de systeemtheorie wordt met complexiteit een eigenschap van een systeem bedoeld die niet is af te leiden uit elk van de afzonderlijke componenten, maar alleen uit het systeem als geheel. Er zijn tientallen definities van complexiteit, maar je kunt ervan uitgaan dat er sprake is van complexiteit als er veel afzonderlijke componenten zijn in een systeem die allerlei vormen van interactie met elkaar hebben. Complexiteit hangt samen met het totaal aantal componenten. Hoe meer componenten, hoe meer mogelijke interacties, hoe hoger de complexiteit. Elk systeem heeft een zeker minimum aan complexiteit dat nodig is om de functie en eigenschappen te realiseren.

Waarom is complexiteit een probleem?

Complexiteit in de IT is een probleem omdat de kosten voor het beheer en onderhoud gelijke tred houden met de complexiteit van het landschap. Echter het grote probleem is dat complexiteit een exponentiële groei volgt! Exponentiële functies hebben de neiging “opeens” te exploderen, terwijl in de aanloop naar dit punt er relatief weinig aan de hand lijkt te zijn. Omdat we de complexiteit niet meer onder controle kunnen brengen, blijven de kosten exponentieel oplopen tot het moment dat het systeem onder zijn eigen gewicht in elkaar zakt.

Waarom laten we dit gebeuren?

Omdat de complexiteit van het systeem uiteindelijk ook ons mentaal vermogen overstijgt, kunnen we niet meer bedenken hoe we terug moeten naar een eenvoudig systeem. En dus blijven we er maar tijd en geld instoppen in de hoop dat het allemaal blijft draaien. Helaas worden de opbrengsten van onze inspanningen steeds minder. Dit fenomeen wordt ook beschreven in het artikel “Watching the income tax system implode” van Thomas Frey.

Waarom wordt complexiteit onderschat?

Complexiteit wordt onderschat omdat de nadelige effecten niet direct zichtbaar zijn en er vaak door het uitbreiden van een systeem iets van waarde wordt toegevoegd. Het vergroten van de complexiteit gaat snel en eenvoudig en levert direct nog wat op ook! De kosten lijken in eerste instantie ook te overzien, maar de kosten lopen op termijn toch exponentieel op.

Wat zijn de positieve kanten van complexiteit?

Helaas kent complexiteit geen positieve kanten. Complexiteit heeft een negatieve invloed op alle andere kwaliteiten van een systeem zoals kosten, begrijpelijkheid, wijzigbaarheid, onderhoudbaarheid, herstelbaarheid, beschikbaarheid, beveiliging, robuustheid, integriteit etc.

De taak voor de architect

De taak voor een architect is dan ook om de complexiteit te beheersen en eenvoud na te streven: Hij dient altijd voor de minst complexe architectuur te kiezen. Waarom? Beheers de complexiteit en alle andere eigenschappen van het systeem zullen daar van profiteren. Een eenvoudig systeem is beter te begrijpen, goedkoper aan te passen, beter op te schalen, eenvoudiger te vervangen, eenvoudiger uit te besteden en eenvoudiger te beveiligen.

Vooruitzicht

In een serie van artikelen besteden wij aandacht aan eenvoud. Hoe organiseer je systemen zodanig dat je complexiteit beheerst? Hoe organiseer je projecten zodat je eenvoudig bereikt wat je nodig hebt? Welke technieken, hypes en buzzwords introduceren sluipenderwijs complexiteit? Wat kunnen wij leren van technologische ontwikkelingen? Welke technieken kun je toepassen om je oplossingen eenvoudiger te maken? Deze vragen vormen het onderwerp van de komende artikelen in deze serie.

Categorie:   
Auteur(s)
afbeelding van viktorgrgic
Viktor Grgic
LeanArch b.v. - Eigenaar

Viktor Grgic is een zelfstandige Agile/Lean IT architect die in zijn werk als software architect Agile principes hanteert. Viktor heeft in zijn loopbaan als architect vele software projecten geleid. Onder andere leiding gegeven aan architectuurteam van Nieuw Handelsregister bij Kamer van Koophandel, lead SOA / integratie architectrol vervult bij ProRail en vele architecten gecoacht in hun werk. Viktor's werk kenmerkt zich door sterke focus op de mensen, eenvoud in alles, risico's onderkennen en realisme in wat met software mogelijk is. Viktor's expertise is met name service-orientatie / SOA, EAI, domein modellering, ontwikkelstraten, ontwikkelmethodieken en systeemontwikkeling van met name JEE systemen.

afbeelding van markvanholsteijn
Mark van Holsteijn
Xebia - senior consultant

Mark van Holsteijn is senior consultant bij Xebia.

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.
Indien het niet lukt om een reactie te plaatsen, stuur dan uw reactie naar redactie@xr-magazine.nl.
Alle inzendingen dienen correct, professioneel en beschaafd te zijn. IP-adressen worden gelogd, maar niet gepubliceerd. De redactie van XR Magazine behoudt zich het recht voor om anonieme reacties (niet op naam) of zonder geldig e-mailadres, te verwijderen zonder kennisgeving. Ook reacties waarin commerciële uitingen worden gedaan en/of commerciële producten en diensten worden aangeboden worden door de redactie verwijderd of ontdaan van commerciële uitingen zonder kennisgeving.