Gesetz von Conway
Das Gesetz von Conway (Conway’s Law) wurde von Melvin Conway 1968 formuliert und besagt:
„Organisationen, die Systeme entwerfen, sind gezwungen, Designs zu produzieren, die die Kommunikationsstrukturen dieser Organisationen widerspiegeln.“
Bedeutung in der Softwarearchitektur:
Das Gesetz von Conway beschreibt, dass die Architektur eines Softwaresystems oft unbewusst die Organisationsstrukturen des Entwicklerteams widerspiegelt. Wenn ein Unternehmen beispielsweise aus mehreren getrennten Abteilungen besteht, dann tendieren auch die Softwarelösungen dazu, stark voneinander abgegrenzte Module oder Services zu haben.
Beispiele:
- Monolithische Organisation → Monolithische Software
- Dezentrale Teams → Microservices
- Globale verteilte Teams → API-zentrierte Systeme
Anwendung im Cloud Computing & DevOps:
- DevOps & Conway’s Law: DevOps fördert interdisziplinäre Teams mit Verantwortung für Entwicklung und Betrieb, was oft zu Microservice-Architekturen führt.
- Reverse Conway Maneuver: Unternehmen können bewusst ihre Organisationsstruktur so ändern, dass sie eine gewünschte Softwarearchitektur begünstigt.
Das Gesetz von Conway wird oft in Domain-Driven Design (DDD) und Cloud-native Architekturen diskutiert, da es Unternehmen hilft, die Wechselwirkungen zwischen Teamstruktur und Softwarearchitektur zu verstehen.