luckynicky25 - stock.adobe.com
Aufbau einer DevOps-Kultur: Ein Leitfaden für Führungskräfte
Eine effektive DevOps-Kultur verbindet Zusammenarbeit, gemeinsame Verantwortung, Automatisierung und kontinuierliches Lernen. Dieser Leitfaden unterstützt Führungskräfte hierbei.
Der Erfolg von DevOps hängt zum Teil von der Implementierung der richtigen technischen Tools und Prozesse ab.
Ebenso wichtig ist jedoch eine effektive DevOps-Kultur innerhalb des Unternehmens – eine Kultur, die zentrale DevOps-Werte wie Zusammenarbeit und Automatisierung fördert. Nur wenn die DevOps-Kultur fest in der Denk- und Handlungsweise der Beteiligten verankert ist, können Unternehmen die Kluft zwischen DevOps-Theorie und DevOps-Praxis überbrücken.
Für Führungskräfte ist es entscheidend, eine gesunde DevOps-Kultur in ihren Unternehmen zu etablieren und die kulturellen Werte von DevOps im Laufe der Zeit weiterzuentwickeln und zu skalieren. Dieser Artikel erläutert die Faktoren, die eine DevOps-Kultur ausmachen, praktische Wege zum Aufbau einer starken Kultur sowie Methoden zur Messung und Verbesserung ihrer Wirksamkeit.
Grundpfeiler der DevOps-Kultur
Auch wenn der Begriff DevOps-Kultur auf den ersten Blick vage erscheinen mag, handelt es sich um ein konkretes Konzept, das mit spezifischen DevOps-Werten und -Praktiken im Einklang steht. Eine effektive DevOps-Kultur basiert auf den folgenden Kernmerkmalen.
1. Zusammenarbeit
Der Kernzweck von DevOps ist es, Zusammenarbeit zu ermöglichen. Traditionelle Ansätze von DevOps legten den Schwerpunkt auf die Zusammenarbeit zwischen Softwareentwicklern und IT-Betriebsteams, doch das Konzept bezieht mittlerweile oft auch andere Stakeholder – wie Ingenieure in der Qualitätssicherung und Sicherheitsingenieure – mit ein. Um DevOps effektiv umzusetzen, müssen diese verschiedenen Rollen in Unternehmen bei der Softwarebereitstellung und -verwaltung zusammenarbeiten und sich abstimmen.
Zu diesem Zweck ist die DevOps-Kultur von einer Collaboration-First-Mentalität geprägt. Ingenieure sollten instinktiv darauf hinarbeiten, Aufgaben gemeinsam zu erledigen, wann immer dies angemessen ist – unabhängig davon, ob formelle Strukturen für die Zusammenarbeit vorhanden sind oder nicht.
Ingenieure sollten zudem beurteilen, wie ihre Schwerpunktbereiche – wie Softwareentwicklung oder Sicherheit – andere ergänzen, mit dem Ziel sicherzustellen, dass ihre Arbeit niemals auf Kosten anderer Prioritäten geht. Wenn Entwickler beispielsweise eine neue Anwendungsfunktion planen, sollten sie sich fragen: „Wie wirkt sich dies auf die Verwaltbarkeit nach der Bereitstellung für das IT-Ops-Team aus?“ oder „Welche Auswirkungen hat dies auf die Sicherheit?“
Wenn solche Überlegungen ein natürlicher Bestandteil von DevOps-Prozessen sind, ist dies ein Zeichen dafür, dass das Unternehmen über eine gesunde DevOps-Kultur verfügt.
2. Gemeinsame Verantwortung und Rechenschaftspflicht
Gemeinsame Verantwortung und Rechenschaftspflicht gehen Hand in Hand mit Zusammenarbeit. Erst wenn Ingenieure in Begriffen wie „unsere Ziele und Verantwortlichkeiten“ statt „meine Ziele und Verantwortlichkeiten“ denken, kann Zusammenarbeit voll zur Entfaltung kommen.
Das bedeutet nicht, dass Ingenieure, die eine DevOps-Kultur leben, alle Aufgaben gemeinsam erledigen oder keine individuellen Verantwortungs- oder Schwerpunktbereiche haben. Im Gegenteil: Eine vielfältige Bandbreite an Spezialisierungen und Rollen ist für DevOps von zentraler Bedeutung. Gleichzeitig sollten die Beteiligten berücksichtigen, wie sich ihre Arbeit auf die Teamergebnisse auswirkt.
Ebenso wichtig ist, dass bei Problemen – wie beispielsweise einem schwerwiegenden Softwarefehler, den Ingenieure vor der Bereitstellung einer App nicht erkennen – die Reaktion darauf darauf ausgerichtet sein sollte, die Prozesse für das gesamte Team zu verbessern, um eine Wiederholung des Fehlers zu verhindern, anstatt Einzelpersonen die Schuld zu geben.
3. Automatisierung
Eine kulturelle Betonung der Automatisierung fördert DevOps, indem sie Ingenieure dazu veranlasst, Automatisierung wann immer möglich zu bevorzugen.
Dies ist wichtig, denn obwohl Automatisierung für die Skalierung von DevOps-Prozessen und deren Effizienzsteigerung unerlässlich ist, zögern Stakeholder manchmal, sie voll und ganz anzunehmen. Sie befürchten möglicherweise, dass sie Automatisierungen nicht vertrauen können oder dass ihre Arbeitsplätze wegfallen, wenn zu viel automatisiert wird. Die letztgenannte Sorge hat besonders an Bedeutung gewonnen, da KI in Arbeitsabläufen immer häufiger zum Einsatz kommt.
Eine gesunde DevOps-Kultur zeichnet sich durch eine positive Einstellung zur Automatisierung aus. Ingenieure sollten Automatisierungswerkzeuge als Mittel zur Reduzierung von mühsamer und langwieriger Arbeit betrachten, nicht als Ersatz für Menschen. Sie sollten auch verstehen, dass es wichtig ist, Menschen in den Prozess einzubeziehen, indem sie automatisierte Prozesse überwachen, um Risiken zu mindern, beispielsweise dass Tools unerwünschte automatisierte Aktionen ausführen.
4. Lernen und kontinuierliche Verbesserung
Eine letzte Säule einer effektiven DevOps-Kultur ist der Wunsch, kontinuierlich zu lernen und sich zu verbessern.
DevOps sollte niemals eine einmalige Angelegenheit sein; Unternehmen sollten nicht einfach DevOps-Tools und -Praktiken einführen und davon ausgehen, dass sie die Softwarebereitstellung damit vollständig optimiert haben. Stattdessen müssen sie kontinuierlich nach Wegen suchen, um DevOps wirkungsvoller zu gestalten. Sie sollten beispielsweise nach neueren Automatisierungsansätzen oder besseren Prozessdesigns suchen, um die Softwarebereitstellung weiter zu beschleunigen.
Entwickler, die Lernen und kontinuierliche Verbesserung zu einer kulturellen Priorität machen, müssen auch offen dafür sein, die Effektivität der aktuellen Abläufe zu verfolgen und Wege zur Verbesserung zu finden. Sie sollten Anzeichen von Mängeln, wie verpasste Software-Release-Ziele, als Chancen zur Verbesserung betrachten und nicht als beschämende Misserfolge.
Die Rolle der Führungsebene bei der Förderung der DevOps-Kultur
Um effektiv zu sein, muss die DevOps-Kultur das gesamte Unternehmen durchdringen und darf nicht nur ein Wert für Führungskräfte sein. Dennoch spielen Führungskräfte eine wichtige Rolle bei der Förderung der DevOps-Kultur.
Sie sollten damit beginnen, zentrale kulturelle Werte von DevOps vorzuleben, wie Zusammenarbeit, Verantwortlichkeit, geteilte Verantwortung und kontinuierliche Verbesserung. Wenn Entwickler sehen, dass Führungskräfte diese Prioritäten vertreten, sind sie eher bereit, es ihnen gleichzutun.
Ein weiterer wichtiger Schritt für Führungskräfte ist es, Anreize und KPIs an den Werten der DevOps-Kultur auszurichten. Um beispielsweise eine Kultur zu fördern, die kontinuierliche Verbesserung schätzt, sollten Führungskräfte DevOps-Teams nicht nur dafür belohnen, wie oft sie die Zielkennzahlen für die Software-Release-Geschwindigkeit erreichen, sondern auch dafür, wie schnell sie diese Kennzahlen im Laufe der Zeit verbessern.
Schließlich können Führungskräfte die kulturellen Werte von DevOps fördern, indem sie den Teams die Autonomie gewähren, die sie für eine effektive Arbeit benötigen, und gleichzeitig klare Grenzen setzen. Im Allgemeinen ist es eine bewährte Vorgehensweise, zu definieren, was von jedem Team im Kontext von DevOps und Softwarebereitstellung erwartet wird – und was nicht –, während den Teams die Freiheit gewährt wird, selbst zu entscheiden, wie sie ihre Aufgabe erfüllen.
Dies ist wichtig, da es klare Erwartungen daran setzt, was Teams tun müssen und wie diese Erwartungen mit den DevOps-Zielen und kulturellen Werten in Einklang stehen. Gleichzeitig gibt es den Ingenieuren den Spielraum, den sie benötigen, um die DevOps-Kultur nach ihren eigenen Vorstellungen in die Praxis umzusetzen, ohne das Gefühl zu haben, dass sie ihnen von der Führungsebene aufgezwungen wird.
Wie man eine DevOps-Kultur in der Praxis aufbaut
Der genaue Prozess zur Umsetzung der DevOps-Kultur in die Praxis wird natürlich von Organisation zu Organisation variieren. Im Allgemeinen sind jedoch die folgenden Maßnahmen entscheidend, um die kulturellen Werte von DevOps zu einem festen Bestandteil der täglichen Arbeitsweise von Organisationen zu machen:
- Beseitigen Sie organisatorische Silos. Zusammenarbeit funktioniert nicht gut, wenn verschiedene Interessengruppen, wie Entwickler und IT-Ops-Ingenieure, Schwierigkeiten haben, sich gegenseitig zu identifizieren oder miteinander zu kommunizieren. Es ist entscheidend, organisatorische oder bürokratische Barrieren zu beseitigen, die die funktionsübergreifende Interaktion behindern.
- Entwickeln Sie die Organisationsstruktur weiter. In manchen Fällen sind strukturelle Veränderungen, wie die Besetzung funktionsübergreifender Rollen, die sowohl die Softwareentwicklung als auch den IT-Betrieb umfassen, erforderlich, um eine organisatorische Grundlage zu schaffen, die die DevOps-Kultur aufnehmen kann.
- Integrieren Sie die DevOps-Kultur in den Einstellungsprozess. Einstellungsprozesse sollten so gestaltet sein, dass sie beurteilen, wie Kandidaten die Werte der DevOps-Kultur einschätzen. Dies lässt sich konkret umsetzen, indem beispielsweise Finalisten für Entwicklerpositionen dazu aufgefordert werden, bei Programmiertests mit anderen Ingenieuren des Unternehmens zusammenzuarbeiten, anstatt der üblicheren Praxis, Bewerbern Programmieraufgaben zuzuweisen, die sie alleine erledigen müssen.
- Führen Sie einen schuldfreien Ansatz und eine entsprechende Fehlerkultur ein. Die Umsetzung der DevOps-Kultur wird einfacher, wenn ein Unternehmen Blameless-Prinzipien anwendet: Fehler werden nicht als Versagen einzelner Personen, sondern als Versagen der Organisation als Ganzes betrachtet, und es werden Wege gefunden, die Prozesse entsprechend zu verbessern.
- Bieten Sie Weiterbildungsmöglichkeiten an. Die Führungsebene kann dazu beitragen, eine DevOps-Kultur des kontinuierlichen Lernens zu fördern, indem sie Ingenieuren Zugang zu Schulungs- und Zertifizierungsmöglichkeiten bietet. Es ist ebenfalls hilfreich, Ingenieuren Zeit einzuräumen, in der sie sich auf das Lernen konzentrieren können – anstatt zugewiesene Aufgaben zu erledigen.
- Kommunizieren Sie klar über Automatisierung. Um das Risiko zu mindern, dass Ingenieure der Automatisierung skeptisch gegenüberstehen, sollten Führungskräfte klar definieren, welche Rollen sie von Ingenieuren in hochautomatisierten Umgebungen erwarten. Dies vermittelt die Botschaft, dass Automatisierung auf Menschen angewiesen ist, anstatt sie zu ersetzen.
- Holen Sie Feedback ein. In einer gesunden DevOps-Kultur sollte es für jeden auf jeder Ebene der Unternehmenshierarchie einfach sein, Ideen zur Verbesserung der DevOps-Kultur oder -Praktiken einzubringen. Dies ist ein weiterer wichtiger Schritt zum Aufbau einer organischen DevOps-Kultur, anstatt einer, die von oben herab aufgezwungen wird.
- Messen Sie die Wirksamkeit der DevOps-Kultur. Die kontinuierliche Messung der Auswirkungen der DevOps-Kultur auf das Geschäft ist wichtig, um Wege zur fortlaufenden Verbesserung zu finden.
Messung der DevOps-Kultur und -Reife
Es ist üblich, dass Unternehmen eine Vielzahl von DevOps-Kennzahlen verfolgen, wie beispielsweise die Häufigkeit der Softwarebereitstellung, die Durchlaufzeit für Änderungen und die Ausfallrate. Dabei handelt es sich im Kern um technische Kennzahlen.
Diese Kennzahlen spiegeln jedoch nicht nur die technische Effektivität von DevOps-Tools und -Praktiken wider, sondern auch die der DevOps-Kultur. Eine geringe Bereitstellungshäufigkeit kann beispielsweise eher auf Probleme bei der Zusammenarbeit als auf Tooling-Probleme zurückzuführen sein.
Daher ist es wichtig, kulturelle Signale von den Ergebnissen der Tools zu unterscheiden, um den Zustand und die Reife der DevOps-Kultur zu messen. Dazu müssen Unternehmen in die qualitative Analyse von DevOps-Kennzahlen investieren. Wenn quantitative Daten zu DevOps-Prozessen Anomalien aufzeigen, sollten Führungskräfte aus dem Geschäftsbereich und der Technik die Daten genauer untersuchen, um festzustellen, welche Rolle die Kultur spielt und ob kulturelle Veränderungen dazu beitragen können, unerwünschte Ergebnisse zu mindern.
Wenn beispielsweise die Bereitstellungshäufigkeit aufgrund mangelnder Zusammenarbeit langsam ist, sollten Führungskräfte prüfen, ob bürokratische Hürden eine reibungslose Zusammenarbeit behindern, und, falls ja, diese Silos aufbrechen. Dies ist ein Beispiel für eine umsetzbare Veränderung, die die Einführung der DevOps-Kultur optimieren und damit messbare DevOps-Ergebnisse verbessern kann.
Fazit: Ein sinnvoller Ansatz für die DevOps-Kultur
Es ist leicht, über die kulturellen Werte von DevOps zu sprechen oder zu behaupten, dass ein Unternehmen über eine DevOps-Kultur verfügt. Es kann jedoch viel schwieriger sein, eine DevOps-Kultur in der Praxis umzusetzen und zu skalieren.
Dies lässt sich jedoch durch eine zielgerichtete Führung erreichen, die umsetzbare Praktiken – wie die oben beschriebenen – anwendet, um DevOps-Werte zu veranschaulichen und deren organische Übernahme im gesamten Unternehmen zu fördern. Wenn dies geschieht, profitieren Unternehmen von einem kulturellen Fundament, das Geschwindigkeit, Zuverlässigkeit und Skalierbarkeit in allen Phasen des Softwarebereitstellungsprozesses maximiert.