DevOps: Wie sich die Spreu vom Weizen trennt

Diese fünf Faktoren beeinflussen die DevOps-Qualität laut Report. (Source: DORA, 2018)
Die Elite unter den DevOps-Teams setzt auf PaaS, Open Source und Automatisierung, zeigt ein Report.
 
Bereits zum fünften Mal hat DevOps Research & Assessment (DORA) den "State of DevOps"-Report publiziert. Der Bericht soll zeigen, welche Vorgehensweisen und Technologien zu einer besseren Performance bei der Softwarebereitstellung führen und damit auch den Unternehmenserfolg oder die Kundenzufriedenheit verbessern können, schreiben die Studienautoren.
 
Je nach Performance wurden die rund 1900 Teilnehmenden in vier Gruppen eingeteilt: Elite, High, Medium und Low. Elite-Teams können Updates On-Demand, teilweise mehrfach am Tag, ausrollen oder noch am selben Tag einen Service wiederherstellen. Low-Performance-Teams hingegen benötigen zwischen einer Woche und einem Monat, bis ein Deployment durchgeführt werden kann und das gleiche gilt für die Wiederherstellung eines Service. Gleichzeitig ist die Fehlerrate von Elite-Teams siebenmal geringer als jene der Low-Performance-Teams.
 
Elite setzt auf PaaS und Open Source
Teams, die PaaS oder Open-Source-Technologien einsetzen, gehören laut den Ergebnissen mit einer grösseren Wahrscheinlichkeit der Elite-Gruppe an.
 
Nur rund ein Viertel aller Befragten gab an, Platform-as-a-Service (PaaS) einzusetzen. Allerdings gehören die Befragten, die den Grossteil ihrer Arbeit über eine PaaS ausführen, 1,5-mal häufiger zur Elite-Gruppe. Als Produkte werden etwa RedHat OpenShift, Azure App Service, Google App Engine oder AWS Elastic Beanstalk genannt. Die PaaS-Anwender sagten unter anderem, dass sie ihre Anwendung bei Bedarf in einem einzigen Schritt in der Cloud implementieren oder im Self-Service-Modell Änderungen an der Datenbank oder anderen für ihre Applikation benötigen Services vornehmen können.
 
Monitoring, kontinuierliches Testing, Change Management und die Integration von Security früh im Entwicklungsprozess erhöhen die Leistung und Qualität, fassen die Studienautoren einige Ergebnisse zusammen.
 
Kreierst du schon oder patchst du noch?
Mit der Automatisierung von repetitiven Aufgaben können Teams die Qualität ihrer Arbeit verbessern und die Softwareentwicklung respektive das Deployment beschleunigen, so ein weiteres Fazit der Studie.
 
Da es schwierig sei, den Automatisierungsgrad von Arbeit zu schätzen, wurden die Teilnehmer gebeten, den Prozentsatz der Arbeit abzuschätzen der manuell ausgeführt wird. Als ein Beispiel wird Testing genannt. Während bei den Elite-Teams das manuelle Testen nur zehn Prozent des Aufwands ausmacht, beträgt der Anteil bei den Low-Performern 30 Prozent.
 
Ein weiterer Ansatz, die Qualität der Arbeit zu messen, ist zu bestimmen, womit Teams ihre Zeit verbringen, so die Autoren. Sind die Mitarbeitenden in der Lage ihre Zeit in die Entwicklung neuer Funktionen zu stecken, oder verbringen sie die meiste Zeit damit, Fehler zu korrigieren und Probleme zu lösen? Wenig überraschend zeigt sich, dass die Elite-Teams am wenigsten Zeit mit Support, dem Lösen von Security-Problemen oder mit der Korrektur von Fehlern verbringen. 50 Prozent ihrer Zeit können die Elite- und High-Performing-Teams in produktive Arbeit, das Design und die Entwicklung von neuen Funktionen stecken, die einen "Mehrwert" für das Unternehmen generieren, wie es in der Studie heisst.
 
Das Outsourcing von ganzen Funktionen, beispielsweise Entwicklung oder Operations, wirke sich tendenziell negativ aus. Low-Performing-Teams würden vier Mal häufiger ganze Funktionen outsourcen als die Elite-Teams. Kosteneinsparungen und eine flexiblerer Talent-Pool seien zwar zwei Vorteile von Outsourcing, gleichzeitig könne es aber zu längeren Durchlaufzeiten führen. Kritische und weniger wichtige Features würden in Releases gruppiert. Dies bedeute, dass wichtige Features aufgeschoben werden können, wie es weiter heisst.
 
Den vollständigen Bericht, der in Zusammenarbeit mit Google Cloud erarbeitet wurde, gibt es online. (kjo)