codecentric

Release auf Knopfdruck: Mit Continuous Delivery kommen Sie schneller ans Ziel.

continuous-delivery

Die Erwartungen Ihrer Businesskunden an ihre IT steigen. Mehr denn je kommt es darauf an, die Software optimal am Kunden auszurichten und die Lieferzeiten neuer Software-Releases zu verkürzen. Das Nutzen agiler Entwicklungsverfahren wie Scrum oder Kanban sowie schnelles und direktes Kundenfeedback ab Auslieferung sind zwei wichtige Schritte in diese Richtung. Denn so können Ihre Kunden von neuer Software bzw. Software-Aktualisierungen in kurzen Iterationen von 2-4 Wochen profitieren.

 Fordern Sie unsere kostenlose Broschüre zum Thema Continuous Delivery an!

null

Automatisch ans Ziel – so oft Sie wollen und so schnell, wie es Ihre Kunden verlangen.

Ein Problem ist durch kurze Iterationen aber nicht gelöst: Nach der Erstellung der neuen Lösung beginnt oft ein aufwändiger, manueller Prozess, um das fertige Inkrement in Betrieb zu nehmen. Erst danach kann die neu erstellte Software einen Mehrwert für die Kunden liefern.

Continuous Delivery setzt genau hier an. Als Motor dieses Release-Prozesses automatisiert es alle Schritte bis zur produktiven Auslieferung: Aus einem manuellen und besonders fehleranfälligen Verfahren wird ein automatischer und reproduzierbarer Vorgang mit Null-Fehler- Quote.

Continuous Delivery in Kürze.

Continuous Delivery beschleunigt und automatisiert alle Prozesse, die bei der Softwareentwicklung vonnöten sind. Dadurch verkürzen sich die Lieferzeiten, die Fehlerquote sinkt, und die Lieferhäufigkeit, d. h. die Anzahl der möglichen Releases pro Zeiteinheit, steigt.

Das Ergebnis: bessere Kundenorientierung und höhere Zuverlässigkeit der ausgelieferten Lösung bei reduzierten Kosten.

null

Ihre Vorteile:

  • Höhere Wertschöpfung der IT durch schnelle und sichere Lieferung von Änderungen
  • Bessere Release-Qualität durch automatischen, reproduzierbaren Vorgang mit weniger Fehlerquellen
  • Reduzierte Entwicklungskosten durch höhere Automatisierung und beschleunigte Prozesse
  • Produktive Zusammenarbeit durch durchgängigen Delivery-Prozess von Testing bis Deployment
  • Höhere Kundenzufriedenheit durch zuverlässigen und fehlerfreien Übergang in den Betrieb – Deployment als beliebig wiederholbares Routine-Ereignis

 

 


Ein Rädchen greift ins andere: Zuverlässigkeit für alle Prozesse der Software-Entwicklung.

Continuous Delivery optimiert jeden Schritt des Entwicklungs- und Release- Prozesses. Angestoßen von der Fertigstellung des Source Codes bis zur Nutzung der Software durch den Anwender.

Dabei spielt es keine Rolle, ob nur ein Fehler behoben, eine kleine Änderung umgesetzt oder ganz neue Funktionen integriert werden. Dies erfordert ein perfektes Zusammenspiel einzelner Disziplinen:

build:

test: 

deploy:

Hinter Continuous Integration steckt die Idee, den aktuellen Stand des Source Codes mit jeder Änderung in ein auslieferbares Artefakt zu kompilieren – unter Berücksichtigung definierter Abhängigkeiten und eines standardisierten Build-Prozesses. Unit-Tests sowie automatisierte Fach- und Regressionstests tragen dazu bei, dass Continuous Testing Realität wird. So kann sichergestellt werden, dass alte und neue, funktionale und nicht-funktionale Anforderungen erfüllt werden – ganz automatisch und ohne potenzielle Fehlerquellen! Die dritte Disziplin ist das Continuous Deployment. Plötzlich ist es möglich, neue Software-Versionen auf Entwicklungs-, Integrations- und Produktionsumgebungen automatisch einzuspielen.

Konstant hohe Qualität der Ergebnisse

