Systemdenken

Gerónimo
Gerónimo
Fractional CTO
5 Min. Lesezeit

Gelegentlich arbeite ich mit Kunden, die ein großes Problem haben, pünktlich und in der vereinbarten Qualität zu liefern. Wenn ich beginne, die Ursachen zu untersuchen, stelle ich fest, dass das Produktteam sagt, das Problem sei, dass die Entwicklung nicht schnell genug ist und/oder zu viele Fehler produziert, und wenn ich mit der Entwicklung spreche, sagen sie mir, dass sie unvollständige Spezifikationen vom Produkt erhalten, was bedeutet, dass sie mehr Zeit für die Entwicklung aufwenden müssen, und manchmal Änderungen rückgängig machen müssen, weil sie nicht das waren, was der Kunde wollte. Es ist üblich, dass diese Organisationen sich als eine Reihe von Silos betrachten und glauben, dass die Lösung darin liegt, eines dieser Silos zu „reparieren“ (z.B. die Entwicklung). Aber das ist eine reduktionistische Sicht des Problems und hilft selten, es zu lösen. Um die Wurzel des Problems anzugehen, müssen wir überdenken, wie wir die Organisation verstehen, und hier kann Systemdenken helfen. Wie Einstein sagte: „Wir können Probleme nicht lösen, indem wir auf die gleiche Weise denken, wie wir sie geschaffen haben.“

Vor einigen Jahren bin ich auf das Buch Team Topologies (von Mathew Skelton und Manuel Pais) gestoßen, das über Organisationen als Softwaresysteme spricht. Das Buch stellt Conways Gesetz vor, das besagt, dass Organisationen Systeme produzieren, die ihre Kommunikationsstrukturen widerspiegeln. Beispiele für dieses Gesetz in der Praxis können beobachtet werden, wenn wir ein Team aufteilen, das an derselben Komponente oder demselben Microservice arbeitet: Es ist üblich, dass sich diese Komponente am Ende aufspaltet, da die Kommunikationsstruktur zwischen den Teams sich teilt und die enge Zusammenarbeit, die für die Arbeit an derselben Komponente erforderlich ist, komplizierter wird. Das Buch spricht über Conways umgekehrtes Manöver, das uns einlädt, unsere Organisation entsprechend der Architektur zu gestalten, die wir erreichen wollen. Dies stellt viele der organisatorischen Entscheidungen in Frage, die in Unternehmen getroffen werden, wo die Architektur nicht berücksichtigt wird oder eine untergeordnete Rolle bei der Gestaltung der Organisation spielt. Und es lädt uns ein, Menschen und die von ihnen produzierte Software als Teile desselben Systems zu betrachten.

Unternehmen sind Systeme, aber sie werden oft nicht als solche gesehen. Und obwohl wir uns des Systems, das unsere Organisation bildet, möglicherweise nicht bewusst sind, ist dieses System real und es ist da. Manchmal ist die einzige visuelle Darstellung des Systems eines Unternehmens ein traditionelles Organigramm, aber das ist eine sehr begrenzte Sicht, die nur die Personen, Teams und Berichtslinien zeigt. Es spiegelt weder den Informationsfluss noch die dynamischen Verbindungen noch die Kultur noch die realen und komplexen Beziehungen wider, die sich über das gesamte Organigramm erstrecken.

Linearität und Nichtlinearität

Wir sind es gewohnt, linear zu denken: wenn X, dann Y. Systeme können jedoch nicht auf diese Weise verstanden werden. Die Anzahl der Komponenten und Beziehungen zwischen ihnen wächst exponentiell, und Systeme werden nichtlinear. Ich führe ständig Gespräche, in denen Menschen versuchen, Probleme auf übervereinfachte Weise anzugehen. Zum Beispiel fragte mich ein Manager vor einigen Monaten bei einem Gespräch über die Notwendigkeit, in die Modernisierung seiner Cloud-Infrastruktur zu investieren, nach dem erwarteten ROI – in Bezug darauf, wie viele Stunden pro Woche jeder Entwickler im Verhältnis zu den Kosten der Infrastruktur-Modernisierung einsparen würde. Er wollte dies wissen, um zu entscheiden, ob er die Investition genehmigt oder nicht. Während wir die Einsparungen an Entwicklerstunden schätzen können, lässt die Berechnung des ROI auf diese Weise und das Treffen einer Go/No-Go-Entscheidung viele andere wichtige Aspekte außer Acht. Wenn wir in Systemen denken und daran arbeiten, die Auswirkungen einer veralteten Infrastruktur zu identifizieren, eröffnen sich neue Perspektiven, in denen wir sehen können, dass dies nicht nur die Produktivität beeinflusst, sondern auch die Menschen, den Betrieb und die Kunden. In diesem Diagramm kann dies als Beispiel deutlich gesehen werden:

