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/