Kanban-Leitfaden · Lean-Grundlagen
Continuous Delivery: Prinzipien, Pipeline und Vorteile
Continuous Delivery ist eine Softwarepraxis, bei der der Code stets in einem auslieferbaren Zustand gehalten wird, sodass neue Änderungen schnell, sicher und jederzeit für Nutzer freigegeben werden können. Sie macht das Kanban-Ideal eines kleinteiligen, kontinuierlichen Flows technisch real.
Das Wichtigste in Kürze
- Continuous Delivery hält Software stets auslieferbar.
- Eine Deployment-Pipeline automatisiert Build, Test und Release.
- Sie ergänzt Kanban, indem sie gebündelte Releases überflüssig macht.
Ursprünge
Die Praxis wurde von Jez Humble und David Farley in ihrem Buch „Continuous Delivery“ von 2010 ausführlich beschrieben. Sie baut auf agilen Prinzipien auf, insbesondere dem ersten: wertvolle Software früh und kontinuierlich ausliefern.
CI vs. Continuous Delivery vs. Continuous Deployment
| Praxis | Bedeutung |
|---|---|
| Continuous Integration (CI) | Developers führen häufig kleine Änderungen zusammen; jede Zusammenführung wird automatisch gebaut und getestet |
| Continuous Delivery (CD) | Jede Änderung, die die Pipeline durchläuft, könnte freigegeben werden; die Freigabe ist eine geschäftliche Entscheidung |
| Continuous Deployment | Jede Änderung, die die Pipeline durchläuft, wird automatisch freigegeben |
Die Deployment-Pipeline
- Commit Stage: Code bauen und schnelle automatisierte Tests ausführen.
- Acceptance Stage: automatisierte Funktions- und Integrationstests.
- Weitere Tests: Performance-, Sicherheits- und explorative Tests.
- Release: in die Produktion ausliefern, oft mit Feature Flags oder schrittweisen Rollouts.
- Überwachen: die tatsächliche Nutzung und Fehler beobachten und bei Bedarf schnell zurückrollen.
Vorteile
- Kleinere Releases mit geringerem Risiko.
- Schnelleres Feedback von echten Nutzern.
- Kürzere Lead Time von der Idee bis zum Kunden.
- Weniger stressige Release-Tage.
- Höhere Qualität durch Automatisierung.
Continuous Delivery und Kanban
Kanban begrenzt den Work in Progress und hält Einträge klein; Continuous Delivery beseitigt den gebündelten Release-Schritt am Ende. Zusammen lassen sie jeden Eintrag zum Kunden fließen, sobald er fertig ist. Siehe DevOps.
Kostenlose Vorlagen zu diesem Thema
Häufig gestellte Fragen
Ist Continuous Delivery nur etwas für Software?
Der Begriff stammt aus der Softwareentwicklung, doch das Prinzip, Arbeit in kleinen Inkrementen stets freigabebereit zu halten, gilt auch für Inhalte, Dokumentation und andere digitale Produkte.
Braucht man Continuous Deployment für Continuous Delivery?
Nein. Continuous Delivery bedeutet, dass Sie jederzeit freigeben können; Continuous Deployment bedeutet, dass Sie automatisch freigeben.
Was ist Continuous Delivery?
Continuous Delivery ist eine Softwarepraxis, bei der der Code stets in einem auslieferbaren Zustand gehalten wird, sodass jede Änderung jederzeit sicher und schnell in die Produktion ausgeliefert werden kann.
Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?
Bei Continuous Delivery ist jede Änderung bereit zur Freigabe, doch ein Mensch entscheidet über das Deployment. Bei Continuous Deployment wird jede Änderung, die die Pipeline durchläuft, automatisch freigegeben.
Was ist der Unterschied zwischen Continuous Integration und Continuous Delivery?
Continuous Integration bedeutet, Codeänderungen häufig zusammenzuführen und zu testen. Continuous Delivery erweitert das, sodass integrierter Code jederzeit in die Produktion ausgeliefert werden kann.
Was ist eine Deployment-Pipeline bei Continuous Delivery?
Eine automatisierte Abfolge von Stufen wie Build, Tests und Deployment in Testumgebungen, die jede Änderung auf dem Weg zum Release durchläuft.
Wer hat das Buch „Continuous Delivery“ geschrieben?
Jez Humble und David Farley, in ihrem Buch „Continuous Delivery“ von 2010.
Was sind die Vorteile von Continuous Delivery?
Kleinere Releases mit geringerem Risiko, schnelleres Feedback von Nutzern, weniger manuelle Fehler und weniger stressige Release-Tage.
Welche Tools werden für Continuous Delivery genutzt?
Teams kombinieren typischerweise Versionsverwaltung, einen CI/CD-Server, Frameworks für automatisierte Tests und Infrastructure-as-Code-Tools. Die konkreten Produkte sind weniger wichtig als Automatisierung und Disziplin.
Wie hängt Continuous Delivery mit Kanban zusammen?
Beide streben kleine Arbeitspakete an, die stetig zu den Kunden fließen. Ein Kanban-Board mit kurzer Durchlaufzeit passt natürlich zu einer Pipeline, die jeden fertigen Eintrag freigeben kann.
Was ist ein Feature Flag in Continuous Delivery?
Ein Schalter im Code, der ein Feature ohne erneutes Deployment ein- oder ausschaltet, sodass Teams Code sicher freigeben können, bevor ein Feature für alle Nutzer sichtbar ist.