„Continuous Delivery“ AM2 Übung „Planung von Softwareprojekten“ Referent: Marc Schlesiger
Was ist Continuous Delivery? „Eine Sammlung von Techniken, Prozessen und Werkzeugen, um den Softwarelieferprozess zu verbessern.“
Radikale Automatisierung Entwicklung Qualitätssicherung Produktivsetzung erfolgt kontinuierlich mit jeder Änderung an der Software Radikale Automatisierung führt zu einer automatisierten Pipeline (Deployment-Pipeline) Auf der einen Seite kommt jeweils ein neuer Softwarestand hinein, auf der anderen ein qualitätsgesichertes, produktionsreifes und installierbares Softwarepaket heraus Deployment-Pipeline :eine Menge von Validierungen, die eine Software auf ihrem Weg zur Veröffentlichung bestehen muss.
Klassisches Phasenmodell Von der Idee bis zum Kunden – Concept to cash Feature Idee User Stories Developement QA Produktion Softwareentwicklung nach klassischen Phasenmodell sieht die drei Schritte Entwicklung, Qualitätssicherung und Auslieferung üblicherweise nur EINMAL für jedes Release vor Continous Delivery
Approval = Genehmigung, Zustimmung
Freigabeschritte Unit-Tests Akzeptanztests Performancetests prüfen einzelne Komponenten isoliert in ihren Funktionen Akzeptanztests sorgen für das Einhalten der mit den Anforderungen formulierten Akzeptanzkriterien Performancetests überprüfen nichtfunktionale Anforderungen wenn die eine Teststufe erfolgreich war, starten die Tests der nächsten Stufe Ablauf folgt hier dem als "Stop the Line" bekannten Prinzip des Lean Manufacturing Je weiter es ein Softwarestand erfolgreich durch die Pipeline geschafft hat, desto mehr kann man darauf vertrauen, dass die Änderung keine Regressionen erzeugt hat und die Software nach wie vor die Anforderungen erfüllt.
Continuous Delivery Pipeline Aus der Vogelperspektive – Stufenweise heranführen Continuous Delivery Pipeline
Die erste Teststufe in der Continuous Delivery Pipeline ist die sogenannte Commit Stage, die das Versionskontrollsystem direkt durch die Änderung der Software ausgelöst hat.
Frage? Wie sieht die technische Umsetzung von Commit und Acceptance Test Stage bei der Realisierung einer Continuous Delivery Pipeline aus?
Warum Continuous Delivery? Trotz Bruch in gewohnten Entwicklungstechniken und Arbeitsabläufen: Risikoärmere Entwicklung automatisierte und kontinuierliche Tests kürzere Time-to-Market Schnell auf Änderungen auf dem Markt reagieren
http://www.heise.de/developer/artikel/Eine-Einfuehrung-in-Continuous-Delivery-Teil-1-Grundlagen-2176380.html http://continuousdelivery.com/ http://en.wikipedia.org/wiki/Continuous_delivery http://www.informit.com/articles/article.aspx?p=1621865&seqNum=2
Vielen Dank für Eure Aufmerksamkeit!