Das Conway’sche Gesetz von Martin Fowler begleitet die IT Architektur seit Jahrzehnten und ist eine der Säulen, die allgemein anerkannt wird. Martin Fowler hat hier im Oktober 2022 ein Update zu einer dritten möglichen Reaktion verfasst. Ergänzend zu meinem Artikel wollte ich diesen kurz zusammenfassen.
Wie beschreibt Conway dies (Übersetzung mit Deepl)
Das Conway’sche Gesetz zu akzeptieren ist besser als es zu ignorieren. In den letzten zehn Jahren gibt es eine dritte Möglichkeit, auf dieses Gesetz zu reagieren. Dabei wird die Organisationsstruktur des Entwicklungsteams bewusst verändert, um die gewünschte Softwarearchitektur zu fördern. Dieser Ansatz wird als Inverse Conway Maneuver bezeichnet. Dieser Ansatz wird oft in der Welt der Microservices diskutiert, wo Befürworter dazu raten, kleine, langlebige BusinessCapabilityCentric-Teams zu bilden, die alle Fähigkeiten enthalten, die für die Lieferung von Kundennutzen erforderlich sind. Indem wir autonome Teams auf diese Weise organisieren, nutzen wir das Conway’sche Gesetz, um ähnlich autonome Dienste zu fördern, die unabhängig voneinander verbessert und eingesetzt werden können. Das ist auch der Grund, warum ich Microservices in erster Linie als ein Werkzeug zur Strukturierung einer Entwicklungsorganisation bezeichne.
Das umgekehrte Conway-Manöver ist zwar ein nützliches Werkzeug, aber nicht allmächtig. Wenn du ein bestehendes System mit einer starren Architektur ändern willst, wird eine Änderung der Entwicklungsorganisation keine sofortige Lösung sein. Stattdessen ist es wahrscheinlicher, dass es zu einer Diskrepanz zwischen Entwicklern und Code kommt, die weitere Verbesserungen erschwert. Bei einem bestehenden System wie diesem müssen wir das Conway’sche Gesetz berücksichtigen. Wir wollen ja sowohl die Organisation als auch die Codebasis ändern. Und wie immer empfehle ich, in kleinen Schritten vorzugehen und auf Rückmeldungen zu achten.
Fazit zu Das Conway’sche Gesetz – Revision Oktober 2022
Das Conway’sche Gesetz von Martin Fowler mit der Revision Oktober 2022 beschreibt das „Inverse Conway Maneuver“. Man ändert also die Organisationsstruktur des Entwicklungsteams, um die gewünschte Softwarearchitektur zu fördern.
Persönlich habe ich viele Gründe für eine Reorganisation gesehen, aber dies scheint mir eine sehr zeitaufwändige Transformation zu sein, so dass in der heutigen schnelllebigen Zeit nur wenige strategische Entscheidungen so etwas forcieren würden. Der Ansatz im Rahmen der digitalen Transformation in Unternehmen, dies bewusst und begleitend einzusetzen, kann im Gesamtkonzept Sinn machen.
Es verlockt und verspricht viel, die bestehenden monolithischen Strukturen mit differenziertem fachlichen Fokus in agile, kleinere Strukturen aufzubrechen.