Topics Devops Erstellen der idealen DevOps-Teamstruktur

Erstellen der idealen DevOps-Teamstruktur


Für die richtige Balance in deinem DevOps-Team gibt es kein allgemein gültiges Rezept.

Wie sollte man die Struktur des DevOps-Teams konzipieren?

Eine solide DevOps-Plattform benötigt eine ebenso solide DevOps-Teamstruktur, um maximale Effizienz zu erreichen.

Beim Aufbau einer robusten DevOps-Teamstruktur geht es nicht nur darum, eine Gruppe von Personen mit technischem Wissen zusammenzubringen, sondern es soll auch eine DevOps-Kultur entstehen, bei der Zusammenarbeit, kontinuierliche Verbesserung und Effizienz im gesamten Produktlebenszyklus im Vordergrund stehen.

Wenn Unternehmen ihren Softwareentwicklungsprozess optimieren möchten, ist es ausschlaggebend, die Rollen der DevOps Engineers sowie des Entwicklungsteams zu verstehen und zu erkennen, wie Automatisierungstools die Produktivität steigern können. Diese ganzheitliche Sichtweise hilft dabei, eine DevOps-Struktur aufzubauen, die den übergeordneten Zielen entsprechen, nämlich einer zuverlässigen Softwarebereitstellung und einer produktiven Arbeitsumgebung.

Für die Teamstruktur spielen mehrere Faktoren eine Rolle:

  • Bestehende Silos: Gibt es Produktsets/Teams, die unabhängig arbeiten?
  • Technische Führung: Gibt es Grupenmanager(innen), um DevOps-Ziele zu erreichen?
  • Wechselnde Rollen: Ops-Aufgaben sind in Entwicklungsrollen übergegangen, Sicherheitsteams arbeiten mit allen zusammen und die Technologie verändert sich. Stelle dich darauf ein, dass du alles regelmäßig neu bewertest.
  • Kontinuierliche Verbesserung: Ein DevOps-Team wird nie „fertig“ sein. Iteration ist erforderlich.

Arten von Silos

Die Aufteilung von Dev und Ops in separate Teams führt oft zu Herausforderungen im Bereitstellungsprozess. Eine DevOps-Kultur, in der gemeinsame Tools integriert sind, kann diese Lücken jedoch schließen.

Der Managementberater Matthew Skelton beschreibt zahlreiche DevOps-Szenarien im Detail. Wir sehen uns nun einige der Silos, die er spezifisch erwähnt, an und sehen, wie sich diese auf ein Unternehmen auswirken können.

Dev (Entwicklung) und Ops (Betrieb) sind völlig getrennt

Skelton bezeichnet diese Teamstruktur als klassisches „Aus den Augen, aus dem Sinn“ und impliziert, dass dies vielleicht nicht die effektivste DevOps-Strategie ist. Beide Teams arbeiten in ihrer jeweiligen Blase und haben keinen Einblick in den Workflow des anderen Teams. Bei dieser vollständigen Trennung fehlt es an Zusammenarbeit, Transparenz und Verständnis – wichtige Komponenten einer effektiven DevOps-Strategie. Dies führt in weiterer Folge zu Schuldzuweisungen: „Wir wissen ja nicht, was die da drüben machen. Wir haben unseren Teil erledigt und jetzt sind sie dran, das Ganze abzuschließen“ und so weiter.

DevOps-Middleman

Bei dieser Teamstruktur sind die Dev- und Ops-Teams weiterhin getrennt, aber es gibt nun auch ein „DevOps“-Team, das sich dazwischen befindet und eine Art Mittelsmann ist. Dies ist nicht unbedingt schlecht, und auch Skelton betont, dass dieses Arrangement in gewissen Anwendungsfällen sinnvoll sein kann. Wenn es zum Beispiel eine vorübergehende Lösung ist, um Dev und Ops in Zukunft zusammenzuführen, kann es eine gute Übergangsstrategie sein.

Ops steht alleine da

In diesem Szenario werden Dev und DevOps zusammengeführt, während Ops alleine in einem Silo bleibt. Solche Unternehmen sehen den Betrieb immer noch als etwas, das Initiativen in der Softwareentwicklung unterstützt und nicht als etwas, das selbst einen Wert hat. Dabei laufen die Unternehmen Gefahr, von grundlegenden organisatorischen Fehlern betroffen zu sein. Sie könnten viel erfolgreicher sein, wenn sie den Wert verstehen würden, den der Betrieb bringen kann.

