Continuous Integration vs Continuous Delivery vs Continuous Deployment in Scrum

Häufig verwendete Begriffe – „Continuous Integration“, „Continuous Delivery“ und „Continuous Deployment“ – gelten als Bestandteile vonAgile Softwareentwicklung. Diese Praktiken teilen das Präfix „continuous“, was die inkrementelle Integration (lieferbare Software) und die gleichzeitige Bereitstellung der Ergebnisse anzeigt und ermöglicht, ohne die typischerweise bei der traditionellen sequenziellen Entwicklung auftretenden Verzögerungen. In der modernen agilen Umgebung stellen diese Begriffe die Lieferung abgeschlossener Inkremente über eine Pipeline dar, die eine automatische Bereitstellung als Updates ermöglicht.
Das Kernprinzip von Continuous Delivery besteht darin, schrittweise funktionierende Software in kurzen Iterationen bereitzustellen. Mit anderen Worten ist Continuous Delivery eine kurzzyklische Umsetzung, bei der Code häufig entwickelt, gebaut, eingecheckt, automatisch getestet und bereitgestellt wird.
Continuous Delivery
Continuous Delivery
Hinweis:
Es erfordert keine kurzen Release-Zyklen – lediglich die Fähigkeit, neue Code-Commits jederzeit freizugeben, sobald sie bereit sind. Auf diese Weise können Entwickler das Produkt mehrmals am Tag aktualisieren und kontinuierlich Wert für die Nutzer liefern. Dies wird durch hohe Test- und Bereitstellungsautomatisierung erreicht.

Continuous Delivery in Scrum

In Scrum, festgelegte Sprints von 1–4 Wochen werden gefördert, die mit Tests, Demonstrationen, Sprint Review, endgültiger Freigabestatus und Release abgeschlossen werden. Jetzt möchten wir noch häufiger releases durchführen – Continuous Delivery.
Continuous Integration bezieht sich auf eine Softwareentwicklungsmethode, die erfordert, dass Entwickler Code mehrmals am Tag in ein zentrales Repository integrieren. Neben gleichzeitigen und automatisierten Aktualisierungen können Probleme leicht durch Überprüfung unterschiedlicher Check-in-Zeiten erkannt werden.
Continuous Delivery ermöglicht eine sichere, schnelle Bereitstellung aller Arten von Änderungen (einschließlich neuer Funktionen, Konfigurationsänderungen, Fehlerbehebungen und Experimenten) in einer nachhaltigen Weise an Produktion oder Endnutzer.
Continuous Deployment erweitert den Continuous Integration-Ansatz weiter, indem der Zeitraum zwischen Codieren und Bereitstellung minimiert wird.
Continuous Delivery in Scrum
Continuous Delivery in Scrum

Vorteile von Continuous Delivery

Viele Menschen gehen davon aus, dass häufigere Softwarefreigaben bedeuten, dass die Stabilität und Zuverlässigkeit des Systems niedriger sind. Doch viele Studien zeigen, dass dies nicht der Fall ist. Tatsächlich reduziert die Bereitstellung einer Funktion nach der anderen das Risiko jedes Deployments erheblich. Ihr Team kann Funktionen schneller an Kunden liefern, was schnellere Rückmeldungen ermöglicht. Eine Continuous Delivery-Pipeline bringt zahlreiche Vorteile für Teams, Unternehmen und Nutzer:
  • Verkürzte Time-to-Market-Zeit
  • Niedrigere Kosten
  • Schnellere Rückmeldungen
  • Zufriedenere Kunden
  • Risikoreduzierte Releases
Laut der Umfrage 2014Xebia Labs Umfragebericht, Continuous Delivery führte die Entwicklung an, gefolgt dichtauf von Agile. 36,4 % der Befragten nannten DevOps 2014 als eine Schlüsselinitiative, wie die nachfolgende Grafik zeigt:
Software Project Initiative Application (2014)
Anwendung der Software-Projekt-Initiative (2014)

Zusammenfassung

Wenn das zu gut klingt, um wahr zu sein, denken Sie daran: Continuous Delivery ist keine Magie. Software-Release erfordern viel Disziplin. Continuous Delivery in Scrum erreicht eine kontinuierliche tägliche Verbesserung durch häufigere Freigabe kleinerer Änderungen, was hilft, sich an einen regelmäßigen, vorhersehbaren Rhythmus zu gewöhnen und Raum für Veränderungen zu schaffen. Vor allem werden erfolgreiche Releases zu gemeinsamen Erfolgen – etwas, das jeder gemeinsam feiern kann.

Kommentar hinterlassen