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. 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. 



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 mogelijk interacties, hoe hoger de complexiteit.

Hoe herken je complexiteit?
Een van de eerste associaties met complexiteit is “moeilijk”.   Moeilijk betekent dat er veel inspanning nodig is. Veel inspanning om het systeem te begrijpen, te beschrijven, te gebruiken, te realiseren, te onderhouden  of  te veranderen. Met een hoge inspanning, zijn hoge kosten gemoeid.

Waarom wordt complexiteit onderschat?
Complexiteit wordt onderschat omdat de nadelig 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 een eenvoudig en levert direct nog wat op ook! De kosten lijken in eerste instantie ook te overzien, analoog aan het volgende verhaal:

In het bos ligt een prachtige vijver met waterlelies. lelie verdubbelt iedere dag in omvang. Als we niets doen dan zal na 30 dagen de waterlelie de gehele vijver bedekken en alle het andere leven verstikken.  Om dit te voorkomen wordt besloten om de lelie te snoeien wanneer de lelie de vijver voor de helft bedekt.  Op welke dag zal dat optreden? Precies één dag voor het te laat is!

Complexiteit en systeemkwaliteiten
Complexiteit kent geen positieve kanten. Complexiteit heeft een negatieve invloed op alle andere kwaliteiten van een systeem zoals begrijpelijkheid, wijzigbaarheid,  onderhoudbaarheid, herstelbaarheid, beschikbaarheid, beveiliging, robuustheid, integriteit etc. We zullen laten zien dat voor beschikbaarheid en volwassenheid dit wiskundig aantoonbaar is.

Complexiteit en beschikbaarheid
Voor beschikbaarheid is deze relatie zelfs wiskundig aantoonbaar.  Wanneer we naar de definitie kijken van complexiteit, dan is het duidelijk dat een complex systeem bestaat uit een groot aantal componenten.    In onderstaand voorbeeld bestaat het systeem uit vier componenten: A én B én C én D. Al deze componenten moeten beschikbaar zijn om de functie van het systeem te vervullen. Dit betekent dat de beschikbaarheid van de componenten met elkaar moet worden vermenigvuldigd.




 

 

 


Beschikbaarheid keten = 99.5% * 99.5% * 99.5% * 99.5% = 98%

Een systeem dat bestaat uit 4 componenten met een beschikbaarheid van 99.5%, heeft dus een beschikbaarheid van 98%.  Bij 10 componenten is dit zelfs afgenomen tot 95%.

Hoe meer componenten, hoe lager de beschikbaarheid van het systeem! 


 Complexiteit en volwassenheid
De volwassenheid van een systeem wordt uitgedrukt in de frequentie van het optreden van fouten. In onderstaand voorbeeld bestaat het systeem uit vier componenten: De kans dat er in het systeem een fout ontstaat, is de kans dat in A óf B óf C óf D een fout optreedt. De foutkansen moeten dus bij elkaar worden opgeteld.


Bij een Mean Time Between Failure (MTBF) van 720 uur (eens per maand), is de fout frequentie van een systeem van 4 componenten 180 uur. 

Een MBTF van 180 uur betekent dat je frequentie is toegenomen tot 1x per week! De rechts toont de MTBF als een functie van het aantal componenten bij een MTBF van 720 uur per component.

Wat kun je er aan doen?
Omdat complexiteit samenhangt met het aantal componenten en het aantal inter-acterende componenten in een systeem, kun je complexiteitsreductie bereiken door het aantal interacties en/of componenten te verminderen. Elke component die we uit de keten halen, verlaagt de complexiteit van het systeem!   Maximale complexiteitsreductie is bereikt wanneer het aantal componenten is gereduceerd tot 1.

Autonome systemen

Een dergelijk systeem noemen wij dan een autonoom systeem. Een autonoom systeem is een systeem dat zelfstandig, zonder afhankelijk te zijn van andere systemen, waarde toevoegt.

Hoe doe je dat dan?

Roger Sessions ontwikkelde hiervoor een methode: de Simple Interative Partitions (SIP) specifiek gericht op de beheersing van complexiteit. Deze methode is gebaseerd op de wiskundige verzamelingenleer en equivalentie relaties.  Door op enterprise architectuur niveau de functies te groepen op basis van synergie, ontstaan er verzamelingen van onafhankelijke functies. De inverse relatie van synergie is autonomie: precies de eigenschap die we zoeken! Business functies die niet synergetisch zijn, zijn autonoom.  De verzamelingen van synergetische business functies noemen we Autonome Business Capabilities (ABC). Deze Autonome Business Capabilities vormen de sleutel waarmee de complexiteit van het IT landschap beheerst kan worden.


Hoe goed werkt dit partitioneren?
Hoe goed werkt SIP in het beheersen van de complexiteit?  We kunnen dit het beste illustreren aan de hand van een model van een systeem bestaande uit 12 dobbelstenen. Ieder dobbelsteen heeft 6 mogelijke toestanden: Dit systeem heeft 6^12 = 2 miljard verschillende toestanden. Wanneer we dit systeem verdelen in 2 partities dan houden we nog 2*6^6 = 93312 toestanden over. Een reductie van 99.996%!

In werkelijkheid zullen er afhankelijkheden bestaan tussen de partities die de complexiteit verhogen, maar de opbrengst van het partitioneren is zo hoog dat je het niet kunt negeren!

 Wie is Roger Sessions?

Roger Sessions is een erkend expert in enterprise architectuur. Hij is lid van de raad van bestuur van de International Association of Software Architects (IASA), is Editor-in-Chief van IASA Perspectives Journal, en is een Microsoft Most Valued Professional in enterprise architectuur. Hij schreef zes boeken, inclusief software Fortresses: Modeling Enterprise Architectures, en vele artikelen. Hij is een keynote spreker over het onderwerp van enterprise architectuur voor tientallen evenementen in meer dan 30 landen. Hij is de Chief Technology Officer van ObjectWatch.

Duur
De workshop duurt 2 dagenvan 9:00  tot 17:00.

Outline
Workshop - Simple Architectures for Complex Enterprises

Data

Maandag en dinsdag 26 & 27 April


Locatie
Grand Kasteel Woerden, Woerden, Nederland


Inschrijven

Schrijf je snel in!



Sign in  |  Recent Site Activity  |  Terms  |  Report Abuse  |  Print page  |  Powered by Google Sites