<< Zurück zur Übersicht

DevOps Praktiken in SAFe

Was macht DevOps so besonders?

DevOps setzt sich immer mehr durch. Aber was genau ist DevOps? Was macht es besonders? Warum ist DevOps Teil von SAFe? Diese Fragen werden in diesem Beitrag beantwortet. Übrigens ist dieser Artikel (im Gegensatz zu unseren anderen) IT-fokussiert. Tatsächlich ist DevOps ideal für die IT geeignet.

Das Problem, das DevOps löst

Traditionell sind die Interessen der Entwicklungsorganisation und der Verwaltungsorganisation entgegengesetzt. Die Entwicklungsorganisation möchte schnell neue Funktionen, Sicherheitsaktualisierungen usw. erhalten. Die Verwaltungsorganisation hingegen will ein gut funktionierendes, schnelles und stabiles System. Neue Software ist dann ein Risiko und wird daher lieber dosiert zugelassen. Dies hat zur Folge, dass Updates und Releases lange auf sich warten lassen. Dadurch wird die Zeit bis zur Markteinführung lang, Bugs werden erst spät bekannt, Fehler häufen sich, usw. All dies geht zu Lasten des Kundennutzens. Die Kunden wollen eine stabile, schnelle Anwendung, die die neuen Funktionen enthält, die sie benötigen. Die Zusammenarbeit zwischen Entwicklung und Betrieb ist daher wichtig.

Agile, DevOps und Scrum

DevOps wurde 2009 entwickelt und ist damit etwas jünger als Agile. DevOps fasst die Begriffe „Development “ und „Operations “ (Verwaltung und Wartung) zusammen. Agile konzentriert sich hauptsächlich auf die Entwicklung und das Testen kleiner wertvoller Teilprodukte. Die Verwaltung und Wartung von Software und Hardware wird weniger berücksichtigt. Allerdings: Im Rahmen von Scrum wird die Verwaltung und Entwicklung eines Produkts einfach auf das Product Backlog gesetzt. Doch das bietet nicht immer eine Lösung. Aufgrund von Umfang und Komplexität ist dies in der Praxis oft keine Lösung. Dadurch besteht die Gefahr, dass die Kluft zwischen den Silos „Development“ und „Operations“ bestehen bleibt. DevOps bietet eine Reihe von Erkenntnissen und Praktiken, um diese Kluft zu überbrücken. Daher ist DevOps in der Praxis manchmal ein Folgeschritt zu Scrum.

Was ist DevOps?

DevOps zielt auf die schnelle Entwicklung, Bereitstellung und Freigabe kleinerer Funktionsmengen für das Unternehmen oder den Kunden ab. Automatisierung und Zusammenarbeit sind zwei wichtige Säulen. Dabei geht es nicht nur um Entwicklung und Betrieb. Alle am Softwarefreigabeprozess Beteiligten, wie Sicherheit und Compliance, arbeiten zusammen, um den Prozess zu optimieren und einen guten Ablauf zu gewährleisten.

Die Beschreibungen dessen, was DevOps beinhaltet, variieren. Daher halten wir uns an die klare Beschreibung, die im Rahmen von SAFe gegeben wird. Dort wird DevOps in 5 Säulen unterteilt: Kultur, Automatisierung, Lean Flow, Messung und Wiederherstellung. Wir gehen alle 5 durch.

Eine Kultur der gemeinsamen Verantwortung

Die Kultur der Zusammenarbeit ist von großer Bedeutung und steht in engem Zusammenhang mit den Lean-Agile-Prinzipien von SAFe. Kulturelle Elemente sind z. B.: der Mut aus Fehlern zu lernen, der Austausch von Informationen, die kontinuierliche Verbesserung und vor allem die Zusammenarbeit, um dem Kunden schnell einen Mehrwert zu bieten. Bei DevOps arbeiten alle Disziplinen noch enger zusammen und denken gemeinsam. Man sitzt in agilen Teams zusammen oder nimmt an wichtigen Events teil (z. B. PI Planning, System Demos, Program Backlog Refinement). Es gibt auch Absprachen zwischen dem Betrieb und den Product Ownern oder Produktmanagern, um beispielsweise Kundenwünsche, technische Anforderungen oder Mängel zu verstehen. Das Ergebnis? Die Entwickler denken mehr an die Bedürfnisse des Betriebs, z. B. Betriebszeit und Zuverlässigkeit. Sie können Schalter einbauen, die es den Managementteams ermöglichen, Funktionen bei Spitzenbelastungen ein- oder auszuschalten. Die Betriebsabteilung wiederum unterstützt die Entwickler, indem sie schnellere Tests, Überwachung usw. ermöglicht.

