Continuous Delivery Maturity
Transcription
Continuous Delivery Maturity
Continuous Delivery Maturity 6. March 2015 Leif Sørensen, CD Coach, partner and co-founder at Praqma [email protected] Praqma ● ● ● ● ● ● ● Continuous Delivery & DevOps experts and evangelists We help customers with practical implementation of their development process 7 years, 16 employees, offices in Copenhagen, Aarhus & Oslo Continuous Delivery & DevOps Conference, CPH, 2014 CoDe Conferences: Oslo, Stockholm, Copenhagen, 2015 Jenkins CI User Events: Copenhagen, Oslo, 2015 Service partner to: Agenda Introduction to Continuous Delivery Demo - a typical Continuous Delivery implementation Why CD - CD and Agile development Continuous Delivery Maturity Model Agenda Introduction to Continuous Delivery Demo - a typical Continuous Delivery implementation Why CD - CD and Agile development Continuous Delivery maturity model Agile Manifesto ● Four doctrines ● Twelve Principles Continuous Delivery Pipeline CD Story-line I’m done! VCS Developer ...nope! Automation Platform Done done Continuous Delivery Pipeline Work item Agenda Introduction to Continuous Delivery Demo - a typical Continuous Delivery implementation Why CD - CD and Agile development Continuous Delivery maturity model Demo http://code.praqma.net/ci/view/Open%20Source%20Pipelines/view/ClearCase%20UCM%20Plugin%20Pipeline/ Agenda Introduction to Continuous Delivery Demo - a typical Continuous Delivery implementation Why CD - CD and Agile development Continuous Delivery maturity model Agile defies phases Waterfall Agile Watergile? Agilefall? Is this a problem? Unachieved goals: ● Unpredictable deliveries ● No visibility into the progress ● Cannot deliver fast ● Building up technical debt ● Quality is put on as an afterthought Measure working software ● If the software doesn't have to work, you can always meet any other requirement (Gerald Weinberg) ● Working software is the primary measure of progress (Agile manifesto) Additional benefits with CD? ● ● ● ● ● Errors / problems found earlier ‘Automatic’ traceability Documentation & visibility into the process ‘Automatic’ historic development ‘Forced’ focus on things you should have done anyway: automation, testability, DevOps,... DevOps I’m done! VCS Developer Work item ...nope! Automation Platform Operations Done done Continuous Delivery Pipeline DevOps ● Because the wall between Dev & Operations was a bad idea in the first place ● When we implement CD, we do a lot of operations work - that should be reused ● CD can help creating trust between Dev & Operations ● Dev needs the cooperation of Operations to really do CD Agenda Introduction to Continuous Delivery Demo - a typical Continuous Delivery implementation Why CD - CD and Agile development Continuous Delivery Maturity Model Signs of Continuous Delivery Maturity Technical debt Henrik Kniberg: The Solution to Technical Debt http://blog.crisp. se/2013/07/12/henrikkniberg/the-solution-to-technical-debt Technical debt Anything about your code & development environment that slows you down. For example: ● Unclear, unreadable code ● Lack of test automation, build automation, deployment automation, and anything else that could be automated that you do manually today ● Duplicate code ● Tangled architecture & unnecessarily complex dependencies ● Slow, ineffective tools ● Uncommitted code & long-lived branches (hides problems that will slow you down later) ● Important technical documentation that is missing or out-of-date ● Unnecessary technical documentation that is being maintained and kept up-to-date ● Lack of test environments ● Long build-test cycle & lack of continuous integration Why do we have technical debt? Things are the way they are because they got that way (Gerald Weinberg) Well - start changing things! Self assessment ● Where are we? ○ ○ ○ ○ Assessment - Maturity Model Workflow model 3 pains + 3 prouds Place pains + prouds in workflow + Maturity Model ● Where would we like to be? ○ Workflow model / how-we-work ○ Maturity Model ○ Roles - who takes responsibility for the different areas? The end - thank you! CD Maturity Paper: http://www.praqma.com/papers/cdmaturity CD Maturity Test: http://cdmi.praqma.net/ CoDe:U: http://www.linkedin.com/groups/Continuous-Delivery-Users-4893734 Continuous Delivery & DevOps Conferences, Jenkins CI User Events: http://www. code-conf.com/