DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG Michael Palotas 7. April 2015 1 GRIDFUSION
IHR REFERENT Gridfusion Software Solutions Kontakt: Michael Palotas Gerbiweg 2 8853 Lachen SWITZERLAND Tel.: +41 79 6690708 Email: michael.palotas@gridfusion.net Twitter: @michael_palotas Founder / Principal Consultant Gridfusion Software Solutions 2 GRIDFUSION
WAS IST AGIL? WARUM AGIL? 3 GRIDFUSION
IST DAS AGIL? 4 GRIDFUSION
ODER DAS? 5 GRIDFUSION
WELCHE AGILEN PRINZIPIEN KENNEN SIE? 6 GRIDFUSION
EINIGE AGILE PRINZIPIEN Standups Post- Its Test automabon ConBnuous integrabon ConBnuous delivery DevOps Infrastructure as code Pair programming Code reviews (StaBc) code analysis Internal & external quality mindset Bug prevenbon vs. bug detecbon 7 GRIDFUSION
CONTINUOUS INTEGRATION & TEST AUTOMATION 8 GRIDFUSION
TEST CYCLES Traditional model - 6 months Development Test Agile - 2 weeks Development Test Development Test AUTO GRIDFUSION
TEST PYRAMIDE 10 GRIDFUSION
WAS IST CONTINUOUS INTEGRATION UND CONTINUOUS DELIVERY? AutomaBsierte Builds? AutomaBsierte Tests? <AutomaBsierte Qualität>? AutomaBsierte Deployments? AutomaBsiertes Feedback? 11 GRIDFUSION
WHAT IS CONTIUOUS INTEGRATION? Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP). Its main aim is to prevent integration problems, referred to as "integration hell" in early descriptions of XP. CI can be seen as an intensification of practices of periodic integration advocated by earlier published methods of incremental and iterative software development, such as the Booch method. CI isn't universally accepted as an improvement over frequent integration, so it is important to distinguish between the two as there is disagreement about the virtues of each. 12 GRIDFUSION
WHAT IS CONTINUOUS DELIVERY? Continuous Delivery (CD) is a design practice used in software development to automate and improve the process of software delivery. Techniques such as automated testing, continuous integration and continuous deployment allow software to be developed to a high standard and easily packaged and deployed to test environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. The technique was one of the assumptions of extreme programming but at an enterprise level has developed into a discipline of its own, with job descriptions for roles such as "buildmaster" calling for CD skills as mandatory. 13 GRIDFUSION
WARUM CI/CD Reduzieren der Risiken RedukBon des manuellen repebbven Prozess Generierung von deploybarer So]ware zu jeder Zeit Bessere Visibilität in das Projekt Erhöhte Confidence in das Produkt und das Team Häufigere Lieferung von Business Value Früheres Finden von Bugs Bessere Qualität Fast & frequent feedback 14 GRIDFUSION
NEBENEFFEKTE VON CI Entwickler Tests Befolgen der Coding Standards Refactoring Kleine Releases Quality Mindset / CollecBve Ownership 15 GRIDFUSION
CORE PRINZIPIEN Häufige Commits Kein Commit von broken Code Rote Builds müssen sofort gefixt werden Entwickler schreiben (auch) Tests Alle Tests und InspekBonen müssen grün sein Private Builds 16 GRIDFUSION
HAUPTAUFGABEN DES CI SYSTEMS AutomaBsierter Build AutomaBsierte Code Qualitätsmessung AutomaBsiertes Testen AutomaBsiertes Deployment 17 GRIDFUSION
Wakaleo.com 18 GRIDFUSION
DER MANAGEMENT / ORGANISATIONS ASPEKT Was ändert sich für die Teams? Was sollte in einer OrganisaBon geändert werden um CI/CD einzuführen? Welche Rolle hat das Management bei der Einführung einer DevOps Kultur? 19 GRIDFUSION
INFRASTRUCTURE AS CODE Konsistente Infrastruktur Effizientes Change Management Wiederholbar 20 GRIDFUSION
TOOLS 21 GRIDFUSION
VIDEO / DEMO vimeo.com/124344404 22 GRIDFUSION
HERZLICHEN DANK! michael.palotas@gridfusion.net @michael_palotas 23 GRIDFUSION