19,99 €
DevOps ist in aller Munde. Oft wird es sehr technisch dargestellt, sei es in Hinblick auf die einzusetzenden Methoden und Frameworks oder auch in Hinblick auf Techniken und Entwicklungs-Frameworks. Martin J. Adams ist ausgewiesener Fachmann für agile Vorgehensweisen, speziell zu den Themenbereichen "Führung" und "Organisationsentwicklung". Im vorliegenden Band stellt er die wichtigsten Methoden im Kontext von DevOps und die sich daraus ergebenden Maßnahmen und Methoden für Führungspersonen dar, welche ihre Teams dabei unterstützen wollen, mit DevOps erfolgreich zu sein und damit einen wertvollen Beitrag zum Unternehmenserfolg zu leisten.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 75
Veröffentlichungsjahr: 2021
Einleitung
Was bedeutet DevOps?
Die Geschichte von DevOps
Der Nutzen von DevOps
DevOps-Kultur
Grundlegende DevOps-Verfahren
Continuous
Continuous Integration ist der erste Schritt
Continuous Delivery und Continuous Deployment
Was ist DevOps-Führung?
Transformationale Führung
5-Stufen-Führungsmodell
Veränderung nach Lewin und die kontinuierliche Verbesserung
Auftauen (Unfreeze)
Veränderung (Change)
Einfrieren (Refreezing)
Schritte zur Einführung und Optimierung von DevOps
Auftauen – die Notwendigkeit der Veränderung
Verändern – die Transformation planen und angehen
Stakeholder-Management
Identifikation der Stakeholder
Kategorisierung der Stakeholder
Stakeholder-Bedürfnisse analysieren und Ziele setzen
Durchführen und Überwachen – ggf. Ergreifen von Korrekturmaßnahmen
Verändern – Rahmenbedingungen, Konzepte und Maßnahmen
Unternehmenskultur – die Grundlage
Funktionsübergreifende selbstorganisierte Teams
Ein agiles Team und seine Umwelt
Teams und ihre Befugnisse
DevOps und die Kunden
DevOps und die Prozesse
DevOps und Scrum
DevOps und Qualitätssicherung
Einfrieren – Ergebnisse validieren und kontinuierliche Verbesserung etablieren
Kontinuierliche Verbesserung und Kaizen
Nachwort
Literaturliste
„DevOps bedeutet eine agile IT (Betriebs-) Bereitstellung, was erforderlich ist, um dem Rhythmus der agilen IT Entwicklung zu entsprechen. DevOps ist eine Philosophie, nicht eine Methode, ein Modell, ein Wissensfundus, oder *schauder* ein käufliches Werkzeug. DevOps ist die Philosophie der Vereinheitlichung von Entwicklung und Betrieb auf Kultur-, Praxis- und Werkzeug-Ebene, um eine schnellere und häufigere Umsetzung von Änderungen in der Produktion zu erreichen.
Kultur=Verhalten, Zusammenarbeit, Verantwortlichkeit/Haftung, Vertrauen/Bevollmächtigung…
Praxis=Grundsatz, Rollen/RACI, Prozesse/Prozeduren, Metriken/Berichtswesen, KPIs/Verbesserung…
Werkzeug=Geteiltes Wissen, gegenseitiger Werkzeugbau, gemeinsame Technologieplattformen…
1
“
Wenn wir uns über DevOps unterhalten, ist dies nicht so einfach. Je nachdem, mit wem Sie sprechen, bedeutet DevOps etwas vollkommen Unterschiedliches. Es scheint zwar irgendwie mit den anderen Bedeutungen und Deutungen verwandt zu sein, ist aber nichtsdestotrotz im Alltag so weit von anderen Sichtweisen entfernt, dass die Exponenten verschiedener Ansätze und Herangehensweisen nur schwer eine gemeinsame Gesprächsbasis finden können.
Im vorliegenden Buch werden wir uns mit dem Thema DevOps aus Sicht der Führung auseinandersetzen. Dies bedeutet, dass wir uns insbesondere mit den Aspekten in Hinblick auf Kultur und Modell auseinandersetzen und dabei natürlich einen Überblick über verschiedene eingesetzte Methoden gewinnen wollen. Außerdem werden wir uns mit schwergewichtigen Themen wie der Führung im DevOps-Kontext sowie auch mit der in diesem Kontext wichtigen Fragestellung der Einführung und Entwicklung von DevOps aus Leadership-Sicht auseinandersetzen und daraus Anforderungen an die Rolle und Aufgabenstellung der Führung im agilen Kontext, insbesondere im Kontext von DevOps, erarbeiten.
1 Rob England: Define DevOps. What is DevOps? In: The IT Skeptic. 29. November 2014, abgerufen am 17. Februar 2016 (englisch).
DevOps fokussiert eine Zusammenarbeit zwischen Entwicklung und Betrieb, die eine veränderte Denkweise, eine bessere Zusammenarbeit und eine engere Integration betont. Dazu werden unterschiedlichste Konzepte und Techniken kombiniert, um effizienter zu sein, schneller zu innovieren und Unternehmen und Kunden einen höheren Wert zu bieten.
Der Beginn der DevOps-Bewegung lässt sich auf das erste Jahrzehnt des 21. Jahrhunderts zurückverfolgen. Sie entstand als Reaktion auf die festgestellten Zielkonflikte zweier Bereiche in der IT von Unternehmen.
Zum einen war da der Entwicklungsbereich, dessen Aufgabenstellung darin besteht, möglichst schnell neue Lösungen für Probleme zu entwickeln und in Betrieb zu nehmen. Auf der anderen Seite der IT-Betrieb, dessen Aufgabenstellung darin besteht, Stabilität, Sicherheit und Kontinuität der bestehenden Lösung herzustellen, um damit die Verfügbarkeit der Programme und Funktionen sicherzustellen. So waren quasi zwei Bereiche faktisch aneinandergebunden, welche verschiedene Zielvorgaben zu erfüllen hatten.
Mit Aufkommen der DevOps-Bewegung wurden Ansätze gesucht, wie dieser Zielkonflikt überwunden werden könnte und damit sozusagen der maximale Kundennutzen aus beiden Bereichen zu realisieren wäre. In diesem Kontext wurden verschiedenste Techniken evaluiert und teils auch neu entwickelt. Daneben kamen aber vor allem auch Maßnahmen zum Zuge, welche die Kommunikation und Zusammenarbeit zwischen Entwicklung (Dev) und Operations (Ops) unterstützen sollten und dabei das Silodenken der beiden Bereiche aufweichen würden.
Der Aufbau einer Kultur der gemeinsamen Verantwortung, der Transparenz und des schnelleren Feedbacks ist die Grundlage jedes leistungsstarken DevOps-Teams. Zentrale Erfolgsfaktoren für die Realisierung maximalen Nutzens mit DevOps sind die Etablierung einer Kultur der Zusammenarbeit und der gemeinsamen Problemlösung.
Teams, die in Silos arbeiten, halten sich häufig nicht an die Systeme, für die DevOps eintritt.
Gefragt ist ein Systemdenken, das sich bewusst ist, dass sich Aktionen nicht nur auf das eigene Team auswirken, sondern auch auf alle anderen am Release-Prozess beteiligten Teams. Dafür sind Transparenz und eine Zusammenarbeit zum Erreichen gemeinsam verfolgter Ziele von grundlegender Bedeutung.
Ziel von DevOps ist die Änderung der Denkweise, um dadurch ein Mindset zu gestalten, welches es erlaubt, den Entwicklungsprozess ganzheitlich zu betrachten und die Barriere zwischen Entwicklung und Betrieb abzubauen.
Neben dem Ziel des Aufbaus einer höheren Stabilität steht auch stets das Ziel schnellerer Lieferung von Geschäftswert im Fokus. Um dies zu erreichen, ist ein hohes Maß an Automatisierung notwendig. Das Fehlen automatisierter Test- und Überprüfungszyklen verlangsamt die Freigabe für die Produktion, während eine schlechte Reaktionszeit auf Vorfälle die Geschwindigkeit und das Vertrauen in die Teams beeinträchtigt. Mit Tools, die die Automatisierung und neue Prozesse vorantreiben, können Teams die Produktivität steigern und häufiger mit weniger Problemen veröffentlichen.
Neben der Geschwindigkeit, in der neue Lösungen und Lösungsteile zur Verfügung gestellt werden, ist auch eine systematische Einbindung von Feedback und eine schnelle Reaktion darauf von entscheidender Bedeutung. Volle Transparenz und nahtlose Kommunikation ermöglichen es DevOps-Teams, Ausfallzeiten zu minimieren und Probleme schneller zu lösen.
Wenn kritische Probleme nicht schnell gelöst werden können, sinkt die Kundenzufriedenheit und das Vertrauen. In Ermangelung einer offenen Kommunikation gehen wichtige Aspekte womöglich verloren, was zu erhöhter Spannung und Frustration unter den Teams führt. Offene Kommunikation sowohl zwischen den beteiligten Teams und ihren Mitgliedern als auch mit den Stakeholdern unterstützt Entwicklungs- und Betriebsteams dabei, Probleme zu lösen, Vorfälle zu beheben und die Release-Pipeline schneller freizugeben.
Ungeplante Arbeit ist eine Realität, mit der jedes Team konfrontiert ist und die einen erheblichen Einfluss auf die Produktivität der Teams hat. Das Vorliegen passender Prozesse und eine klare Priorisierung von Arbeiten kann dazu beitragen, entsprechende Vorfälle effizienter zu bearbeiten und wieder mehr Zeit für die Kernaufgaben der Teams zur Verfügung zu haben. Dabei ist es notwendig, dass Übergabe und Priorisierung auch teamübergreifend transparent gemacht werden, damit die beteiligten Stellen Situationen antizipieren und damit schneller und zielführender agieren können.
Teams, die die DevOps-Praktiken durchgängig nutzen, bieten ihren Kunden eine bessere Qualität. Der vermehrte Einsatz von Automatisierung und funktionsübergreifender Zusammenarbeit reduziert Fehler, was sich wiederum positiv auf Wiederherstellungszeiten und Lieferzeiten auswirkt.
DevOps ist ein agiler Ansatz für organisatorische Veränderungen, der darauf abzielt, traditionelle, isolierte Trennlinien (Silodenken) zwischen Teams zu überbrücken und neue Prozesse zu etablieren, die eine bessere Zusammenarbeit ermöglichen. DevOps setzt verschiedene Tools und agile Engineering-Praktiken ein; diese reichen jedoch nicht aus, um die Vorteile von DevOps zu nutzen. Ohne die richtige Einstellung und Kultur kann der volle Nutzen aus DevOps nicht erzielt werden.
Die DevOps-Kultur fördert eine engere Zusammenarbeit und eine gemeinsame Verantwortung zwischen Entwicklung und Betrieb für die Produkte, die erstellt und gewartet werden. Eine Optimierung der gesamten Wertschöpfungskette und damit des Nutzens für den Kunden steht im Zentrum der Bemühungen.
DevOps strebt danach, multidisziplinäre Teams zu bilden, die für den gesamten Lebenszyklus eines Produkts verantwortlich sind. Diese arbeiten autonom und setzen auf Rahmenbedingungen, die die Bedeutung betrieblicher Anforderungen jener von Architektur, Design und Entwicklung gleichsetzen.
Voraussetzungen für eine lebendige DevOps-Kultur sind die erhöhte Transparenz, Kommunikation und Zusammenarbeit zwischen Teams, die traditionell in Silos arbeiten. Dabei müssen wichtige kulturelle Veränderungen stattfinden, um diese Teams näher zusammenzubringen. DevOps ist ein organisatorischer Kulturwandel, bei dem kontinuierliches Lernen und kontinuierliche Verbesserung im Vordergrund stehen. Dies wird durch Teamautonomie, schnelles Feedback, hohes Einfühlungsvermögen und teamübergreifende Zusammenarbeit ermöglicht.
Damit DevOps funktionieren kann, ist eine Kultur der Zusammenarbeit und gemeinsamen Verantwortlichkeit für gemeinsam getragene und erstrebte Ziele notwendig. Dies erfordert ein gegenseitiges Verständnis für die Arbeitsleistung, den Beitrag zur Wertschöpfungskette, welche andere Teammitglieder und besonders auch die anderen in die Wertschöpfungskette eingebundenen Teams realisieren, und deren Wichtigkeit für den Gesamterfolg und die Nutzenrealisation für den Kunden.
Autonome Teams sind ein weiterer wichtiger Aspekt von DevOps. Damit die Entwicklungs- und Betriebsteams effektiv zusammenarbeiten können, müssen sie ohne einen umständlichen und langwierigen Genehmigungsprozess Entscheidungen treffen und Änderungen umsetzen. Dies setzt die Übergabe von Vertrauen an Teams und die Schaffung eines Umfelds, in dem keine Angst vor Fehlern besteht, voraus. Dazu sind klare Absprachen und Vereinbarungen über Entscheidungsbefugnisse und Kompetenzen notwendig.
Eine DevOps-Teamkultur legt Wert auf schnelles Feedback. Dies trägt zur kontinuierlichen Verbesserung eines einheitlichen Entwicklungs- und Betriebsteams bei. Dazu ist es notwendig, dass ein Bewusstsein besteht, dass alle Beteiligten sich auf einem Entwicklungspfad bewegen (gemeint ist nicht ein Software-Entwicklungspfad), der sowohl für jeden Einzelnen wie auch für die jeweiligen Teams als Ganzes kontinuierliche Verbesserung fordert. Voraussetzung dafür ist es, Fehler nicht als Makel abzulehnen, sondern als Chance für Veränderung und Verbesserung wahrzunehmen. Dies ist stark mit einer positiven Fehlerkultur verbunden.
Eine Automatisierung ist für die DevOps-Kultur von entscheidender Bedeutung, da sie eine hervorragende Zusammenarbeit ermöglicht und Ressourcen freisetzt. Durch