Warum ich Continuous Delivery liebe und wieso du das auch solltest

Image of Felix Klauke
Felix Klauke

Indem du Software kontinuierlich auslieferst ebnest du den Weg für höhere Softwarequalität. Die Prozessautomatisierung spart Zeit, Geld und Ressourcen. Wenn du dir die folgenden Punkte ins Gedächtnis rufst bist du in der Lage, abzuschätzen, welche konkreten Vorteile Continuous Delivery für deine Prozesse liefert.

 

Time To Market

Wie lange brauchen deine Änderung bis in die Produktionsumgebung? Continuous Delivery verringert diese Zeit. Du kannst also schneller auf Änderung am Markt reagieren. Du kannst dadurch mit wenig Aufwand deine Produkte am Markt positionieren. In Kombination mit Methoden wie Lean Startup kannst du einen deutlichen Vorteil am Markt aufbauen: Deine Produkte sind schneller am Markt, besser positioniert und schneller anpassbar.

In kurzer Zeit kannst du mehr Ideen als deine Mitbewerber ausprobieren und dein Produkt verfeinern. Ohne diese Geschwindigkeit und ohne Continuous Delivery würde dein neues Feature wann ausgeliefert? Beim nächsten quartalsmäßigen Release? Viel zu spät! Deine Mitbewerber werden dir bis dahin schon den Rang abgelaufen haben. 

Zusammenfassend hast du also einfachere Releases, kannst schneller und besser angepasst neue Features Testen und hast durch schnelleres Time-To-Markt einen Vorteil gegenüber deinen Mitbewerben.

 

Risikominimierung

Time-To-Market ist kein K.O. Argument für alle Branchen. Manche Produkte sind nicht davon abhängig, wie viel Konkurrenz es gibt oder ob deine Mitbewerber andere Strategien fahren als du. Continuous Delivery ist dadurch aber nicht weniger wertvoll für dich! Neben der Geschwindigkeit erfährt dein Release Prozess ein neues Level der Automatisierung:

  • Release Prozesse werden nicht länger manuell von deiner gesamten IT-Abteilung durchgeführt
  • Dein Release Prozess reduziert externe Abhängigkeiten und erfährt so weniger Risiko

In herkömmlichen Release-Prozessen ist es nicht unüblich, dass ein ganzes Wochenende für einen Release angesetzt wird. Die gesamte IT-Abteilung wird blockiert und arbeitet durch, um hoffentlich einen sauberen Release über die Bühne zu bringen. Das bedeutet nicht nur Stress für deine Mitarbeiter sondern erhöht auch das Risiko im Release-Prozess.

Continuous Delivery schafft hier Abhilfe. Zuverlässigkeit, Geschwindigkeit und Qualität deines Release-Prozesses werden messbar erhöht, während das Risiko sinkt! Es kann automatisiert getestet werden und das auch noch häufiger als vorher. Jeder Release wird dazu besser reproduzierbar und kann gleichzeitig in Entwicklungs- und Produktionsumgebungen ausgeliefert werden. Durch vorheriges Testen der absolut gleichen Entwicklungsumgebung kannst du schon vor dem Produktions-Release Fehlerquellen erkennen und eliminieren. Indem du öfter Releases auslieferst verringerst du außerdem die Anzahl der Änderungen pro Release - Wieder ein Plus Punkt, denn du riskierst weniger Fehlerquellen.

 

Schnelle Feedback-Zyklen

Stell dir folgende Frage:

Wie lange dauert für dich ein Feedback-Zyklus vom Software-Build über die ersten Tests, die Akzeptanztests,
die manuellen Tests in einer Test-Umgebung und schließlich das Feedback aus der Produktion?

Wenn dazwischen mehrere Wochen oder Monate liegen hast du ein Problem. Bis dahin haben deine Entwickler nämlich längst vergessen, was sie denn damals, vor geraumer Zeit, mal implementiert hatten, wie sie das gemacht haben und warum sie das so gemacht haben.

Wenn du dagegen kontinuierlich auslieferst und weniger Änderungen pro Release hast bekommst du schnelleres und gezielteres Feedback, sowohl von deinen Tests, als auch von deinen Nutzern. Deine Tests erhalten durch Continuous Delivery mehr Gewicht und werden fester Bestandteil jedes Release-Prozesses. Auf Dauer kannst du dadurch auch die Qualität des Codes und der Software an sich erhöhen.

 

Fazit

Zusammenfassend fällt auf dass Continuous Delivery zu deutlich schnelleren und einfacheren Release-Prozessen führt. Das führt dazu, dass du dich schneller auf Änderungen im Markt einstellen kann und die Time-To-Market Zeit sinkt, während die Produkt-Reife durch kontinuierliche Auslieferung und Tests gestiegen ist. Es ergibt sich also ein klarer Wettbewerbsvorteil gegenüber anderen Anbietern. Dein Produkt ist besser angepasst, birgt weniger Risiken in der Entwicklung und kann sich gegen die Produkte deiner Mitbewerber durchsetzen. Du unterstützt außerdem grundlegende Ziele von Digitalisierung, Qualitätssicherung und Automatisierung.

Wie baust du deine Continuous Delivery Pipeline auf? Lass es mich jetzt in den Kommentaren wissen!

Kommentieren

Blog

Verwandte Artikel

Image of Felix Klauke
Felix Klauke

Die Anatomie einer großartigen Continuous Integration Pipeline

Bei Softwareentwicklung spricht jeder von Automatisierung und von Qualität. Ein CI/CD Konzept hilft...

Weiterlesen
Image of Felix Klauke
Felix Klauke

Manuelles Deployment als Antipattern in der Continuous Delivery

Manuelles Deployment ist ein Antipattern. Was plakativ klingt ist ein fester Grundsatz in jeder...

Weiterlesen