Warum Komplexität entsteht, obwohl sie keiner möchte

Das Thema “Überfrachtung” und “Komplexität” hat mich immer schon beschäftigt und taucht in vielen meiner Blogs auf. In diesem Blog möchte ich der Natur von Komplexität in Systemen auf den Grund gehen und vor allem warum Komplexität entsteht. 

Doch zunächst möchte ich zwei Arten von Komplexität von einander abgrenzen:

  • Manches ist von Natur aus komplex. Darunter fallen insbesondere biologische und soziale Systeme. Diese bestehen aus einer großen Zahl von Einzelkomponenten, die sich gegenseitig beeinflussen. Wir können uns darüber wundern, darüber ärgern oder alle unsere Energie darauf verwenden, diese System bis ins kleinste Detail zu analysieren – es wird nichts daran ändern, dass wir weder bestehende Entwicklungen zu 100% verstehen noch zukünftige Entwicklungen voraussagen können. In diesem Fall ist der einzig vernünftige Ansatz diese Komplexität zu akzeptieren
  • Weniger nachvollziehbar ist aber, warum auch von Menschen geschaffene Systeme einen Hang zu hoher Komplexität haben und diese Komplexität ständig steigt. Damit meine ich z.B. Rechtssysteme, politische Entscheidungsstrukturen oder auch IT-Systeme. Diese Systeme sind am Anfang einfach und klar strukturiert. Über die Jahre entwickeln sie sich aber zu regelrechten Ungeheuern. Es wird unmöglich den Gesamtüberblick zu bewahren und niemand traut sich an der bestehenden Substanz etwas zu verändern (“Never change a running system”).

Das Spannende daran: Genau diese zuletzt genannte Problematik, ist die Hauptursache für steigende Komplexität. Man könnte also plakativ sagen: Je mehr Komplexität in einem System bereits da ist, desto mehr zusätzliche Komplexität entsteht im Laufe der Zeit. Was meine ich genau damit?

Einen interessanten Einblick liefert eine wissenschaftliche Versuchsreihe von Leidy Klotz, die Kandidaten mit der Aufgabe konfrontieren, ein bestehendes Bauwerk aus Legosteinen zu stabilisieren, damit die Legofigur (“Figurine”) nicht zu Schaden kommt (siehe Bild unten).

Was würden Sie tun?

Der offensichtlichste Ansatz ist, das Dach, das nur von einem grünen Legostein in der zweit obersten Reihe gestützt ist, mit weiteren Legosteinen zu stabilisieren. Die wenigsten (und ich persönlich auch nicht) denken daran, den einen grünen Legostein in der zweit obersten Reihe einfach zu eliminieren. Das Eliminieren würde zu maximaler Stabilität führen, weil das Dach vollständig von der Reihe darunter gestützt wird.

Dieser Versuch bestätigt, dass wir tatsächlich zuerst an additive Veränderungen denken und subtraktive Optionen erst durch explizite Hinweise in Erwägung ziehen. Wenn das für den Großteil der Menschen gilt, sind die Konsequenzen durch diese Herangehensweise einfach abzuschätzen: Alles, was über einen längeren Zeitraum besteht, hat die Tendenz komplexer zu werden.

Dies geschieht aus der – durchaus begründeten Angst, dass durch das Entfernen eines kleinen, unscheinbaren Steinchens, eine ungewollte Kettenreaktion ausgelöst wird. Mikado- oder Jenga-Spieler erinnern sich an die schwitzigen Hände, mit denen ein Stab oder Stein aus dem bestehenden System entfernt wurde. Wer möchte so ein Wagnis in einem geschäftskritischen System eingehen?!

Aus diesem Faktum heraus stellen sich zwei Fragen:

  • WARUM neigen Menschen zu diesem Verhalten?
  • Was können wir dagegen tun?