Was kann die DevOps-Teamleitung tun?

Um DevOps-Teamsilos aufzubrechen, ist Führung auf allen Stufen erforderlich. Bitte jede Gruppe, die wichtigsten Reibungsbereiche zu nennen und identifiziere dann Leader in jeder Gruppe – in der Entwicklung, im Betrieb, in der Sicherheit und beim Testen. Die Leader sollten individuell sowie gemeinsam an den Reibungspunkten arbeiten.

Es kann gar nicht genug betont werden, wie wichtig Kommunikation ist: Teams müssen regelmäßig Feedback zu allen Aspekten ihrer Position erhalten.

Es kann auch hilfreich sein, „Champions“ in Gruppen mit Problemen einzuführen. Sie dienen als Vorbilder und Sprachrohre, die Kommunikation und Kooperation fördern.

Unklare DevOps-Rollen

Technologische Fortschritte von Multicloud zu Microservices und Containern spielen ebenfalls eine Rolle, wenn es darum geht, die richtige DevOps-Teamstruktur zu definieren. In unserer globalen DevSecOps-Umfrage 2020 gaben 83 % der Befragten an, dass ihre Teams Code schneller veröffentlichen, aber sie gaben auch an, dass sich ihre Rollen in einigen Fällen dramatisch verändert haben.

Die Entwickler(innen) erstellen, überwachen und pflegen heute Infrastrukturen – Rollen, die traditionell Aufgabe der Ops-Profis waren. Ops verbringt dagegen mehr Zeit mit der Verwaltung von Cloud-Services, während die Mitglieder des Sicherheitsteams mehr denn je in funktionsübergreifenden Teams mit Dev und Ops arbeiten.

Offensichtlich ist der Softwareentwicklungszyklus heute voller beweglicher Elemente, was bedeutet, dass die Definition der richtigen Struktur für ein DevOps-Team flexibel bleiben und regelmäßig neu bewertet werden muss.

Denke an Iterationen

Bei GitLab ist Iteration einer unserer wichtigsten Werte. Das gilt auch für unsere eigene DevOps-Teamstruktur. Da GitLab eine komplette DevOps-Plattform ist, die als einzelne Anwendung bereitgestellt wird, sind unsere Entwicklungsteams in Phasen organisiert (z. B. Verifizieren usw.), da dies bei einem anderen Unternehmen separate Produkte wären und ihre eigene Autonomie erfordern. Neben der Entwicklung haben wir auch andere funktionale DevOps-Gruppen, die für andere Aspekte unseres Produkts zuständig sind.

Wir haben unter anderem eine Zuverlässigkeitsgruppe, die die Uptime und Zuverlässigkeit von GitLab.com verwaltet, eine Qualitätsabteilung und ein Vertriebsteam. Die Art und Weise, wie all diese Teile zusammenspielen, verdeutlicht, wie wichtig uns Transparenz und Sichtbarkeit im gesamten SDLC sind. Aber wir optimieren (d. . iterieren) diese Struktur auch regelmäßig, damit alles funktioniert.

Kurz gesagt: Plane, dein DevOps-Team aufzubauen, und überdenke es dann wieder und wieder. Die Vorteile schnellerer Code-Veröffentlichungen und zufriedenerer Teammitglieder werden sich lohnen.

Fazit

Der Weg zur Optimierung einer DevOps-Teamstruktur ist iterativ und spiegelt die kontinuierlichen Fortschritte bei DevOps-Prozessen und -Tools wider. Jedes Element spielt eine entscheidende Rolle für den Erfolg des Teams. Durch das Aufbrechen althergebrachter Silos und die Integration von Rollen in DevOps-Teams können Unternehmen eine kohärentere und effizientere Umgebung erzielen.

Der Schlüssel zu nachhaltiger Verbesserung liegt letztendlich in der regelmäßigen Neubewertung und Verfeinerung der DevOps-Struktur, um mit den sich schnell weiterentwickelnden Anforderungen der Softwareproduktion und -bereitstellung Schritt zu halten. Dieses Engagement beschleunigt nicht nur den Prozess der Softwareentwicklung, sondern führt auch zu einem widerstandsfähigeren und reaktionsschnelleren Unternehmen.

Abbildung der DevSecOps-Landschaft

Bist du bereit?

Sieh dir an, was dein Team mit einer einheitlichen DevSecOps-Plattform erreichen könnte.