Skip to content
Alle Beiträge

Teil 6 - Die Architektenrolle in DevOps-Teams/Organisationen

ARS_Google Ads_Landscape_1200x628_3Beim Blick zurück auf die vorausgegangenen Blogartikel der Serie fällt vermutlich die große Anzahl an Qualitätsattributen, Architekturpatterns, Technologien und Konzepten auf. Ja, die Welt der Cloud-nativen Architekturen ist in jeglicher Hinsicht vielfältig und komplex.

Seit 2014 verbreitet sich eine Philosophie in IT-Bereichen, die Antworten auf die Herausforderungen bzgl. hoher Komplexität liefern soll. Wir hatten bereits erwähnt, dass Cloud-native Technologien (z.B. aus dem CNCF) für DevOps-Teams konzipiert wurden. Man muss aber auch feststellen, dass ohne cross-funktionales Arbeiten und „Ingenieursdenken“ die Komplexität dieser Architekturen und Technologien schwer beherrschbar sind. Die beiden gehören zusammen wie Popcorn und Kino.

Übergabe von Verantwortung

Ein nicht zu unterschätzendes Erfolgskriterium für DevOps-Organisationen ist die Übergabe von Verantwortung in die Engineering-Teams. Diese Dezentralisierung ist notwendig, um Silos und Flaschenhälse sukzessive abbauen zu können.

Der Software- bzw. Systemarchitekt ist in vielen Organisationen eine Rolle, die häufig zentral bzw. querschnittlich im Organigramm positioniert ist. Wie passt das nun in diese Welt? Gibt es immer noch Bedarf für zentrale Architekten oder sollen cross-funktionale DevOps-Teams diese Rolle nun vollständig selbst übernehmen?

In unserer Praxis haben wir erlebt, dass es weiterhin die Notwendigkeit gibt, bestimmte Architekturaufgaben zentral zu bewältigen. Allerdings sollte dieses zentrale Architekturteam seinen Einfluss nicht vordringlich aus der Hierarchie herleiten, sondern aus dem breit angelegten Respekt gegenüber dem Wissen, dem permanenten Lernen und der sehr guten Kommunikation dieses Teams. Der Fokus sollte hierbei auf folgenden Themen liegen:

  • Die Erstellung von Technologieleitfäden (bzw. Leitlinien),
  • Die Diskussion und Definition von Blueprints
  • Eine zentrale Technologieauswahl, aber stets offen für Verbesserungsvorschläge
  • Standardisierung von diversen Security und Delivery-Abläufen
  • Aufbau von allgemeinen Dingen wie Service-Meshes, einer Event-Infrastruktur u.v.m.

Zielsetzung: Den "Mainstream" finden

Diese Aspekte zentral zu harmonisieren ist enorm wichtig, um in der aktuell immer vielfältigeren IT-Welt die Balance zwischen Verkrustung und Wildwuchs zu finden und zu erhalten. Dabei geht es nicht darum, die Autonomie der DevOps-Teams über Gebühr zu beschneiden, sondern sich täglich aufs Neue im Sinne aller Beteiligten auf einen gemeinsamen „Mainstream“ zu fokussieren.

Am Ende muss in einer DevOps-Organisation der gesamte Schwarm der beteiligten Menschen in der Lage sein, mithilfe von internen Communities, Self-Services, Dokumentation, Consulting durch interne Service-Provider-Teams und auch durch externe Unterstützung die eingesetzten Technologien zu betreiben und ein effizientes Onboarding neuer Teams zu gewährleisten.

Neben den in der Tendenz zentralen Architekturaufgaben fallen auch innerhalb der DevOps-Teams viele gewichtige Architekturentscheidungen an. Dedizierte Rollen gibt es selten in diesem Team, das bedeutet, dass Softwarearchitekten dort mehr Praxisbezug (Entwicklungstätigkeiten, Automatisierung, Testen) haben und stärker im Entwicklungsalltag eingebunden sind als in einer zentralen Architekturrolle.

Es macht Sinn, ein Team-Mitglied im DevOps-Team zu haben, dessen Steckenpferd die Softwarearchitektur ist (inkl. der oben genannten Aufgaben). Allerdings liegt die Qualität in der Verantwortung des ganzen Teams, weshalb auch die Architekturarbeit auf möglichst viele Schultern verteilt werden sollte.2

In dieser Organisationsform wirken daher häufig zentrale Architekten als Agenten in neuen Produktteams für einen temporären Zeitraum mit, um methodisches Wissen zu übergeben.

Oder die Softwarearchitekten aller DevOps-Teams treffen sich regelmäßig z.B. in der Organisationsform einer Gilde, um gemeinsame Erkenntnisse in Leitlinien und Grundsatzentscheidungen zu gießen und auch hier den horizontalen Wissensfluss in der Organisation zu fördern und Entscheidungen am Ende gegebenenfalls auch gemeinsam zurück in die Organisation zu evangelisieren.

Fazit

Das Wesen der Architekturarbeit hat sich im Cloud-native Umfeld nicht verändert. Allerdings ist der Werkzeugkoffer größer geworden. Verteilte Architekturen bzw. dezentrale Organisationsformen und Prozesse führen dazu, dass neben den zentralen Architekturaufgaben auch wesentlich mehr Architekturarbeit innerhalb der DevOps-Teams stattfinden muss.

Diese Teams müssen für diese neue Rolle und Aufgabenstellung vorbereitet und langfristig begleitet werden. Dies ist eine Kernaufgabe zentraler Architekturteams, deren Alltag bei einer Ausrichtung auf Cloud-native durch eine erheblich veränderte Kultur nicht nur in der IT-, sondern der Gesamtorganisation neu geprägt wird.

Weitere Beiträge