Für das WARUM gibt es mehrere Erklärungsversuche:

  • Die mentale Projektion eines zukünftigen Systems mit additiven Teilen kostet weniger kognitive Energie: Das Endergebnis ergibt sich aus dem Status Quo (den wir vermeintlich gut kennen!) PLUS den neuen Komponenten (die wir sehr gut kennen). Demgegenüber kann das Entfernen von Komponenten die oben beschriebenen Nebeneffekte auslösen, die nur mit einem detaillierten Verständnis des Gesamtsystem eingeschätzt werden können. 
  • Eliminieren von Komponenten kann soziale Widerstände auslösen: Gerade in der IT kennen wir die starke Identifikation von Mitarbeitern mit bestimmten System-Komponenten. Wer möchte schon zum Kindesmörder werden und Kollegen, deren über Jahre liebevoll gehegtes und gepflegtes Baby entreißen.
  • Mehr scheint besser zu sein: Wir leben in einer Welt, in der oftmals ein Mehr als besser angesehen wird. Ein dickeres Buch darf mehr kosten. Mehr Source-Code bedeutet, dass der Entwickler mehr gearbeitet hat. Mehr neue Gesetze heißt, dass die Regierung ja doch was weitergebracht hat. Oder anders gefragt: Wurde schon jemals jemand für das Entrümpeln von komplexen Systemen gelobt?
  • Heimliche Profiteure: Wie bei vielen Problemen, gibt es bei der Komplexität auch Profiteure. Es stellt sich die Frage, wer aufgrund der unnötigen Komplexität seine/ihre Job-Existenz absichert oder Machtbasis ausbauen kann. Dass diese Personen nicht an einer Vereinfachung interessiert sind, muss man nicht weiter begründen.

Das Problem scheint also weit verbreitet zu sein. Daher möchte ich die zweite oben genannte Frage reflektieren:

Wie kann man dem Problem steigender Komplexität Herr werden?

Ein radikaler Ansatz wäre, Anreiz-Systeme so abzuändern, dass tatsächlich das WENIGER belohnt wird. Eine neue Regierung könnte also daran gemessen werden, wieviele BESTEHENDE Gesetze eliminiert wurden. In der IT könnte man die Entwickler-Teams darauf incentivieren, dass die Code-Basis GLEICH bleibt oder KLEINER wird. Das würde vermutlich ein gewisses Umdenken bewirken, aber ebenso ungewollte Effekte auslösen – Hinzufügen ist ja nicht in jedem Fall schlecht!

Ein moderaterer Ansatz wäre, das “Entrümpeln” als fixen Bestandteil der täglichen Arbeit zu etablieren. Die Autoren im DevOps Handbuch empfehlen beispielsweise 20% der Arbeitszeit für das sogenannte “refactoring” zweck-zu-widmen. Unter Refactoring versteht man ganz allgemein, bestehenden IT-Systeme zu optimieren ohne zusätzliche Funktionalitäten einzubauen. Der einzige Zweck von kontinuierlichem Refactoring ist die steigende “technische Schuld” im Griff zu halten. 

Ähnliche Herangehensweisen wären auch für andere – vom Menschen geschaffene und daher NICHT inhärent komplexe – Systeme zu empfehlen. In Österreich gibt es zum Beispiel allein an Bundesgesetzen derzeit 59.970 Paragraphen in 1.202 Gesetzen (Stand 18.04.2021), eine Entrümpelung wäre vermutlich dringender denn je.

Sowohl für IT-Systeme als auch Rechtssysteme wäre es daher für Entscheider sehr aufschlussreich, die oben genannten WARUM Fragen zu stellen, um die Ursachen für Komplixitätssteigerung aufzuspüren:

  • Fehlt es den System-Konstrukteuren an mangelnder kognitiver Energie?
  • Welche sozialen Widerstände würde ein Eliminieren auslösen?
  • Belohnen wir unbewusst ein Mehr statt ein Weniger?
  • Wer profitiert von dem Mehr an Komplexität?

Damit liesse sich sicherlich der eine oder andere Komplexitätsgrad eliminieren. Und wir könnten dadurch die frei gewordene mentale Energie für die Lösung von wirklich komplexen Problemen verwenden.

Hinterlasse einen Kommentar