Upload
digicomp-academy-ag
View
141
Download
1
Tags:
Embed Size (px)
Citation preview
DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG Michael Palotas 7. April 2015
1 GRIDFUSION
2
IHR REFERENT Gridfusion Software Solutions Kontakt: Michael Palotas Gerbiweg 2 8853 Lachen SWITZERLAND Tel.: +41 79 6690708 Email: [email protected] Twitter: @michael_palotas
Founder / Principal Consultant Gridfusion Software Solutions
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
GRIDFUSION 7
TEST CYCLES
Development Test
Traditional model - 6 months
Development Test
Agile - 2 weeks
GRIDFUSION
Development Test AUTO
WAS IST CONTINUOUS INTEGRATION UND
CONTINUOUS DELIVERY? AutomaBsierte Builds?
AutomaBsierte Tests? <AutomaBsierte Qualität>?
AutomaBsierte Deployments? AutomaBsiertes Feedback?
11 GRIDFUSION
WHAT IS CONTIUOUS INTEGRATION?
12
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.
GRIDFUSION
WHAT IS CONTINUOUS DELIVERY?
13
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.
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
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