Vertikalen sind ein Architektur- und Organisationsmuster. Sie übertragen das Prinzip der losen Kopplung auf Entwicklungsteams, indem Organisation und Softwarearchitektur Hand in Hand „vertikalisiert“ werden. Organisatorische Vertikalisierung bedeutet unabhängige, cross-funktionale Teams, die für eine klar abgrenzbare fachliche Domäne verantwortlich sind. Architektonische Vertikalisierung schafft unabhängige IT-Komponenten und sorgt z.B. dafür, dass Teams eigenständig deployen können.
Beispiele: XING, OTTO, EPOST, Breuninger, Berenberg, Spotify
Zielpublikum: Entwickler, Projektleiter, Scrum Master, Agile Coaches, Manager
Voraussetzungen: Erfahrungen in der IT-Produktentwicklung sind hilfreich, aber nicht zwingend notwendig ;-)
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract
Vertikale Architektur ist ein Architektur- und Organisationsmuster für große Teams. Es überträgt das Prinzip der losen Kopplung auf Entwicklungsteams, indem Organisation und Softwarearchitektur Hand in Hand „vertikalisiert“ werden. Organisatorische Vertikalisierung bedeutet das Schneiden unabhängiger Teams, die für einen klar abgrenzbaren Aspekt der fachlichen Domäne verantwortlich sind. Architektonische Vertikalisierung schafft die technische Basis für unabhängige Teams und sorgt z.B. dafür, dass Teams eigenständig deployen können.
In diesem Workshop erarbeiten wir die Grundlagen agiler Architekturen auf Basis vertikaler Teams. Der Workshop besteht aus zwei Teilen, einem theoretischen und einem praktischen.
Im Block Hintergrundinformationen führen wir den Begriff der vertikalen Architektur in einem Impulsvortrag ein. Wir berichten von unseren Praxiserfahrungen bei XING, Otto, Breuninger und der Post und stellen Lösungen vor, die wir in der Praxis erprobt haben.
Praxisblock Planspiel (optional, nur wenn ausreichend Zeit ist)
Der folgende Praxisblock besteht aus einem Planspiel, in dem wir ein gemeinsames Bild der bestehenden Hindernisse und Abhängigkeiten in Bezug auf die Einführung einer agilen Architektur in Ihrem Unternehmen erarbeiten. Hindernisse sind z.B. unzureichende Hardware oder vorgeschriebene Programmiersprachen. Beispiele für Abhängigkeiten sind eine zentrale QA-Abteilung, von anderen Abteilungen entwickelte Softwarekomponenten oder extrem langsame Bereitstellung von Infrastrukturkomponenten für Entwicklungsteams.