Wenn wir in Systemen denken, werden wir uns der verschiedenen Teile bewusst und wie sie die Ergebnisse des Systems beeinflussen. Aber je tiefer wir in das System eintauchen, desto mehr werden wir uns bewusst, wie viele Variablen es gibt und wie die Suche nach der richtigen Entscheidung immer ferner rückt. Das Paradigma ändert sich, und statt nach der endgültigen Entscheidung zu suchen, experimentieren wir, sammeln Feedback und justieren die Richtung nach. Wir lernen. Agile Methoden funktionieren auf diese Weise und erkennen die Unmöglichkeit an, ein Projekt zu entwickeln, das vollständig zu Beginn konzipiert und geplant wird, um auf die komplexen Bedürfnisse eines Kunden adäquat zu reagieren. Startups funktionieren so: Statt Fabriken werden sie als Motoren für Experimentation und Lernen konzipiert. Facebooks Motto war „Move fast and break things“, was als Anerkennung gesehen werden kann, dass die Welt ein komplexes System ist, und um die richtige Lösung zu finden, ist es am besten zu experimentieren, keine Angst vor dem Scheitern zu haben und empirisch zu lernen.

Systemdenken erfordert einen Mentalitätswandel, es erfordert, einen reduktionistischen Ansatz hinter sich zu lassen, bei dem wir, wenn wir X tun, Y bekommen. Es erfordert, die verschiedenen Teile eines Problems und die Beziehungen zwischen ihnen zu identifizieren. Es erfordert, die verschiedenen Teile zu identifizieren, die ein Problem beeinflussen, und die Beziehungen zwischen ihnen. Es erfordert eine Ursachenanalyse durchzuführen, nicht beim Symptom stehen zu bleiben, zu akzeptieren, dass wir oft nicht genug Informationen haben, um eine Entscheidung zu treffen, und dass wir dann experimentieren, lernen und die Entscheidung neu bewerten müssen. Das Werkzeug für Systemdenken ist die Modellierung, die Darstellung der Teile, der Beziehungen, des Ganzen und der Ergebnisse. Dies kann mit einem Offline- oder Online-Whiteboard (z.B. Miro) erfolgen, wie im obigen Diagramm gezeigt.

Obwohl die Verwendung von Systemdenken in der Softwareindustrie noch nicht weit verbreitet ist, glaube ich, dass es nur eine Frage der Zeit ist, bis dies geschieht. Wir sehen ständig, wie die klassischere Mentalität und Vision zur Bewältigung von Problemen an der Realität scheitert. Mit Systemdenken zu beginnen ist nicht kompliziert, vielleicht gibt es ein Problem, das Ihnen im Kopf herumgeht, und für das Systemdenken Ihnen helfen kann, Fortschritte zu machen.

Referenzen

Buch Team Topologies

Artikel Dancing with Systems


Ich arbeite derzeit daran, Unternehmen und Technologieteams zu helfen, ihr Potenzial besser zu nutzen. Ich helfe ihnen, sich ihrer Ineffizienzen bewusst zu werden und daran zu arbeiten, wie sie konkrete Maßnahmen zur Verbesserung in ihrem Kontext ergreifen können, und das auf kontinuierlicher Basis. Wenn Sie das Gefühl haben, dass in Ihrem Unternehmen Verbesserungspotenzial besteht, aber der Alltag Sie auffrisst, können wir gemeinsam nach Lösungen suchen. Buchen Sie einen Termin hier.

Systeme Produktivität Startup