Conways DAO
Das Gesetz von Conway besagt, dass:
Organisationen, die Systeme entwerfen, […] sind gezwungen, Entwürfe zu erstellen, die die Kommunikationsstrukturen dieser Organisationen abbilden
Phase 1
Wir haben dieses Phänomen in vergangenen Jahrzenten immer wieder beobachten können. Gab es in dem jeweiligen Software-Unternehmen eine eigene Abteilung für Datenbank-Spezialisten, so erhielt das zu entwickelnde System ein Datenbank-Subsystem, welches von dieser Gruppe entwickelt wurde. Das wiederholte sich für die UI, die Middleware, usw. Der Einfachheit halber wollen wir diese Zeit als "Phase 1" bezeichnen.
Phase 2
Dann gab es einen Paradigmenwechsel in der Software-Architektur, und alle verteufelten auf einmal Monolithen, die bis dahin die Regel waren. Statt dessen sollte nun alles in lose gekoppelten, über asynchrones Messaging kommunizierende Microserviceslaufen. Der technische Paradigmenwechsel ist hierbei m.E. weniger interessant als der auf der Organisationsebene. Während sich in der ersten Phase die Software-Architektur an die Organisation anpasste, ging in Phase 2 die Veränderung von der Software aus. Erst nach und nach fingen Unternehmen an, sich wie lose gekoppelte Microservices zu strukturieren. Kleine (agile) Teams, die schnell hoch- und runtergefahren werden können, lose gekoppelt sind und asynchron mit anderen Teams kommunizieren.
Dieses Phänomen wird auch inv(Conway) oder Conway-1 genannt.
Phase 3
Nun bahnt sich wieder eine Neuerung an, die diesmal wieder von Organisationen auszugehen scheint, und die Technik folgt. Schauen wir uns ein Paar Beispiele an:
Forward Technology (Programmer Anarchy)
Von Fred George populär gemacht, bedeutet Programmer Anarchy, dass Entwickler jeden Tag ihre eigene Aufgabe wählen. Es gibt keinen Manager, der Vorgaben macht. Der Kunde definiert lediglich das zu lösende Business-Problem. Das Team übernimmt vollumfänglich die Verantwortung und trägt dadurch auch ein höheres Risiko, agiert aber mit einer für die heutige, von agilen Methoden geprägten Zeit, extrem hohen Freiheit. So kommt es, dass ein Team eine Anwendung mehrmals in unterschiedlichen Sprachen programmiert hat, bis das Team zufrieden mit der Umsetzung war. Niemand wurde dafür um Erlaubnis gebeten, das Team hat die Ideen selbst entwickelt und intern über die Umsetzung abgestimmt.
Facebook (Meta)
Es ist bekannt, dass Mitarbeiter von Entwicklungsteams bei Meta sehr viele Freiheiten genießen, wenn es darum geht, neue Features in ein Produkt zu integrieren. So kommt es, dass einige der Features, die heute auf der Hauptseite von Facebook zu finden sind, nie von einem Produktmanager oder Product Owner definiert wurden, sondern einfach von einem Entwickler als Vorschlag umgesetzt wurde, der sich im Rahmen eines Auswahlprozesses durchsetzen konnte.
Nun haben wir Beispiele gesehen, wie Organisationen sich neu aufstellen. Aber wenn das eine neue Art von Conway'sches Gesetz sein soll, welche technische Umsetzung, Architektur oder Paradigma bildet diese neue Organisationsform ab?
Dezentrale Autonome Organisationen
Kurz DAOs. Man könnte DAOs auch als Software-Defined-Organisations bezeichnen, da eine Charakteristik von DAOs ist, dass diese als eine Sammlung von Smart Contracts in der Blockchain leben. Somit erfüllen sie automatisch einige Kriterien. Sie sind dezentral und autonom. Erstmal kein Widerspruch zu der o.g. Phase 3. Aber DAOs sind mehr als nur Smart Contracts. Teilnehmer an einer DAO bringt einige Aspekte der Blockchain mit ins Spiel, die sich auf die ebenfalls in den Phase 3 Beispielen genannten "Verantwortung" und "Risiken" wiederspiegeln. Eine DAO hat immer auch eine finanzielle Komponente. Oft liegt ein DAO-eigenes Token oder Protokoll zugrunde. Die Teilnehmer der DAO halten in der Regel diese Tokens und sind somit auf der einen Seite direkt am Erfolg der DAO beteiligt, tragen aber mit dem Invest auch das Risiko mit. Eine andere Parallele ist, dass DAO Teilnehmer über die Geschicke der DAO abstimmen können. Dieses Verfahren läuft meistens wie folgt:
- es gibt eine definierte Möglichkeit für jeden, einen sog. Proposal einzureichen.
- Ein Proposal kann alles mögliche sein. Beispiele: "10.000 EUR für die Entwicklung einer mobilen App freigeben", oder "Das neue Logo soll Pink sein" usw.
- Diese Proposals durchlaufen dann, genauso wie ein Pull Request eines Entwicklers in den o.g. Beispielen, einen Prozess
- am Ende stimmen die DAO Teilnehmer ab.
- Oft ist die Anzahl der Tokens die man hält direkt proportional zur Gewichtung des eigenen Stimmrechtes, aber da gibt es sehr viele unterschiedliche Varianten.
Fazit
Könnte Phase 3 so eine Art "Conways DAO" werden? Time will tell. Interessant ist allemal, dass sich nach wie vor Organisationen und die Software-Systeme, die aus diesen hervorgehen, anfangen zu ähneln, und zwar unabhängig davon, aus welcher Richtung die Veränderung kommt.