Logo JUG Karlsruhe
18. Dezember 2019
Christian Mennerich,  Frederick Meseck
synyx GmbH & Co. KG

JUG-KA: Systemisch agile Softwareentwicklung

In Softwareentwicklung und -architekturdesign haben sich in der letzten Zeit viele Muster etabliert, die der modellgetriebenen und domänengetriebenen Softwareentwicklung entstammen. Dazu gehören neben agilen Arbeitsmethoden und cross-funktional aufgestellten, lose gekoppelten Teams auch Microservice- und Serverlessarchitekturen, so wie vieles mehr. Auch Conways Gesetz und das inverse Conway-Manöver werden in diesem Kontext häufig genannt.

Die Systemtheorie nach Luhmann bringt neue Sichtweisen in diese Diskussionen. Die soziologische Systemtheorie fokussiert auf aus Kommunikation aufgebaute soziale Systeme, die sich im Wesentlichen selbst erschaffen und erhalten wollen. Da gemäß dieser Theorie objektives, unabhängiges Beobachten unmöglich ist, und Realität von daher immer nur Konstruktion eines Beobachters sein kann, führt die konsequente Akzeptanz dieser soziologischen Theorie zu einem besseren Verständnis der Prozesse in der Anforderungsfindung für Softwaresysteme. Sie hilft, abgeschlossene Kontexte im Sinne des Domain-Driven Design zu finden und deren Dynamik zu verstehen, indem sie mittels systemtheoretisch motivierter Coachingansätze ‚relevante Kommunikation‘ aufzufinden hilft.

Es gilt, die Realitätskonsense der beteiligten sozialen Systeme (Endanwender, Entwicklerteams, RE, …) isomorph zur Deckung zu bringen, um ein für alle zufriedenstellendes Softwareprodukt zu erhalten. In diesem Kontext wird dann auch Conways Gesetz angewendet. Die Methoden aus der agilen Softwareentwicklung, DevOps-Kultur sowie continuous integration und deployment kristallisieren sich hier verstärkt als die Mittel der Wahl heraus, die Ziele der Softwareentwicklung überhaupt erreichbar zu machen.