Alles automatisieren

In DevOps wird die unten stehende Abbildung viel schneller als in traditionellen Organisationen abgeschlossen, indem in jeder Phase, wo immer möglich, Tools eingesetzt werden, um alle Arten von Arbeit zu automatisieren. Denken Sie an: Testen, Dokumentation, Versionierung, usw. Übrigens sind viele der verwendeten Tools als Freeware erhältlich.

Die Abbildung des aktuellen Prozesses kann zum Beispiel durch Process Mining erfolgen. Dieser aktuelle Prozess ist der Ausgangspunkt für inkrementelle Verbesserungen. Wenn der gesamte Release-Prozess effizient und effektiv organisiert und automatisiert ist, spricht man von einer Continuous Delivery Pipeline.

Eine schnelle Lieferung ist nur mit Automatisierung möglich. Automatisierung sorgt für hohe Produktivität, aber Automatisierung spart nicht nur Zeit. Die Automatisierung von Tests und Messergebnissen liefert schnelles Feedback und erhöht die Sicherheit. Da Schwachstellen früher erkannt werden, wird vermieden, auf einem Fehler aufzubauen. Außerdem erhalten die Fachleute sofortige Rückmeldungen zu ihrer Arbeit und können so lernen. Die Arbeit wird auch interessanter, da Routineaufgaben wegfallen. All dies ist hervorragend für die Motivation.

Lean Flow

Die Teams bemühen sich um einen kontinuierlichen Flow, damit neue Funktionen schnell vom Konzept zum Geschäftswert werden. Auf Programmebene wird ein Kanban geführt, in dem dieser Prozess visualisiert wird. Um einen guten Flow zu schaffen, wird WIP visualisiert und eingeschränkt, die Losgrößen werden reduziert und die Arbeit in der Warteschleife wird verwaltet.

Messen Sie den Wert

Bei DevOps wird die Qualität eines Produkts nicht nur durch Kundenfeedback bestimmt. Es werden auch verschiedene Metriken gemessen. Dadurch entsteht ein schnelleres und vielfältigeres Bild von der Qualität des Produkts für den Endbenutzer: Die technischen Anforderungen werden ebenfalls überwacht, und man misst, was die Kunden tatsächlich tun (und nicht nur sagen, dass sie es tun). Der technische Wert und der Geschäftswert werden kontinuierlich durch automatisierte Systeme gemessen. Durch diese Messsysteme erhalten der Product Owner und das Team ein schnelles und zuverlässiges Feedback über den Mehrwert der kleinen Verbesserungen, die in einem kurzen Zyklus umgesetzt werden.

Recovery

Es ist wichtig, eine neue Funktion oder eine Fehlerbehebung schnell in die Produktion zu bringen, aber auch in der Lage zu sein, diese Änderung schnell wieder rückgängig zu machen oder Probleme schnell zu beheben, falls dies erforderlich ist. Da es nicht darauf ankommt, ob Fehler gemacht werden, sondern wann sie gemacht werden, ist es wichtig, darauf vorbereitet zu sein. Die Organisation muss dafür gerüstet sein. Technisch sollte es möglich sein, zu früheren Versionen zurückzukehren, und es ist wichtig, dass es dafür Verfahren gibt. Es kann auch hilfreich sein, wenn die Mitarbeiter die Fehlerbehebung geübt haben.

Dies waren die fünf Säulen von DevOps, die in SAFe definiert wurden. Möchten Sie mehr über SAFe erfahren? Lesen Sie einen unserer vielen weiteren Blogs über SAFe.

Möchten Sie mehr über die Implementierung von SAFe erfahren? Lesen Sie den Artikel über die Implementierungs-Roadmap oder nehmen Sie an unserem Leading SAFe Training teil.

Ja, ich möchte die neuesten Agile Updates erhalten!

Scrum Sprint Package Banner

Füllen Sie das Formular aus und Sie erhalten das Sprint Package per E-Mail.

Neugierig auf Scrum?

Fordern Sie unverbindlich und kostenlos das Whitepaper an!