Auf einen Blick: Die Struktur des DevOps-Teams konzentriert sich darauf, die Produktbereitstellung und den Wert durch einen multidisziplinären Ansatz zu verbessern. Zu den wichtigsten Teams gehören Geschäftssystemteams und Plattformteams, mit einer optimalen Größe von 5 bis 12 Mitgliedern, um eine effektive Koordination sicherzustellen.
- DevOps-Teams verwalten den gesamten Produktlebenszyklus.
- Agilität, Selbstorganisation und Cross-Funktionalität sind wesentliche Eigenschaften.
Der Fokus auf Produkte statt auf Projekte ist ein Markenzeichen der digitalen Transformation. Und da Unternehmen schneller auf sich wandelnde Kundenbedürfnisse reagieren und Disruptoren abwehren wollen, ist die Notwendigkeit, den End-to-End-Produktlebenszyklus besser zu managen, zu einem entscheidenden Differenzierungsmerkmal geworden. In jüngerer Zeit hat sich DevOps als bevorzugter Ansatz für die Organisation von Produktteams etabliert, um Transparenz über die End-to-End-Wertschöpfungskette zu gewinnen, was unter anderem zu höherer Liefergeschwindigkeit und verbesserter Qualität führt. Der 14. jährliche Bericht zum Stand der agilen Strategie berichtete, dass:
- 76 % der Befragten haben derzeit eine DevOps-Initiative oder planen eine in den nächsten 12 Monaten.
- 90 % der Befragten sagten, DevOps-Transformation sei in ihrer Organisation wichtig.
Wenn DevOps Organisationen einen Mehrwert bieten soll, wie sollten sie ihre Teams strukturieren, um das Beste aus diesem Ansatz herauszuholen? Gibt es eine Standardformel, an die sich alle halten sollten, oder ist sie anpassungsfähig an die spezifischen und einzigartigen Bedürfnisse der Organisation? Dieser Artikel versucht, dieses Thema zu behandeln.
Eigenschaften eines DevOps-Teams
Eine DevOps-Teammentalität unterscheidet sich von traditionellen IT- oder Scrum-Teams , da sie eine Ingenieurmentalität ist, die darauf abzielt, sowohl die Produktbereitstellung als auch den Produktwert für die Kunden während des gesamten Produktlebenszyklus zu optimieren. Damit diese Denkweise Wert liefert, muss das Team die folgenden Qualitäten annehmen, wie sie von DASA definiert sind:
- Agil. Das Team konzentriert sich darauf, Kundenwert entsprechend der verpflichteten Zeit, Qualität und dem Wert zu schaffen. Sie sind transparent in Bezug auf Leistung, Fortschritt und Hindernisse und setzen sich kontinuierlich und unermüdlich nach Verbesserung durch Feedback ein.
- Selbstorganisation. Das Team ist innerhalb festgelegter Grenzen autonom und ist durch eine klare Vision und Zieldefinition auf andere Teams ausgerichtet, daher ist es voneinander abhängig.
- Funktionsübergreifend. Alle erforderlichen Kompetenzen zur Entwicklung und Steuerung von Produkten sollten im Team erfolgen. Das Erreichen von kammenförmigen Kompetenzen ist für alle Teammitglieder bevorzugt, ebenso wie kontinuierlicher Wissensaustausch und Zusammenarbeit.
- Keine Unterteams. Das Team arbeitet optimal als eine Einheit und teilt sich nicht in separate Teams auf, um Arbeitsprobleme zu lösen.
(Entdecken Sie verschiedene Arten von IT-Teams.)
DevOps-Organisationsmodell
Die Struktur, die heute für DevOps-Organisationen am meisten geschätzt wird, ist ein zweistufiger Modus und umfasst:
- Business System Teams , die die volle Verantwortung für den Produktlebenszyklus von Ende zu Ende übernehmen sowie das Geschäfts- und Endnutzermanagement übernehmen.
- Plattformteams , die die zugrundeliegenden Plattformen und Infrastrukturen verwalten und diese als Self-Service für Geschäftssystemteams über APIs präsentieren.
Produktorientierte DevOps-Teams sind multidisziplinär und verfügen über alle für den gesamten Produktlebenszyklus erforderlichen Fähigkeiten. Dies reduziert teure Übergaben und Verzögerungen, wobei das Team sich darauf konzentriert:
- Produktfunktionen so schnell wie möglich an Kunden zu liefern
- Feedback autonom einzubeziehen, ohne bürokratische Hürden durch andere isolierte Einheiten zu überwinden
Moderne DevOps-Teams nutzen Value Stream Mapping , um ihre Aktivitäten zu visualisieren und notwendige Erkenntnisse zu gewinnen, um den Fluss der Produktinkremente und die Wertschöpfung zu optimieren. Ein Beispiel aus Spotify: Die Business-Teams werden Squads genannt, die bestimmte Services (z. B. Suche, Playlist, Player usw.) betreuen. Diese Squads sind klein, multidisziplinär und autonom. Sie arbeiten zusammen und agieren als Mini-Startups, wobei jede Komponente integriert wird, die für die Unterstützung eines Services während seines gesamten Lebenszyklus erforderlich ist. Die Squads sind lose gekoppelt, aber eng aufeinander abgestimmt. Wenn mehrere Squads an einem Feature zusammenarbeiten, bilden sie Tribes. Und für Spezialisten wie DBAs oder JavaScript-Entwickler gibt es:
- Kapitel zur Angleichung von Standards
- Gilden für Gemeinschaften, die Best Practices über die gesamte Organisation hinweg teilen möchten
Plattformteams bei Spotify werden Betriebsteams genannt. Ihre Rolle unterscheidet sich jedoch von dem traditionellen IT-Operations-Team, das an Bereitstellung und Support beteiligt ist. Ihr Kernauftrag ist es:
- Bauen Sie die Pipeline zur Produktion auf, die von den Geschäftsteams genutzt wird.
- Stellen Sie die Infrastruktur und Automatisierungstools bereit, die die Geschäftsentwickler benötigen, um den Code selbst zu veröffentlichen und zu unterstützen.
- Stellen Sie sicher, dass die zugrundeliegende Infrastruktur und Plattformen die Dienste durch Kapazitäts- und Verfügbarkeitsplanung, Überwachung und Optimierung effektiv unterstützen können.
DevOps-Teamnummer
Die optimale Größe eines DevOps-Teams ist umstritten. Natürlich ist ein kleines Team aus mehreren Gründen vorzuziehen:
- Koordination ist einfacher
- Die Entscheidungsfindung zieht sich nicht in die Länge
- Das Gelling würde nicht lange dauern
Das Risiko bei kleinen Teams bedeutet jedoch, dass es eine Herausforderung sein kann, alle erforderlichen Fachkenntnisse zu erlangen, und der Verlust eines Teammitglieds könnte den Durchsatz des Teams erheblich beeinträchtigen. Allgemein gilt, dass Teamgrößen zwischen 5 und 12 liegen sollten.
DevOps-Teamrollen
Da erwartet wird, dass das DevOps-Team die End-to-End-Verantwortung für den Service trägt, umfassen einige der erwarteten Rollen innerhalb des Teams:
- Der Product Owner steuert die Interaktion mit dem Kunden, um die Anforderungen zu verstehen, und arbeitet mit dem restlichen Team zusammen, um deren Lieferung zu priorisieren und Feedback einzubeziehen.
- Der Teamleiter übernimmt die Aufsicht und leitet das Team basierend auf dem gewählten Ansatz (z. B. Scrum, Kanban, Lean usw.). Unterstützt außerdem die Koordination mit anderen Teams.
- Der Solution Architect ermittelt, wie die Anforderungen im Einklang mit der Organisation und den bestehenden Systemen gestaltet werden.
- Entwickler übersetzen das Design in Code und unterstützen den Code durch Tests und Deployment.
- Qualitätssicherung (QA) validiert das Produkt, um sicherzustellen, dass es sowohl Kunden- als auch Organisationsanforderungen während der gesamten Entwicklungs- und Bereitstellungsphase erfüllt.
- Der Platform Engineer unterstützt die Plattformteams, um sicherzustellen, dass die Umgebung die Produkte effektiv unterstützt, und nutzt die bereitgestellten Werkzeuge, um Integration und Bereitstellung zu automatisieren.
Da jede Organisation unterschiedlich ist, können die Rollen je nach Fähigkeiten des Teams von Einzelpersonen übernommen oder gemischt sein. Doch während das Team weiterhin zusammenarbeitet, findet eine Gegenseitigkeit statt, da Wissen und Verantwortung geteilt werden. Der Upskilling-Bericht des DevOps Institute 2021 bewertete die wichtigsten Fähigkeiten, die ein DevOps-Teammitglied benötigt, sind:
- Automatisierungsfähigkeiten: Ersetzung manueller Aktivitäten, Aufgaben oder Ereignisse
- Menschliche (weiche) Fähigkeiten: Zusammenarbeit, Kommunikation, Empathie
- Technische Fähigkeiten: Programmierung, Cloud, Microservices, APIs
- Spezifische Automatisierungstools-Fähigkeiten: CI/CD, Orchestrierung
- Funktionales Wissen: Entwicklung, Betrieb, Sicherheit
- Prozessfähigkeiten und -wissen: SAFe, SRE, ITIL®
- Geschäftskompetenz: Planung, Finanzen, Vertrieb
Tauchen Sie tiefer in DevOps-Stellenbezeichnungen, Rollen und Verantwortlichkeiten ein, im nächsten Artikel unseres DevOps-Leitfadens.
Verwandte Literatur
DevOps-Leitfaden
- Was ist DevOps? Eine umfassende Einführung
- Eine kurze Geschichte von DevOps
- Einführung in die DevOps-Architektur
- Automatisierung in DevOps: Warum und wie man DevOps-Praktiken automatisiert
- Was ist CI/CD? Kontinuierliche Integration und kontinuierliche Lieferung erklärt
- Wie man eine CI/CD-Pipeline mit Jenkins aufbaut
- DevOps-Metriken zur Optimierung von CI/CD-Pipelines
- Kontinuierliche Liefermetriken
- Ist Continuous Integration in Continuous Deployment ein Fortschritt – oder nicht?
- Unterschiede zwischen Continuous Integration (CI), Delivery (CD) und Deployment
- Quellcode und Versionskontrolle in DevOps
- Was ist kontinuierliche Testung?
- Testautomatisierungs-Frameworks: Der ultimative Leitfaden
- Release Management in DevOps
- Erklärt: Monitoring & Telemetrie in DevOps
- Anwendungs-Leistungsmanagement in DevOps
- DevOps-Orchestrierung im SDLC
- Einführung in Datenbank-DevOps
- Die Rolle der Microservices in DevOps
- Die Rolle der Virtualisierung in DevOps
- Container & DevOps: Wie Container in DevOps-Lieferpipelines passen
- Was ist eine Containerpipeline?
- Was ist eine DevOps-Toolchain?
- Verwaltung von Containern und Code für DevOps
- Die Rolle von Agile in DevOps
- Die Rolle der Cloud in DevOps
- Was ist FinDevOps?
- Top-DevOps-Trends im Jahr 2022
- DevOps-Werte & Prinzipien
- DevOps-Kennzahlen und KPIs
- DevOps-Ratschläge für kleine, mittlere und große Organisationen
- DevOps-Teamstruktur
- Top-DevOps-Bücher, die man heute lesen sollte
- Buchrezension von The Phoenix Project: DevOps For Everyone
- DevOps-Influencer: 11 DevOps-Experten, denen Sie auf Twitter folgen können
- GitHub, GitLab, Bitbucket & Azure DevOps: Was ist der Unterschied?
- Best Practices: Wie man Anwendungen für Kubernetes architekt
- Konfigurationsmanagement in DevOps
- DevOps-Verzweigungsstrategien erklärt
- DevOps-Jobbezeichnungen, Rollen und Verantwortlichkeiten
- Testen in DevOps: Konzepte, Best Practices und mehr
- Der vollständige DevOps-Zertifizierungsleitfaden für 2022
- Was ist das Kubernetes-Operator-Muster?
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.