Continuous Delivery Sander Aernouts
Info Support in een notendop Maatwerk softwareontwikkeling van bedrijfskritische kantoorapplicaties Business Intelligence oplossingen Managed IT Services Eigen Kenniscentrum 400 medewerkers NE & BE ISKA s
Wat gaan we doen? Continuous Delivery - Introductie
SOFTWARE DEVELOPMENT Continuous Delivery
Wat is software developement? Continuous Delivery
INTRODUCTIE CONTINUOUS DELIVERY Continuous Delivery
Introductie Continuous Delivery Standaardwerk over het topic uit 2011, Jez Humble & David Farley Continuous Delivery - Introductie
8 principes van continuous delivery The process for releasing/deploying software MUST be repeatable and reliable. Automate everything! If something is difficult or painful, do it more often. Keep everything in source control Done means released. Build quality in! Everybody has responsibility for the release process. Improve continuously. Bron: http://java.dzone.com/articles/8-principles-continuous Continuous Delivery - Introductie
CD op een sheet Bron: http://continuousdelivery.com/2014/02/visualizations-of-continuous-delivery/ Continuous Delivery - Introductie
5 dimensies Maturity Model 5 niveaus Bron: http://cdmm.infosupport.com Continuous Delivery - Introductie
Maturity Model Continuous Delivery
CONTINUOUS DELIVERY IN DE PRAKTIJK Continuous Delivery
Netflix Continuous Delivery
Tesla Motors Continuous Delivery - Praktijk Case
Google Continuous Delivery - Praktijk Case
CONTINUOUS DELIVERY PRACTICES Continuous Delivery
De 5 dimensies van CD Informatie & Rapportage Specificeren & Testen Continuous Delivery Cultuur & Organisatie Build & Deploy Architecture & Ontwerp Afronding Continuous Delivery - Praktijk Case
CULTUUR EN ORGANISATIE Continuous Delivery
Continuous Feedback Continuous Delivery - Culture & Organization
Agile principles Continuous Delivery - Culture & Organization
Dev & Ops Continuous Delivery - Culture & Organization
Business & Dev & Ops Continuous Delivery - Culture & Organization
Valkuilen in de praktijk Verandering kost tijd! Heel veel communicatie Denk goed na over: Wie doet wat, afdelingen & rollen Verantwoordelijkheden binnen teams Kennis opdoen middels training & coaching Cultuur & Organisatie Continuous Delivery - Culture & Organization
ARCHITECTUUR & ONTWERP Continuous Delivery
Modulairiteit Continuous Delivery - Design & Architecture
Verschillende platforms Continuous Delivery - Design & Architecture
Service Oriented Architecture Continuous Delivery - Design & Architecture
Microservices Continuous Delivery
Valkuilen in de praktijk Wie is verantwoordelijk? Just enough design Denk goed na: Over inzet herbruikbare componenten (change once, update everywhere) Het gevaar van Tijdelijke oplossingen Architectuur & Ontwerp Continuous Delivery - Design & Architecture
BUILD & DEPLOY Continuous Delivery
Versiebeheer Continuous Delivery - Deploy & Build
Test Build script Sources Sources.java.zip Sources Sources.sql Script Build.jar Sources Sources.cs.dll Continuous Delivery - Deploy & Build
Continuous integration Continuous Delivery - Deploy & Build
Continuous deployment Continuous Delivery - Deploy & Build
Valkuilen in de praktijk Alles onder versiebeheer New single point of failures (build of deploy) Organisatie moet ook mee! Denk goed na over: Testen als onderdeel van de build Versioneren van de build Build & Deploy Continuous Delivery - Deploy & Build
SPECIFICEREN & TESTEN Continuous Delivery
Testen & Continuous delivery Continuous Delivery - Test & Verification
Test Driven Development Continuous Delivery - Test & Verification
Acceptance Test Driven Dev. Continuous Delivery - Test & Verification
ATDD tools Continuous Delivery - Test & Verification
Perceptual Difference Continuous Delivery - Test & Verification
Fault injection testing Continuous Delivery
Valkuilen in de praktijk Verantwoordelijkheid voor testomgevingen Testen (onderhoudbaar)automatiseren is lastig Componenten/subsystem isoleren is soms lastig Denk goed na over: Het (automatisch) uitrollen van testomgevingen Efficient testen, alleen test draaien voor onderdelen die veranderd zijn Specificeren & Testen Continuous Delivery - Test & Verification
INFORMATIE EN RAPPORTAGE Continuous Delivery
Code quality dashboards Continuous Delivery - Information & Reporting
Scrum dashboards (proces) Continuous Delivery - Information & Reporting
Analyseer applicatie performance Continuous Delivery - Information & Reporting
Analyseer gebruik applicatie Continuous Delivery - Information & Reporting
Let op zij-effecten.. Continuous Delivery - Information & Reporting
Valkuilen in de praktijk Quality metrics zeggen niet alles! (behoud altijd common sense) Proces metrics zijn erg lastig. Denk goed na over: Weet waarom je meet Begin klein! Informatie & Rapportage Continuous Delivery - Information & Reporting
Wrap up Continuous delivery is geen doel op zich. Begin met heldere visie en doelstellingen. Begin eerlijk en begin klein. Verbeter incrementeel Start by doing what's necessary; then do what's possible; and suddenly you are doing the impossible. Francis of Assisi (+/- 1210 ac) Continuous Delivery - Wrap up
Continuous Delivery? Continuous Delivery
De bekende vragen sheet Continuous Delivery - Wrap up
Meer informatie Continuous Delivery http://continuousdelivery.com/ Continuous delivery (Jez Humble) CDMM (Maturity Model) http://cdmm.infosupport.com Scrum Succeeding with Agile: Software development using Scrum (Mike Cohn) http://scrum.org DevOps http://devops.com Cursussen/coaching: standaard en maatwerk Continuous Delivery - Wrap up