Abstraktionen – unser Freund und Helfer in einer komplexen Welt

Die Welt ist komplex. Damit meine ich ganz banal, dass es – wo auch immer wir hinschauen – zu viele Details gibt, um alles zu verstehen. Trotzdem müssen wir uns in dieser Welt zurecht finden, Entscheidungen treffen. Und das erfordert Vereinfachung oder genauer gesagt – sinnvolle und passende Abstraktionenum die Komplexität beherrschen zu können.

Doch was ist genau Abstraktion und was hat das mit der Komplexität zu tun?

“Abstrahieren” gehört zu den Wörtern, die oft verwendet werden, um einer trivialen Aussage einen wissenschaftlicheren Touch zu gehen. Das mag leider in vielen Situationen stimmen, wird aber der Bedeutung des Konzepts “Abstraktion” nicht gerecht. Tatsächlich treffen wir Abstraktion ständig: im Alltag, in politischen Prozessen, in Organisationen, in der Software-Entwicklung.

Wikipedia definiert “Abstraktion, als den [..] Denkprozess des Weglassens von Einzelheiten und des Überführens auf etwas Allgemeineres oder Einfacheres. [..] Auf diese Weise soll sich das Auge auf das Wesentliche konzentrieren.” Das klingt nach einer etwas theoretischen Übung, ist aber tatsächlich für unseren Alltag hoch relevant, ja geradezu überlebensnotwendig. 

  • Stellen wir uns die gesamten Informationen, die auf unser Gehirn einströmen, als nahezu unendlichen Strom vor, der es – ohne Abstraktion – unmöglich machen würde, wesentliche Informationen herauszufiltern.
  • Stellen wir uns eine Konversation mit einem Kellner in einem Restaurant vor, wo wir jede einzelne Zutat unseres Schnitzels einzeln beauftragen müssten. Wie gut, dass es ein abstrahiertes Speise- und Getränkeangebot gibt, die den Ablauf dramatisch vereinfachen. 
  • Stellen wir uns die Integration von IT-Systemen vor, die jeden internen Methoden-Aufruf nach außen exponieren. Welcher Consumer würde da die richtige Methode mit den richtigen Argumenten aus dem Dschungel auswählen können.
  • Stellen wir uns eine Demokratie vor, wo wir bei jeder Nationalratssitzung dabei sein müssten, um uns ein Bild über die wählbaren Parteien zu machen. Stattdessen helfen uns “Informations-Broker” wie Tageszeitungen, politische Kommentatoren (in Österreich omnipräsent Herr Dr. Filzmaier) und das Internet, um unsere Meinungsbildung zu “vereinfachen”.

Der kleinste gemeinsame Nenner in all diesen Beispielen ist tatsächlich Vereinfachung. Ein grundsätzlich komplexes System wird für Außenstehende bewusst als Black-box dargestellt und nur über vereinfachte Schnittstellen konsumierbar gemacht. Wichtig ist aber sich bewusst zu machen, dass Abstraktion eine bewusste Entscheidung ist, die von dem Abstrahierer getroffen wird. Und wie immer bei Entscheidungen, kann diese eine gute Wahl sein oder für die Zwecke des Nutzers der Abstraktion ungeeignet.

Wenn wir also zum Beispiel in ein Restaurant kommen und es gibt das Schnitzel nur gemeinsam mit Bier und das Gulasch nur mit Cola, dann haben wir schlicht ein Problem, wenn wir – wie der Liedersänger Ambros – unser geliebtes “Gulasch und ein Seidl Bier” konsumieren wollen. Diese Flexibilität gestehen uns die meisten Restaurants noch zu. Aber wenn man das Schnitzel statt mit gemischten Salat, lieber mit Pommes und die Panier ohne Ei haben möchte, dann kommen die meisten Kellner schon ins Schwitzen. “Tut mir leid, aber das können wir so leider nicht berücksichtigen!” 

Was ist also die richtige Abstraktion („Speisekarte“) in diesem konkreten Fall. Vorgegebene Menüs? Selbstbedienungs-Büffet? Cook-yourself?

Am Ende des Tages entscheidet der Benutzer („Konsument“), ob die Abstraktions-Entscheidungen richtig oder falsch sind – oder besser ausgedrückt: passend oder nicht passend. Dies ist natürlich für Services, die von einer großen Anzahl von Menschen genutzt werden, eine große Herausforderung. Sehr oft sind dann folgende Anti-Patterns zu beobachten:

  • Es wird versucht, es allen recht zu machen. Damit gibt es im schlimmsten Fall für jeden Benutzer eine spezifische Abstraktion. Das skaliert schlecht.
  • Es wird jegliche interne Komplexität nach außen getragen. Das überfordert den Benutzer. Ich will ja nur ein Schnitzel essen und möchte nicht im Detail verstehen müssen (und schon gar nicht mit ansehen), wie ein Schwein geschlachtet wird.
  • Es gibt genau eine Option, die vom Hersteller als „richtig“ erachtet wird.

Wunderbar beschrieben und auf die IT angewendet, ist diese Problematik in dem Artikel von Manuel Pais “Kubernetes is Not Your Platform, it’s just the foundation”:

Eine Plattform ist per-se dafür gedacht, von möglichst vielen Menschen benutzt zu werden. Genau das macht sie effizient und damit attraktiv – für Plattform-Anbieter UND Plattform-Nutzer. Doch dafür braucht es ein gutes Verständnis über die Bedürfnisse der Plattform-Nutzer, insbesondere eine gute Balance zwischen mehrwert-stiftender Flexibilität und Komplexitäts-Reduktion.

Konkret gesprochen heißt das, Services so weit zu individualisieren, wie es die Nutzer benötigen (“mehrwert-stiftender Flexibilität”) und trotzdem die Komplexität so weit wie möglich webzuabstrahieren, um die Nutzer nicht zu überfordern (“Komplexitäts-Reduktion”).

Diese Aufgabenstellung ist nicht neu. Jeder Produkt-Manager im Consumer-Marketing sieht sich einer großen Masse von potentiellen Kunden gegenüber und kann es nicht jedem einzelnen recht machen. Deswegen macht es auch Sinn, bei der Ausgestaltung einer Plattform die Prinzipien von Produkt-Management anzuwenden, z.B. Kunden-Segmentierung, kontinuierliche Feedback-Zyklen, Produkt-Back-logs, etc. Nur so besteht eine Abstrahierung im Sinne der Nutzer gelingen: Komplexes einfach konsumierbar zu machen!

Ein Kommentar zu “Abstraktionen – unser Freund und Helfer in einer komplexen Welt

Hinterlasse einen Kommentar