Erkunden der DevOps-Kultur
Kultur ist eine wesentliche Grundlage für DevOps, da eine wachstumsorientierte Mentalität kontinuierlichen Lernens erforderlich ist, um erfolgreich zu sein. Die Unterstützung von Führungskräften ist eins der kritischen Elemente für den Erfolg.
Bevor wir erörtern, wie eine DevOps-Kultur aussieht, sollten wir die Rolle der Kultur für die Fähigkeit einer Organisation, DevOps einzuführen, betrachten. Laut Gartner gilt:
Kulturelle Widerstände und ein geringes Maß an Prozessdisziplin führen zu erheblichen Misserfolgsraten bei DevOps-Initiativen.
Gene Kim, Autor von Phoenix Project and DevOps Handbook, sagt:
DevOps ist eine Reise voller Herausforderungen, und selten liegen diese Herausforderungen einfach nur in der falschen Technologie oder den falschen Prozessen. In der Tat sind die größten und schwierigsten Hindernisse eher kultureller Natur. Und wenn Sie die Kultur falsch verstehen, selbst wenn Sie alles andere richtig machen, befinden Sie sich auf einem Kurs in Richtung Frustration, zusätzliche Kosten und wahrscheinlich Scheitern.
Was ist Kultur?
Für unsere Zwecke ist Kultur das soziale Erbe einer Gruppe. Es ist ein Muster von Reaktionen, das im Laufe der Geschichte der Gruppe entdeckt, entwickelt oder erfunden wurde, um mit Problemen umzugehen, die aus den Interaktionen zwischen den Mitgliedern und zwischen ihnen und ihrer Umgebung entstehen.
Die Kultur bestimmt:
- Was akzeptabel oder inakzeptabel ist.
- Was ist wichtig oder unwichtig ist.
- Was ist richtig oder falsch ist.
- Was praktikabel oder nicht praktikabel ist.
- Wen Sie einstellen, entlassen und befördern.
Warum scheitern DevOps-Initiativen?
Untersuchungen von Gartner zeigen, dass bis zum Jahr 2023 90 % der DevOps-Initiativen an den Beschränkungen der von der Führung verfolgten Managementansätze scheitern werden.
Wichtig
Die Hauptverantwortung von Führungskräften besteht in der Schaffung einer Umgebung, die eine erfolgreiche DevOps-Kultur ermöglicht.
Menschen, die in kreativen Berufen arbeiten, brauchen kein „Bier im Pausenraum“, um sie zu motivieren. Kreative Menschen brauchen stattdessen Kontrolle, Autonomie und Sinn.
Auf die Frage, was der wichtigste Teil des Erfolgs von Microsoft ist – ist es die Vision, die Strategie oder die Umsetzung? – Sagte Microsoft CEO Satya Nadella, dass sie alle wichtig seien, aber am Ende gehe es um die an Sinn und Wachstum orientierte Mentalität.
Die 12 Beispiele für eine DevOps-Mentalität
Im Folgenden finden Sie 12 Beispiele für eine DevOps-Mentalität: Führungsmentalität, Kundenorientierung, Lean Thinking, systemorientiertes Denken, Beseitigung von Verschwendung, Engpasstheorie, Alignment und Autonomie, Shift-Left-Testen, Sicherheitsmentalität, hypothesengesteuerte Entwicklung, Livesite und Messen von Ergebnissen, keine Aktivitätsmentalität.
Führungsmentalität
Gartner spricht die folgenden Empfehlungen aus:
- Identifizieren Sie transformationale Führungskräfte, indem Sie spezifische Verhaltensmerkmale priorisieren, die für die Leitung einer DevOps-Initiative erforderlich sind, und weniger Wert auf technische Fähigkeiten legen.
- Entwickeln Sie transformationale Führungskräfte, indem Sie Scheitern als Chance zum Lernen begreifen.
- Führen Sie transformationale Führungskräfte, indem Sie sie befähigen, Entscheidungen frei von Zweifeln zu treffen, und indem Sie klare Ziele und Schlüsselkennzahlen vorgeben.
Da DevOps transformativ ist, müssen Führungskräfte aus dem Bereich Infrastruktur und Betrieb Kandidaten identifizieren, die visionär, anpassungsfähig, motivierend, befähigend und verantwortungsbewusst sind.
Kundenorientierte Mentalität
Was bedeutet es, kundenorientiert zu sein?
- Unseren Kunden zuhören und mit ihnen kommunizieren
- Messen, was wichtig ist
- Sehen Sie rote Zahlen in der Produktion positiv
- Bauen, Messen und Lernen
- Verwenden von Feature Toggles (Funktionsumschaltung) für eine geordnete Bereitstellung
- Breites, aber sorgfältiges Sammeln von Daten
Lean Thinking-Mentalität
Wert: Das Lean Thinking-Mindset beginnt mit einem detaillierten Verständnis, welchen Wert der Kunde dem Produkt und den Dienstleistungen beimisst. Die Organisation konzentriert sich auf die Beseitigung von Verschwendung, damit sie den Wert, den der Kunde erwartet, auf höchstem Rentabilitätsniveau liefern kann.
Der Wertstrom umfasst den gesamten Lebenszyklus des Produkts, von den Rohstoffen über die Nutzung durch den Kunden bis hin zur Entsorgung des Produkts. Um Verschwendung zu eliminieren – das ultimative Ziel des Lean-Ansatzes – muss ein genaues und vollständiges Verständnis des Wertstroms vorhanden sein.
Fluss: Um Verschwendung zu vermeiden, ist es wichtig, den Fluss zu verstehen. Wenn sich der Wertstrom an irgendeinem Punkt nicht mehr vorwärtsbewegt, ist Verschwendung das unvermeidliche Nebenprodukt. Beim Lean Manufacturing-Prinzip des „Fließens“ geht es darum, eine Wertschöpfungskette zu schaffen, in der es keine Unterbrechungen im Produktionsprozess gibt und in der jede Aktivität mit jeder anderen im Gleichklang ist.
Pull: Das Lean-Prinzip „Pull“ (ziehen) hilft, den Fluss sicherzustellen, indem es dafür sorgt, dass nichts vorzeitig produziert wird, wodurch ein Umlaufbestand erzeugt und der synchronisierte Fluss gestoppt würde. Anstatt den traditionellen amerikanischen Fertigungsansatz des „Push“ zu verfolgen, bei dem die Arbeit auf Grundlage einer Prognose und eines Zeitplans „durchgeschoben“ wird, diktiert der Pull-Ansatz, dass erst etwas hergestellt wird, wenn der Kunde es bestellt hat.
Perfektion: Anwender des Lean-Prinzips streben nach Perfektion. Der Weg zum perfekten Prozess erfolgt durch kontinuierliche Verbesserungen, die Ursachen von Qualitätsproblemen und Produktionsverschwendungen beheben. Das unerbittliche Streben nach Perfektion ist es, was die Anwender des Ansatzes dazu antreibt, tiefer nachzuforschen, mehr zu messen und öfter Dinge zu ändern, als ihre Konkurrenten.
Systemorientiertes Denken
Eine systemorientierte Denkweise betont die Leistung des gesamten Systems, nicht die Leistung einer bestimmten Arbeitssilos oder einer Abteilung.
Konzentrieren Sie sich auf alle geschäftlichen Wertströme, die durch die IT ermöglicht werden. Mit anderen Worten: Es beginnt damit, dass die Anforderungen vom Unternehmen oder der IT identifiziert, in der Entwicklung erstellt und dann in den IT-Betrieb überführt werden, wo die Wertschöpfung dann als Service an den Kunden erfolgt.
Mentalität zur Beseitigung von Verschwendung
Ein Lean Mindset konzentriert sich auf die Identifizierung und Beseitigung der sieben Hauptverschwendungen, die für den Kunden keinen Wert darstellen:
- Teilweise erledigte Arbeiten
- Zusätzliche Verarbeitung/Prozesse
- Zusätzliche Funktionen
- Task Switching (Wechsel zwischen Aufgaben)
- Warten
- Bewegung
- Defekte
Die Engpassdenktheorie
Die Engpasstheorie ist eine Methode zur Identifizierung und Beseitigung von Engpässen, die den Durchsatz begrenzen. In der Praxis beginnen Sie damit, den wichtigsten Faktor zu identifizieren, der dem Erreichen eines Ziels im Wege steht. Arbeiten Sie daran, diesen Faktor zu minimieren, bis er nicht mehr einschränkend ist.
Gleichgewicht zwischen Alignment- und Autonomiementalität
Es ist notwendig, ein Gleichgewicht zwischen Alignment und Autonomie zu erreichen. Zu viel Alignment führt zu weniger Innovation, weniger Motivation und weniger Zusammenarbeit. Zu viel Autonomie führt zu mehr Chaos, Verwirrung und Konflikten und gleichzeitig zu weniger Konsistenz.
Shift-Left-Test-Mentalität
Shift-Left-Testen ist ein Ansatz, der verwendet wird, um Softwaretests zu beschleunigen und die Entwicklung zu erleichtern, indem der Testprozess an einen früheren Punkt im Entwicklungszyklus verlegt wird. Das Verschieben nach links („Shift-Left“) bezieht sich auf das Verschieben von Tests nach links auf einer Zeitachse. Es hilft dabei, Qualität zu erzeugen und Probleme früher zu erkennen, um Verschwendung durch Nacharbeit zu reduzieren.
Shift-Left-Testen ist als besseres Modell für die schnelle Entwicklung gedacht, da traditionelle Testmodelle, die bis zu einem späteren Zeitpunkt im Entwicklungszyklus warten, zu Engpässen bei der Entwicklung führen können.
Sicherheitsmentalität
Für eine Sicherheitsmentalität müssen Teams Folgendes tun:
- Bewusstsein fördern.
- Die eigenen Prinzipien definieren.
- Nach ihren eigenen Prinzipien leben.
Hypothesengesteuerte Entwicklungsmentalität
Die Verwendung eines Lean Product-Ansatzes, um in kürzeren Zyklen zu entwickeln, und die Verwendung von hypothesengesteuerter Entwicklung hilft dabei, kleine Experimente durchzuführen, um Feedback von unseren Kunden zu erhalten und so zu datenbasierten Entscheidungen zu kommen.
Der hypothesengesteuerte Entwicklungsansatz:
- Geht von einer Annahme aus – etwas, das ohne Beweis als wahr akzeptiert wird.
- Artikuliert die zu testende Annahme.
- Führt Experimente und Tests durch.
- Untersucht Beweise – ein Indikator für das Ergebnis.
Livesite-Mentalität
Für ein DevOps-Team ist der entscheidende Ort die Produktion. Bei allem, was sie tun, geht es darum, die Erfahrungen der Kunden zu verbessern.
Um eine stabile, hochleistungsfähige Site zu schaffen, wenden Sie die bewährten Methoden für kontinuierlichen Betrieb diszipliniert und fortwährend an, um die Site funktional zu halten.
Zu den Schlüsselfaktoren unserer Livesite-Kultur gehören:
- Erkennen, bevor Kunden es bemerken
- Gestützt auf Daten
- Die Grundursache ist der Schlüssel
- Als Code konfigurieren
- Überleben durch Automatisieren
- Offen sein und lernen
Ergebnisse messen, keine Aktivitätsmentalität
Die Art und Weise, wie Sie Menschen messen, beeinflusst, wie sich Menschen verhalten. Sie sollten die Nutzung, Geschwindigkeit und den Zustand der Livesite messen, nicht die Anzahl der Codezeilen, den Team-Burndown und die Anzahl gefundener Bugs.
Tipp
Seien Sie vorsichtig mit Ihren Messungen, damit Sie ein optimales Ergebnis erzielen!