Frank PientkaInnovation und Technologie

DevOps ist das wahre Agile

Agile Software-Entwicklung hat die vergangenen Jahre geprägt und hat sich auch weiterentwickelt. DevOps ist der nächste größere Schritt, um Betrieb und Entwicklung enger zusammen zu bringen und schneller auf Änderungen reagieren zu können. DevOps ist ein umfangreicherer Schritt zu einem kulturellen Wandel in der Software-Entwicklung und ein wichtiger Baustein auf dem Weg in die Cloud.

Das am meisten verbreitete agile Vorgehensmodell ist Scrum und schon mehrere Jahrzehnte alt. Sein Handbuch wird in regelmäßigen Abständen aktualisiert. Trotz seiner wenigen und bewusst einfachen Regeln tun sich immer noch viele Unternehmen und Teams schwer, Scrum im Alltag umzusetzen und zu leben. Oftmals wird Scrum noch mit anderen Methoden kombiniert, sodass es bisher keine verlässlichen Zahlen gibt, ob agil entwickelte Projekte oder Produkt jetzt besser oder effizienter wären. Das liegt auch daran, dass Teams oftmals nur „Scrum light“ oder WaterScrum einsetzen und am Ende eines Sprints nur ein „potenziell“ auslieferbares Ergebnis vorliegt. Das bedeutet zwar, dass der Weg von der Anforderung in ausführbarer Software beschleunigt wurde. Aber ohne zusätzliche Maßnahmen oder ein echtes Feedback aus der Produktion wird immer noch kein Nutzen generiert.

Hier setzt DevOps ein. Es ist kein Vorgehensmodell, sondern ein umfassender methodischer, technischer und kultureller Ansatz. Mit DevOps erhalten Unternehmen über Continuous Integration und Delivery hinaus mehr Transparenz und Feedback über den gesamten Software-Entwicklungsprozess, da alle Ergebnisse und Schritte konsequent automatisiert und versioniert werden.

Inzwischen sind gute Werkzeuge (Info 1 und Info 2) für eine kontinuierliche Software-Bau- und -Auslieferungskette vorhanden. Damit sind die technischen Hürden zu DevOps einfacher zu überwinden als die kulturellen und organisatorischen. Für einen konsequenten Schritt hin zu Cloud-Anwendungen ist dieser jedoch unabdingbar. Nur Unternehmen, die DevOps wirklich leben, können Cloud-native Anwendungen und Services liefern. Die Boston Consulting Group bezeichnet deswegen den Weg der IT-der-zwei-Geschwindigkeiten (bi-modale IT) auch als Sackgasse und beschreibt Bausteine und Trends, die die Einführung von DevOps begünstigen. Hier geht es weniger um schnellere Time-to-Market oder ROI. Vielmehr geht es darum, auch in komplexen Systemen kontinuierliche Änderungen schneller und sicherer vornehmen zu können und das Feedback daraus für Optimierungen zu nutzen – und das mit weniger Risiko.

Da das Thema Sicherheit gerade durch die Cloud immer wichtiger wird, machen traditionelle und nur temporäre Sicherheitstest am Ende der Lieferung keinen Sinn mehr. Diese müssen auch schon möglichst früh und automatisiert in allen Phasen der Entwicklung nicht nur beim Code, sondern auch an der Infrastruktur ausgeführt werden. Dafür haben die Beratungsfirmen Gartner und Forrester den erweiterten Begriff DevSecOps geprägt und dessen Erweiterungen beschrieben.

Das lesenswerte „DevOps-Handbuch“ der Väter der DevOps-Bewegung, Jez Humble und Gene Kim, beschreibt Best Practices und sinnvolle Metriken, um die Leistungsfähigkeit von DevOps zu messen. Humble und Kim haben neben vielen weiteren Büchern zu dem Thema auch eine wissenschaftliche Studie unter dem Namen „Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations“  veröffentlicht. Sie basiert auf der Basis der jährlich stattfindenden Befragung des „State of DevOps Report“.

Die Ergebnisse haben es in sich: Sie zeigen, dass Teams, die konsequent DevOps umsetzen, nicht nur schneller und öfters liefern, sondern auch schneller auf Fehlersituationen reagieren können. Die Performancelücke zwischen den low- und high-DevOps-Performer-Teams wird über die Jahre noch größer, sodass die guten noch besser werden und die schlechteren eher stagnieren.

Die gute Nachricht ist, dass der Einstieg in DevOps gar nicht so aufwendig ist. Schwerer wird es, das damit verfügbare Potenzial kontinuierlich zu heben und keine Ressourcen zu verschwenden. DevOps hilft dabei, Software nicht nur auf Halde zu produzieren, ohne einen direkten Wert oder Feedback daraus zu generieren. Es hilft vor allem auch Software-Teams, besser und sicherer bei Änderungen zu werden, sodass sie auf Änderungen oder neue Anforderungen schneller und mit weniger Risiko reagieren können. Insofern ist DevOps nicht nur ein Nachfolger von Agile, sondern dessen konsequente Umsetzung und Fortführung.

Wir begleiten Sie gerne auf Ihrer DevOps-Reise.

Mehr zum Thema gibt es hier: Blog-Beitrag und Computerwoche-Beitrag

Schlagwörter: