Devops: Mit Team-Topologies zum Erfolg
Bei der Einführung von Devops bietet der Team-Topologies-Ansatz von Matthew Skelton and Manuel Pais wichtige praktische und mentale Werkzeuge, um Teams dynamisch entlang der Wertschöpfungskette auszurichten. Im Zentrum steht hier die Positionierung der Teams in einem losen Koordinatensystem. Ziel ist, die Autonomie der Teams zu fördern und eine wertschöpfende Form der Zusammenarbeit zu etablieren.
4 verschiedene Teamtypen
Dazu gilt es zunächst, die vier Teamtypen zu ermitteln.
Stream-Aligned-Teams
Stream-Aligned Teams richten sich an Wertströmen aus. Diese Wertströme beziehen sich entweder auf Bereiche des Business oder betreffen organisatorische Fähigkeiten. Insbesondere in produktorientierten Organisationen sind diese Teams für ein bestimmtes Produkt oder einen Service verantwortlich. Stream-Aligned-Teams bilden die Basis einer Organisation. Sie werden von den anderen drei Teamtypen mit unterschiedlichen Aktivitäten unterstützt, indem beispielsweise Plattformen bereitgestellt werden.
Als Folge ihrer Aufgabe sind Stream-Aligned-Teams direkt auf den Markt und damit auf die Wünsche und Anforderungen der Kunden ausgerichtet. Direktes Feedback der Kunden ermöglicht ihnen die kontinuierliche Anpassung des Produkts.
Enabling-Teams
Enabling-Teams unterstützen Stream-Aligned-Teams beim Aufbau von spezifischen Fähigkeiten und bei der erfolgreichen Anwendung von Methoden. Sie versuchen vorausschauend, die Bedürfnisse der Stream-Aligned-Teams zu verstehen. Diese Teams bestehen aus Spezialisten für bestimmte technische oder produktbezogene Bereiche. Sie arbeiten beispielsweise beratend oder lehrend mit den Stream-Aligned-Teams zusammen.
Ziel ist dabei stets, dem Stream-Aligned-Team neue Fähigkeiten zu vermitteln, sodass es sie selbstständig ausführen kann. Entsprechend sehen Enabling-Teams ihre Aufgabe darin, sich selbst durch eine effektive Zusammenarbeit innerhalb und außerhalb ihres Teams überflüssig zu machen. Daher sollte ihr Auftrag befristet sein.
Sie nutzen neue Technologien, um bei Innovationen stets vorne zu sein und durch Experimente und Forschungsarbeit neues Wissen verfügbar zu machen. Dabei werben sie in den Teams für permanentes Lernen.
Complicated-Subsystem-Teams
Complicated-Subsystem-Teams sind für die Entwicklung und die Wartung von Applikationen verantwortlich, die ein ausgeprägtes Spezialistenwissen benötigen. Sie beherrschen wichtige Systeme. Das Complicated-Subsystem-Team unterstützt die Stream-Aligned-Teams, indem es sie bei der Bereitstellung, Wartung und Weiterentwicklung der Systeme entlastet. Dadurch können sich die Stream-Aligned-Teams auf wertschöpfende Tätigkeiten fokussieren, während die Complicated-Subsystem-Teams die Liefergeschwindigkeit und -qualität der betreuten Subsysteme steigern.
Ihre Arbeit priorisieren sie aktiv anhand der Anforderungen, die sie von den Stream-Aligned-Teams erhalten. Die enge Zusammenarbeit sowie die Unterstützung durch Complicated-Subsystem-Teams erfolgt in der Anfangs- und Entwicklungsphase eng.
Platform-Teams
Platform-Teams unterstützen mit der Erledigung von Infrastrukturaufgaben, Monitorings oder Deployments. Dadurch tragen sie zur Entlastung durch die Reduzierung der Arbeitslast bei den Stream-Aligned-Teams bei. Sie konzentrieren sich darauf, mit ihren Services verlässlich Nutzen zu liefern und die Verwendbarkeit sicherzustellen.
Dies lassen sie regelmäßig durch interne Assessments überprüfen. Bei ihrer Arbeit nutzen sie auch die Services anderer Platform-Teams.
Wertschöpfende Zusammenarbeit
Ebenso wichtig wie die Zusammensetzung der einzelnen Teams ist das Zusammenspiel der Teams, um Wertschöpfung und Produktivität zu verbessern. Um lange Abstimmungsrunden und intensive Diskussionen zwischen Teams zu vermeiden, braucht es ein adaptives Zusammenarbeitsmodell. Im Team-Topologies-Ansatz werden dazu drei Varianten der Zusammenarbeit unterschieden.
Facilitating-Modus / Unterstützende Zusammenarbeit
Der Facilitating-Modus wird häufig von Enabling-Teams eingesetzt. Sie nutzen die Form der unterstützenden Zusammenarbeit. Dabei vermitteln Enabling-Teams einem anderen Team Fähigkeiten und Kompetenzen, die in diesem Team zuvor nicht vorhanden waren.
Der Einsatz des Enabling-Teams ist auf diese Aufgabe ausgerichtet und damit begrenzt. Entsprechend findet sich das Enabling-Team nur gelegentlich in der direkten Zusammenarbeit mit anderen Teams.
X-as-a-Service
Wenn die (technischen) Anforderungen und Schnittstellen zu einem Team geklärt sind, bietet sich eine Bereitstellung von Leistungen als Services an. In diesem X-as-a-Service-Team braucht es klare Verantwortlichkeiten, um eine effektive Zusammenarbeit zu schaffen. Dann können Produkt-Teams ihre Services selbst konfigurieren, manuelle Prozesse sind nicht mehr notwendig. Der Vorteil sind sinkende Kommunikationsaufwände und verbindliche Lieferungen von Leistungen.
Voraussetzung für diese Form der Zusammenarbeit sind sauber und eindeutig definierte Schnittstellen.
Direkte Zusammenarbeit
Wenn zwischen Teams komplexe Anforderungen und ein entsprechend hoher Kommunikationsbedarf bestehen, bietet sich die direkte Zusammenarbeit an, die für beide Teams wertschöpfend sein sollte.
Stream-Aligned-Teams setzen häufig auf die direkte Zusammenarbeit. Oftmals ist die direkte Zusammenarbeit die erste Phase, um Schnittstellen zu schaffen.
Autonome, selbstorganisierte Teams stehen im Zentrum bei Devops. Team-Topologies kann helfen, Teams wertschöpfend auszurichten und den Kommunikationsaufwand zu senken. Dieses Koordinatensystem zahlt auf den zielgerichteten Wandel einer Organisation ein – und unterstützt den Einsatz von Devops.