Die „Three Ways“-Prinzipien wurden in dem Buch The Phoenix Project von Gene Kim, Jez Humble und Patrick Desbois vorgestellt. Die „Three Ways“-Prinzipien stellen die Philosophie hinter der DevOps-Bewegung dar und bieten eine Anleitung zur Optimierung von Arbeitsabläufen, zur Schaffung schneller Feedbackschleifen und zur Förderung einer Kultur des kontinuierlichen Lernens und Experimentierens. Was sind diese Grundsätze und wie können sie Unternehmen helfen, die Zusammenarbeit zwischen Entwicklung und Betrieb zu verbessern?
Hier sind die drei Grundsätze:
- Der erste Weg: Fluss und Systemdenken
- Der zweite Weg: Verstärkung von Feedbackschleifen
- Der dritte Weg: Kultur des kontinuierlichen Experimentierens und Lernens
Quelle: PeopleCert
1. Erster Weg: Fluss und systemisches Denken
Der erste „Weg“ konzentriert sich auf die Optimierung des Arbeitsablaufs von der Entwicklung, Dev (linke Seite des Prozesses), bis zum Betrieb, Ops (rechte Seite des Prozesses) und schließlich zum Kunden. Ziel ist es, einen schnellen und effizienten Fluss zu schaffen, der schneller Werte liefert, Verschwendung reduziert und Zwischenschritte begrenzt.
Es geht hauptsächlich um die Beschleunigung des Arbeitsablaufs innerhalb eines Prozesses. Unabhängig davon, ob Sie es Flow oder Systemic Thinking nennen, arbeiten die First Way-Prinzipien auf das gleiche Ziel hin: den Arbeitsablauf als ein kontinuierliches (nicht unterteiltes) System zu sehen, das ständig verbessert und optimiert werden kann.
Schlüsselprinzipien:
- Arbeit „sichtbar“ machen: Im Gegensatz zu sichtbaren Produktionsprozessen an einem Fließband ist der Fluss von Software durch den Entwicklungszyklus nicht leicht zu beobachten. Tools wie Kanban-Boards können die Aktivitäten hinter den Kulissen sichtbar machen, indem sie die Bewegung einer User Story von links nach rechts, von Dev zu Ops, durch die verschiedenen Phasen der Entwicklung zeigen.
- Maximierung des Workflows: Beschleunigen Sie die Bereitstellung von Funktionen, Updates und Korrekturen vom Entwicklungsteam an das Betriebsteam, indem Sie Engpässe identifizieren und beseitigen.
- Verringerung der Chargengröße: Die Arbeit in kleinen Chargen reduziert die Komplexität und ermöglicht eine schnellere Lieferung und zeitnahes Feedback.
- Begrenzung des Work-in-Progress: Die Begrenzung des Work-in-Progress auf ein Minimum ist ein wichtiger Faktor für die Beschleunigung der Arbeitsabläufe, weil dadurch die Aufgaben und der Kontextwechsel minimiert werden
- Optimieren für das gesamte System: Denken Sie an das System als Ganzes, anstatt nur einzelne Teile zu optimieren. Wenn es Optimierungen oder Verbesserungen gibt, muss man immer die Auswirkungen und Folgen bewerten, die sie auf den Gesamtablauf haben können. Der Ansatz muss ganzheitlich sein und darf sich nicht auf die vertikalen Aktivitäten der beteiligten Abteilungen konzentrieren.
- Ermittlung und Beseitigung von Zwängen und Verschwendung: Ziel muss es sein, den Fluss zu verbessern, daher müssen Zwänge und Engpässe ermittelt und beseitigt werden. Alles, was nicht benötigt wird und keinen Mehrwert bringt, muss entfernt werden.
Beispiele für DevOps-Praktiken:
- Kontinuierliche Integration (CI): Häufiges Zusammenführen von Code in Hauptzweigen, um einen reibungslosen Arbeitsablauf zu gewährleisten.
- Continuous Delivery (CD): Automatisierung des Freigabeprozesses, um die Bereitstellung schneller, wiederholbarer und zuverlässiger zu machen.
2. Zweiter Weg: Verstärkung von Rückkopplungszyklen
Der zweite „Weg“ betrifft die Schaffung schneller und kontinuierlicher Feedbackschleife, damit Probleme schnell erkannt und gelöst werden können. Er zielt darauf ab, die Feedbackschleife zwischen Betrieb und Entwicklung (von rechts nach links) zu verkürzen und zu verstärken, um das System widerstandsfähiger und anpassungsfähiger zu machen.
Schlüsselprinzipien:
- Probleme schnell erkennen und lösen: Implementierung von Praktiken, die es ermöglichen, Probleme zu erkennen und zu lösen, sobald sie auftreten.
- Rechtzeitige Rechtzeitige Feedbackschleifen schaffen schaffen: Rückmeldungen aus der Produktionsumgebung müssen die Entwicklungsteams schnell erreichen, damit Probleme gelöst werden können, bevor sie sich auf die Kunden auswirken.
- Integration der Qualität in den Prozess: Tests, Überwachung und Qualitätskontrolle müssen in den gesamten Entwicklungszyklus integriert werden.
Beispiele für DevOps-Praktiken:
- Automatisierte Tests: Sofortige Rückmeldung an die Entwickler über die Korrektheit ihres Codes.
- Überwachung und Alarmierung: Die Echtzeitüberwachung von Systemen in der Produktion ermöglicht eine schnelle Identifizierung von Fehlern oder Leistungsproblemen.
3. Dritter Weg: Kontinuierliches Lernen und Experimentieren
Der dritte „Weg“ betrifft die Schaffung einer Kultur des ständigen Experimentierens, Lernens und der Verbesserung. Er fördert den Einsatz von Experimenten zur Förderung der Innovation und zur Schaffung einer leistungsstarken und anpassungsfähigen Organisation. Dieser Weg führt das IT-Management weg von einer traditionellen, auf Schuldzuweisungen basierenden Kultur und sorgt dafür, dass die Fähigkeit, Risiken einzugehen und neue Wege auszuprobieren, auch wenn sie potenziell riskant sind, belohnt wird.
Der dritte Weg stellt sicher, dass sich das System weiterentwickelt und das Team im Laufe der Zeit durch Risiko und Experimentieren professionell wächst.
Schlüsselprinzipien:
- Förderung einer Kultur des Experimentierens: Erlauben Sie den Teams, neue Strategien auszuprobieren und Misserfolge als Lernchance zu akzeptieren.
- Förderung des kontinuierlichen Lernens: Investieren Sie in die Ausbildung und Entwicklung von Teams und fördern Sie das Lernen aus Erfolgen und Fehlern.
Beispiele für DevOps-Praktiken: A/B-Tests und Experimente:
- Führen Sie Experimente in der Produktion durch, um neue Funktionalitäten zu testen. Kaizen (kontinuierliche Verbesserung):
- Regelmäßige Bewertung von Arbeitsabläufen und Systemen, um verbesserungswürdige Bereiche zu ermitteln.
- Chaos-Engineering: Einführung von kontrollierten Fehlern in Systemen, um zu verstehen, wie sie auf Stress reagieren, um sie zu trainieren, mit Problemen umzugehen und widerstandsfähiger zu werden.
Die Bedeutung der Drei Wege für DevOps
Die drei Wege bieten eine strategische Anleitung für die Implementierung von DevOps. Sie bieten Prinzipien für:
- Verbesserung der Zusammenarbeit zwischen Teams, die traditionell in getrennten Abteilungen arbeiten (z. B. Entwicklung und Betrieb).
- Verringerung des Risikos bei Releases, indem diese schneller, kleiner und häufiger durchgeführt werden.
- Förderung von Innovation und Anpassungsfähigkeit durch Ermutigung zum Experimentieren und kontinuierlichen Lernen.
Schlussfolgerungen
Zusammenfassend lässt sich sagen, dass die drei Wege von DevOps einen klaren Fahrplan darstellen, der Unternehmen dabei hilft, ihre Softwarebereitstellungsprozesse zu verbessern , die Qualität zu sichern und eine Kultur der Innovation und kontinuierlichen Verbesserung zu schaffen. Zusammen ermöglichen sie es Unternehmen, besser auf Kundenbedürfnisse zu reagieren, sich an Veränderungen anzupassen und einen Wettbewerbsvorteil zu wahren.