Die Business-Vorteile von Continuous Delivery (I)

Im Zusammenhang mit Releases setzt die Software-Industrie nicht mehr auf manuelle Tests und manuelle oder semi-geskriptete Deploys, sondern auf Stetigkeit. Sie hat mit Continuous Integration, integrierten Tests, ständigem Monitoring und analytischem Feedback Methoden angenommen, die letztlich alle darauf abzielen, die Reaktionsfähigkeit zu steigern. Wenn Unternehmen evaluieren, was diese Veränderungen für sie bedeuten, stoßen sie immer auch auf Continuous Delivery (CD).

Continuous Delivery ist kein Konzept, das sich nur an nerdigen Vorreiter-Unternehmen und Tech-Darlings richtet. Jedes Team – vom kleinen Startup bis zum etablierten Konzern – kann Continuous Delivery praktizieren. Dieser und die folgenden Artikel widmen sich dem Business-Anwendungsfall: Welche Arbeiten sind nötig und welche Vorteile werden sie zeitigen? Welche Entscheidungen und Trade-offs sind erforderlich, um Software mithilfe von CD-Methoden auszuliefern? Beginnen wir mit den vier wesentlichen Argumenten aus Business-Sicht, die für Continuous Delivery sprechen.

Kürzere Reaktionszeiten

Der klar offensichtliche Vorteil von Continuous Delivery besteht darin, dass schnelle Reaktionen sowohl auf externe als auch auf interne Reize möglich sind. Ein Marktsegment, das plötzlich in eine ungeahnte Richtung steuert, eine entdeckte Sicherheitslücke – auf solche und beliebige andere Ereignisse, die zu raschem Handlungsbedarf am Produkt führen, kann das Unternehmen kurzfristig reagieren.

Risiko-Minimierung

In vielen Unternehmen wird die Auslieferung eines Releases von viel Tamtam begleitet – verständlicherweise: Die neuen Funktionen sind beim Kunden, Bugs sind gefixt, alles ist super. Aber in ebenso vielen Unternehmen ist die Auslieferung mit einem erheblichen Aufwand für die Qualitätssicherungs- und Build-/Release-Teams verbunden. Nach dem Continuous-Delivery-Modell wird Software ständig "ausgeliefert" (wenn auch nicht notwendigerweise an den Kunden). Auf diese Weise werden die Risiken rund um ein Release reduziert. Unternehmen, die CD adaptiert haben, können Unzulänglichkeiten viel schneller erkennen und beheben als solche, die den Release-Prozess nur alle paar Wochen oder Monate durchlaufen.

Weniger Ineffizienz und geringere Kosten

Ob der neueste Web-Service oder ein klassisches ISO-Image – jedes Software-Unternehmen muss Kosten stemmen, um die neue Produktversion nach draußen zu bringen. Oftmals sind diese Kosten aber nicht komplett transparent. Alle möglichen Faktoren beeinflussen die tatsächlichen Kosten der Auslieferung eines Releases. Continuous Delivery macht diese Prozess für alle Beteiligten sichtbar – auch für die Entscheidungsträger. Bei der Konstruktion einer Pipeline wird klar, wo Menschen involviert sind, welche Flaschenhälse existieren und wo man niedrig hängende Automatisierungsfrüchte pflücken kann. Einmal konstruiert, erzeugt die Pipeline einen mächtigen Zyklus. Es gibt nun eine gesunde Software-Delivery-Dynamik statt eines nebulösen Unbehagens dahingehend, wie lange es dauern wird und wie kostspielig es ist, zu releasen.

Flexible Release-Optionen

Die Adaption eines Continuous-Delivery-Modells erfordert den Ausbau von Infrastruktur im operativen und im softwarearchitektonischen Kontext. Ist das einmal erfolgt, ist das Unternehmen weitaus flexibler im Hinblick auf die Auslieferung von Features und Fixes. Spezielle Feature-Sets können an spezifische Kunden oder Nutzergruppen ausgerollt werden, um sicherzustellen, dass sie funktionieren und wie vorgesehen skalieren. Features können getestet und entwickelt werden, bleiben im Produkt aber inaktiv, um sie später als großes Release auszuliefern. Mit Continuous Delivery ist das nicht nur möglich, es ist auch einfach.

Angesichts dieser Vorteile mag Continuous Delivery wie eine Wunderwaffe erscheinen. Mit Magie hat das aber nichts zu tun, sondern mit einem grundsätzlichen Umdenken und gezielten Investitionen. Damit beschäftigt sich der kommende zweite Artikel zum Thema.

Kennen Sie Codeyard?

Das ist unsere neue Tool-Suite für Software-Entwicklungsteams, eine professionelle Lösung für das schnelle Aufsetzen einer passgenauen Infrastruktur als Grundlage für einen effektiven und effizienten Software-Entwicklungsprozesses – von der Idee bis zum auslieferbaren Produkt. Hier gibt es weitere Infos zu Codeyard.

Weiterführende Infos

Continuous Delivery in der Praxis: Deployment auf Knopfdruck und Release-Verwaltung mit Bamboo
Individuelle Software-Entwicklung: Workflows, Branching-Modelle und Continuous Delivery
Der Continuous-Delivery-Workflow für SaaS- und für installierte Software-Produkte
Der Continuous-Delivery-Workflow für Gitflow-Projekte