Um dieses Ziel nicht nur schnell zu erreichen, sondern zugleich auch die konstant hohe Qualität des jeweiligen Ergebnisses sicherzustellen, müssen alle Schritte abgebildet und miteinander verzahnt werden: die Integration des Codes unterschiedlicher Entwickler oder Teams, das Bauen eines Software Inkrements, die Konfiguration der Anwendung für unterschiedliche Umgebungen, Qualitäts- und Compliance Prüfungen, der funktionale (Regressions-) Test, Performance und Security Analysen, Datenbank Anpassungen, sowie die Installation der Software auf einer Staging- oder Produktionsumgebung. Der Schritt auf die Produktion erfolgt dabei natürlich nicht vollautomatisch aus der Entwicklung, sondern durch einen manuellen Anstoß unter Berücksichtigung der Kundenwünsche und Rahmenbedingungen, läuft dann aber genauso automatisiert ab, wie auf den vorherigen Laufzeitumgebungen.

Diese Prozesse werden heute in der Regel von unterschiedlichen Personen manuell ausgeführt, so dass die Räder nicht immer ineinander greifen oder in die richtige Richtung laufen. Der Release-Motor gerät ins Stottern.

 

 

Der erste Release-Motor, der immer rund läuft

Mit Continuous Delivery hat Ihr Team erstmals einen eingespielten Release-Motor zur Verfügung, der nicht nur reibungslos läuft, sondern auch noch völlig „wartungsfrei“ ist. Denn codecentric hat die einzelnen Schritte optimiert und perfekt aufeinander abgestimmt: Alle Rädchen greifen automatisch ineinander, und das gleichzeitig!

Zugleich sichern Sie sich maximale Transparenz: Jeder Schritt wird automatisch protokolliert und überwacht. Sie können jederzeit feststellen, in welcher Phase der Implementierung eine Funktion sich befindet und welchen Status sie besitzt. Nur wenn die fertig gestellte Software exakt den eingangs im Konzept definierten, hohen Qualitätskriterien entspricht wird sie ausgeliefert – automatisiert und reproduzierbar.

null

Unsere Vorgehensweise

Bedarfsanalyse

Zur genauen Standortbestimmung erstellen wir einen Bericht, der die eingangs identifizierten Stärken und Schwächen verdeutlicht. Als Basis dafür dienen die Erkenntnisse, die wir in einem gemeinsamen Workshop erarbeiten. Ermittelt wird der komplette Status Quo. Wo steht Ihr Unternehmen in Bezug auf…

  • Ziele und Prioritäten der Organisation?
  • Rahmenbedingungen?
  • Vorgehensmodelle und Prozesse?
  • Organisation und Zusammenarbeit?
  • Softwarelösung und Architektur?
  • Art und Umfang von technischen Schulden?


Roadmap

Aus den Antworten leiten wir eine detaillierte Roadmap für die Einführung von Continuous Delivery in Ihrem Unternehmen ab. Zusätzlich schlagen wir Ergänzungen und Veränderungen von Praktiken und Werkzeugen vor, jedoch immer unter der Vorgabe, bestehende Investitionen zu schützen. In einem weiteren Workshop legen wir gemeinsam fest, welche Schritte Sie aus eigener Kraft machen wollen und für welche Schritte Sie unsere Unterstützung in Anspruch nehmen wollen.


Technische Umsetzung

Die Umsetzung folgt in allen Schritten der in enger Abstimmung mit Ihnen entwickelten Roadmap. Wie müssen Sie vorgehen, um Continuous Delivery erfolgreich in Ihrem Unternehmen zu etablieren?

  • Implementierung, Modifikation und ggf. Austausch von Werkzeugen
  • Überarbeitung des Build Prozesses
  • Anpassen von Entwicklungsprozessen
  • Anpassen des Vorgehensmodells (z.B. Scrum, Kanban)
  • Abbau technischer Schulden
  • Training / Coaching / Pair Working
  • Unterstützung, um z.B. Test Coverage zu verbessern
  • Planung und Unterstützung bei der Bereitstellung von virtuellen Umgebungen
  • Unterstützung bei Change Management und kulturellen Aspekten (z.B. DevOps) …

 


null Am Ende steht eine Continuous Delivery Lösung mit individuellem Profil, die Ihre Softwareorganisation noch zuverlässiger, noch leistungsfähiger, noch reaktionsschneller und vor allem: noch kundenorientierter macht.

Sie haben Fragen? Nehmen Sie Kontakt zu uns auf! Wir sind gerne für Sie da!