© Enkel/Shutterstock.com
Continuous Delivery: Warum man öfter deployen sollte …

Viel mehr als Time to Market


Continuous Delivery bedeutet, regelmäßig Software auszuliefern. Was wie eine relativ unwichtige Maßnahme wirkt, hat weitreichende Konsequenzen. Daher lohnt sich ein Blick hinter die Kulissen.

Continuous Delivery geht auf das gleichnamig, mittlerweile zehn Jahre alte Buch von Humble und Farley [1] zurück. Es beschreibt, wie man Software regelmäßig in Produktion ausliefern kann und welche technischen Ansätze dafür notwendig sind. Allerdings stellt sich die Frage, warum man Software überhaupt kontinuierlich in Produktion bringen sollte. Schließlich ist dafür ein großes Investment nötig.

Schnellere Time to Market ist eine offensichtliche Antwort auf diese Frage. Nur Features, die Kunden tatsächlich nutzen können, sind etwas wert. Was eine Entwicklerin auf ihrem Rechner zeigen kann, mag beeindruckend sein, nützt dem Kunden aber nichts. Also kann sich ein Unternehmen durch regelmäßiges Ausrollen neuer Features eine bessere Position auf dem Markt erarbeiten.

In der Praxis installiert jeder Benutzer jeden Tag einige Updates für irgendwelche Apps auf seinem Mobiltelefon. Aber nur ausgesprochen selten findet man ein neues Feature oder stellt eine andere offensichtliche Änderung an einer App fest. So kann wohl kaum eine bessere Position am Markt erreicht werden. Also kann Time to Market allein nicht der Grund sein, warum Unternehmen Software regelmäßig ausrollen sollten.

Fragt man IT-Experten nach weiteren Vorteilen regelmäßiger Deployments, fallen ihnen noch einige Vorteile ein: Sicherheitslücken können schneller geschlossen werden und Entwickler erhalten für Codeänderungen schnelleres Feedback aus der Produktion. Auch weniger Fehlschläge beim Deployment werden häufig als Vorteil genannt. Schließlich führt eine höhere Frequenz dazu, dass jedes Deployment weniger Änderungen enthält und daher nicht nur die Chance auf einen Fehler geringer, sondern auch das Zurückrollen einfacher ist. Systeme können schneller wiederhergestellt werden, wenn sie ausfallen, weil man den Aufbau eines Systems bei jedem Deployment übt. Ob ein Team, das häufig deployt, produktiver ist, können Experten aber oft nicht beantworten. Schließlich hat das regelmäßige Deployment sicherlich Vorteile, aber es ist aufwendig, die Continuous Delivery Pipeline aufzubauen und am Laufen zu halten. Und was die ideale Deployment-Frequenz ist, kann man auch nicht so einfach beantworten. Irgendwie sollte die Deployment-Frequenz doch mit neuen Features zusammenhängen, aber Features sind eben kein Grund für neue Deployments.

Studie: Was Continuous Delivery wirklich bringt

Zum Glück gibt es eine Studie, den State of DevOps Report 2019 [2], für die über mehrere Jahre mehr als 31 000 Personen befragt worden sind, und die diese Fragen auf Basis von empirischen Daten beantwortet. Man muss also die Antworten nicht erraten, sondern kann sie aus Daten ableiten. Die Studie unterteilt die Studienteilnehmer in Elite, High, Medium und Low Performer. Die Unterscheidung basiert auf der Deployment-Frequenz: Elite Performer deployen mehrmals pro Tag, Low Performer hingegen zwischen einmal pro Monat oder einmal alle sechs Monate. Das beantwortet die Frage nach der Häufigkeit, mit der Software idealerweise deployt werden soll. Und diese Frequenz ist unabhängig davon, ob neue Features ausgerollt werden sollen oder nicht.

Die Studie belegt, dass Folgen einer höheren Deployment-Frequenz tatsächlich eine niedrigere Time to Market, das schnellere Beheben von Ausfällen und eine niedrigere Wahrscheinlichkeit für das Fehlschlagen eines Deployments sind. Das allein rechtfertig sicher nicht die Bezeichnung „Elite Performer“. Aber die Studie belegt noch weitere Vorteile häufiger Deployments. In einer weiteren Studie, dem DevOps Report 2018 [3], wird gezeigt, dass Elite-Performer-Teams 50 Prozent ihrer Zeit mit neuen Features verbringen, während es bei Low-Performer-Teams nur 30 Prozent sind. Dafür verbringen Elite Performer weniger Zeit mit ungeplanter Arbeit, dem Beheben von Sicherheitsproblemen, der Unterstützung von Endbenutzern und dem Beseitigen von Fehlern, die Benutzer gemeldet haben. Zweifellos arbeiten Elite Performer also mehr an wertschöpfenden Dingen, was meist ja die Arbeit an neuen Features ist. Daher ist die Bezeichnung „Elite Performer“ gerechtfertigt.

Die Studie von 2019 hat sogar positive Auswirkungen von Continuous Delivery auf Aspekte wie Burn-out von Mitarbeitern oder die Leistungsfähigkeit der Organisation gezeigt (Abb. 1).

wolff_cicd_1.tif_fmt1.jpgAbb. 1: Positive und negative Beeinflussung im Bereich Continuous Delivery nach [2]

Dazu kommt eine Kultur psychologischer Sicherheit. Continuous Delivery benötigt beispielsweise einen klaren Prozess für die Genehmigung von Änderungen. Das verhindert sicher auch viele Konflikte und wirkt sich positiv auf das gesamte Betriebsklima au...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang