Suche
Interview mit Eberhard Wolff

Conway’s Law und warum gute Architektur gute Kommunikation braucht

Hartmut Schlosser

Eberhard Wolff

Der Zusammenhalt der Architektur ist besonders bei Projekten über Firmengrenzen hinweg sehr herrausfordernd und kann nur mit der richtigen Kommunikationsstrategie gewahrt werden. Im Interview zur W-JAX 2017 in München erklärt Eberhard Wolff, Fellow bei innoQ, inwieweit gute Architektur von den Organisationsstrukturen eines Unternehmens abhängt und ob Conway’s Law umkehrbar ist.

JAXenter: Ein Beispiel aus deiner Praxis: Wo wurde dir Conway’s Law ganz deutlich vor Augen geführt?

Eberhard Wolff: Für mich ist das Gesetz von Conway ein wichtiges Werkzeug, um zu verstehen, was in Projekten vor sich geht. Wenn unterschiedliche Dienstleister für die verschiedenen Teile des Projekts verantwortlich sind, dann beeinflusst das die Kommunikation und die Architektur.

Software-Architektur ist nur scheinbar ein technisches Thema.

Kommunikation über Firmengrenzen hinweg ist aufwändig, insbesondere wenn die Teams am jeweiligen Firmenstandort des Dienstleisters arbeiten. So entstehen sehr isolierte Module. Ein Zusammenhalt der Architektur ist schwierig.

Dass Teams, die nach Fachlichkeiten aufgestellt sind, die Architektur beeinflussen, haben wir schon vor 15 Jahren in einem Projekt festgestellt. Allerdings haben wir es damals noch nicht zur Steuerung der Architektur genutzt.

JAXenter: Welches Mittel hat sich in deiner Praxis bewährt, um den Effekten von Conway’s Law zu begegnen?

Eberhard Wolff: Bei der Einstellung von Mitarbeiten oder bei Umorganisationen werden Architekten oft mit einbezogen, da sie die technische Expertise der Personen am besten abschätzen können. Dann können sie auch andere organisatorische Maßnahmen vorschlagen, um die Architektur zu beeinflussen.

Generell ist Software-Architektur nur scheinbar ein technisches Thema. Ein Architekt muss Ideen und Kritik aus den Teams aufnehmen und die Architektur kommunizieren. Diese Maßnahmen beeinflussen die Kommunikationsstrukturen und damit die Architektur.

JAXenter: Ist Conway’s Law umkehrbar? Hängt gute Architektur also von den Organisationsstrukturen eines Unternehmens ab?

Architekten müssen die Architektur ständig kritisch hinterfragen und weiterentwickeln.

Eberhard Wolff: Conway’s Paper diskutiert, dass Projekte zu großen Teams neigen. Das ist gut für das Prestige, und bei einem Fehlschlag kann man argumentieren, dass selbst ein sehr großes Team die Aufgabe nicht lösen konnte. Dann kommt das Gesetz von Parkinson: Eine Aufgabe hält alle verfügbaren Mitarbeiter beschäftigt. Das Gesetz erklärt die Beobachtung, dass eine Verwaltung beliebig mehr Mitarbeiter einstellen kann – die Aufgaben dauern gleich lange.

Ein großes Projekt hat aber entsprechende Kommunikationsschwierigkeit und dann auch Herausforderungen in der Architektur. Also hat Conway schon in seinem Paper erläutert, dass gute Architektur nur mit guter Kommunikation möglich ist.

JAXenter: Jeff Sussna hat einmal in einer Keynote darauf hingewiesen, dass Conway aus seiner Ursprungsthese etwas seiner Meinung nach viel Wichtigeres folgert . Dass es für jedes gegebene Design nämlich immer ein noch besseres geben könnte. Wichtiger als gutes System-Design wird damit die Fähigkeit zum Redesign. Würdest du dem zustimmen? Und wenn ja, wie kann man dem in der Software-Architektur Rechnung tragen?

Eberhard Wolff: Problematische Architekturen entstehen, weil der richtige Zeitpunkt zur Änderung verpasst worden ist. Nicht nur die Anforderungen ändern sich. Es gibt auch neue Technologien und Techniken, die neue Verbesserungen ermöglichen. So ist es unausweichlich, dass eine Architektur sich immer weiter vom Optimum entfernt.

Also müssen Architekten die Architektur ständig kritisch hinterfragen und weiterentwickeln. Vorsorglich Flexibilität in Architekturen einzubauen führt hingegen zu erhöhten Aufwänden, und am Ende ist die Flexibilität leider meistens an den falschen Stellen.

JAXenter: Welcher Aspekt in der aktuellen Diskussion um Softwarearchitektur ist für dich besonders anregend für deine Arbeit?

Gute Architektur ist nur mit guter Kommunikation möglich.

Eberhard Wolff: Continuous Delivery (CD) ist für mich ein wichtiger Fortschritt für die Produktivität. Microservices unterstützt CD in der Architektur. Die beiden Themen finde ich so wichtig, dass ich darüber Bücher geschrieben habe. Microservices machen Fachlichkeit und Domain-driven Design wieder wichtiger. Alle diese Punkte sind meiner Meinung nach bei der Software-Architektur wegweisend.

JAXenter: Eberhard, auf der W-JAX hast du eine Session gehalten, in der du hinter den aktuellen Hype um Microservices blickst. Was würdest du momentan eher dem Hype zuordnen, was der echten Wertschöpfung, die die Microservices-Idee ermöglicht?

Eberhard Wolff: Für mich sind Microservices ein guter Türöffner, um eine Architektur-Diskussion zu starten und Themen wie Fachlichkeit, Domain-driven Design oder Continuous Delivery ebenfalls anzusprechen. Dafür ist der Hype auf jeden Fall nützlich. Außerdem erlauben Microservices viel stärkere Entkopplung und lösen so viele Probleme klassischer Modularisierung. Mit Self-contained Systems gibt es außerdem einen Best-Practices-Ansatz für Microservices, deren Vorteile in der Praxis schon viele Projekte aufgezeigt haben.


Lesen Sie auch: Dr. Carola Lilienthal im Interview zu Conway’s Law und Softwareentwicklung als Lernprozess


Eberhard Wolff ist Fellow bei innoQ und arbeitet seit mehr als fünfzehn Jahren als Architekt und Berater, oft an der Schnittstelle zwischen Business und Technologie. Er ist Autor zahlreicher Artikel und Bücher, u. a. zu Continuous Delivery und Microservices.
Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.