The Wall Street Journal already mentioned it in 2011: “Software is eating the world”. The world is starting to discover that nowadays, every company is an IT company. Product owners and other business representatives are seeing their competitors release new features to end users every day, and are demanding the same from their own software teams.
How do you measure up to this heavy pressure as an IT organisation? How to you manage to be able to quickly make changes to software systems in fast paced environments, without losing grip on quality? How do you build and test software in such a way, that it's always in a releasable state?
In this talk, I'll explain the principles of Continuous Delivery. You'll leave the session with enough insights to get started yourself right away.
4. Principles of CD
Ingredients of CD
The goal of
Continuous Delivery
Definitions
Why CD?
Where do I start?
Conclusion
Outline
W h a t ‘ s n e x t ?
CD vs DevOps
@bjschrijver
5. Definitions
Every change goes through the
build/test pipeline and
automatically gets put into
production.
Continuous Deployment
?!
DevOpsBuilding and testing software in
such a way that the software can be
released to production at any time.
"Ship early, ship often, sacrificing
features, never quality" - Kyle Neath
Continuous Delivery
Team members integrate their
work frequently. Commits are
verified by automated builds and
tests.
Continuous Integration
Who’s who in CI & CD
@bjschrijver
7. Definitions
Every change goes through the
build/test pipeline and
automatically gets put into
production.
Continuous Deployment
Development and operations
engineers being responsible
together for the entire product
lifecycle.
DevOpsBuilding and testing software in
such a way that the software can be
released to production at any time.
"Ship early, ship often, sacrificing
features, never quality" - Kyle Neath
Continuous Delivery
Team members integrate their
work frequently. Commits are
verified by automated builds and
tests.
Continuous Integration
Who’s who in CI & CD
@bjschrijver
12. Principles
of Continuous Delivery
@bjschrijver
Build quality in
Keep everything in version control
Continuous improvement
Automate (almost) everything
Everybody is responsible
for the delivery process
Done means released
If it hurts, do it more often
14. Ingredients
03Build & deploy
Information & reporting
05
Design & architecture
02
Culture & organisation
01
Test & verification
04
of Continuous Delivery
@bjschrijver
15. • Agile software development
• Building the right thing
• Building the thing right
• You build it, you run it
• Cross functional teams
• Room to experiment, room for failure
Culture & organisation
Source: http://kids.nationalgeographic.com/explore/countries/netherlands/#netherlands-tulip-fields.jpg
16. • Version control
• Modularity
• Branching strategy
• Database changes
• Design for failure
• Feature toggles
• Automated provisioning
Design & architecture
17. • Pipeline:
An automated sequence of stages to deliver software
from version control to your users.
• Build pipeline
• Deployment pipeline
Build & deploy
18. • Testing strategy
• Test automation
• Non functional requirements
• Security
• Performance
• Verify expected business value
Test & verification
19. • Static code analysis
• Traceable pipelines
• Automatic change logs
• Usage metrics
• Dynamic dashboards
• Data driven decisions, act on metrics
• Fix problems before the users notice
Information & reporting
Source: http://www.nasa.gov/images/content/218652main_STOCC_FS_img_lg.jpg
20. WORKED FINE IN DEV
OPS PROBLEM NOW
Continuous Delivery vs. DevOps
22. :
building and running better-quality software
more quickly and more reliably.
Developers and other IT professionals
working together on a shared goal
DevOps: another definition
23. Why DevOps?
as an enabler for Continuous Delivery, faster problem
resolution and focus on value instead of problems.
DevOps makes your business move faster
29. “Continuous Delivery won’t work here”
• Stated reasons:
• we’re regulated
• we’re not building
websites
• too much legacy
• our people are too
stupid
• Actual reasons:
• our culture stinks
• our architecture
stinks
Photo: Dave Lehl, text source: Jez Humble
Source: talk by Jez Humble
https://www.youtube.com/watch?v=837Z_oehhRg
33. …said no product manager ever.
J. Paul Reed
Let’s spend the next few months..
..working on automated testing and build/release
infrastructure, and redesigning how our application is
written. We can postpone our feature development.
“
”
34. Take one thing you’re pretty
sure you can improve.
Start small
Tackle the next issue
and keep improving!
Iterate
Approach
How to spark change
When done, share the results
with your team.
Celebrate!
Show results
@bjschrijver