2. 2 Copyright 2014.
Me! Me! Me!
▪ VP Products for XebiaLabs
▪ Lots of enterprise software development on high-performance
systems
▪ Been on both sides of the “Dev…Ops” fence
▪ Active open source contributor and committer:
jclouds, Akka, Gradle and others
▪ Cloud, PaaS & Scala fan
▪ Regular meetup, conference etc. presenter
3. 3 Copyright 2014.
Us! Us! Us!
▪ We build enterprise tools for DevOps and Continuous Delivery
▪ To solve problems around DevOps and CD at scale
4. 4 Copyright 2014.
Agenda
▪ What is Continuous Delivery?
▪ What is Continuous Delivery really?
▪ How to Get Started
▪ How to Keep Going
8. 8 Copyright 2014.
What is Continuous Delivery?
“Continuous delivery is a set of patterns and best practices that can
help software teams dramatically improve the pace and quality of
their software delivery.”
9. 9 Copyright 2014.
What is Continuous Delivery?
“Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.”
11. 11 Copyright 2014.
What is Continuous Delivery?
“Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.”
Principle #1 from the Agile Manifesto
12. 12 Copyright 2014.
What is Continuous Delivery?
Core concept: delivery pipeline
▪ (Largely) automated representation of your release process
▪ Set up to allow for fast releases and fast feedback of small changes to your
systems
13. 13 Copyright 2014.
What is Continuous Delivery?
Typical technical and process components:
▪ Agile/iterative software development methodology
▪ “Everything is code”
▪ Continuous Integration
▪ Automated deployments
▪ Automated environment provisioning
▪ Automated testing
▪ Automated pipeline orchestration
14. 14 Copyright 2014.
What is Continuous Delivery?
Typical benefits:
▪ More ability to “course correct” in development
▪ Avoid frequent “merge hell”
▪ Avoid failed deployments and troubleshooting
▪ Avoid environment contention and misconfigured environments
▪ Speed up testing and increase test coverage and insight
▪ Improve visibility and automation of end-to-end process
16. 16 Copyright 2014.
What is Continuous Delivery?
Blah. Blah. Blah.
Booooooring.
17. 17 Copyright 2014.
What is Continuous Delivery really?
▪ CD ≠ “gluing a bunch of tools together a bit better than we did it last time”
18. 18 Copyright 2014.
What is Continuous Delivery really?
▪ CD ≠ “gluing a bunch of tools together a bit better than we did it last time”
▪ CD ≠ “wiring up 10 Jenkins jobs with a nice Groovy DSL”
19. 19 Copyright 2014.
What is Continuous Delivery really?
CD = changing the way we deliver
IT services to our users!
20. 20 Copyright 2014.
What is Continuous Delivery really?
CD = making the delivery of new features and
functions a modern experience
21. 21 Copyright 2014.
What is Continuous Delivery really?
…the kind of experience we would want to use.
24. 24 Copyright 2014.
What is Continuous Delivery really?
Continuous Delivery is a means, not a goal!
25. 25 Copyright 2014.
What is Continuous Delivery really?
What are your goals for Continuous Delivery?
26. 26 Copyright 2014.
What is Continuous Delivery really?
▪ Accelerated features
▪ Customer insight and interaction
▪ Improved quality and resilience
27. 27 Copyright 2014.
What is Continuous Delivery really?
Hypothesis-driven development:
▪ Why am I building this feature? What am I expecting to happen as a result of
implementing this?
▪ Where is this feature in the current delivery process? When will it be ready?
What is the current “confidence level” in this feature?
▪ Now that the feature is live, what is it doing?
28. 28 Copyright 2014.
What is Continuous Delivery really?
Hypothesis-driven development:
▪ Why am I building this feature? What am I expecting to happen as a result of
implementing this?
▪ Where is this feature in the current delivery process? When will it be ready?
What is the current “confidence level” in this feature?
▪ Now that the feature is live, what is it doing?
Rinse and repeat.
29. 29 Copyright 2014.
What is Continuous Delivery really?
Is this actually working for me?
▪ Agile is only one possible (pretty proven) approach to software development
▪ CD is only one possible (very promising) approach to software delivery
▪ Metrics will help you identify what works best for you
30. 30 Copyright 2014.
What is Continuous Delivery really?
▪ How long did it take to get the feature live?
▪ Which percentage of releases for this app succeeded/failed?
▪ What was the MTTR for failures?
▪ How much did it cost to develop this feature?
▪ Did the feature deliver on its hypothesis?
▪ …
31. 31 Copyright 2014.
How to get started
Culture: set of values, beliefs and
traditions
Practices: behaviours and actions that
derive from these values and beliefs
Tooling: instruments used to carry out
the behaviours and actions
32. 32 Copyright 2014.
How to get started
Culture
is expressed through
Practices
carried out using
Tooling
33. 33 Copyright 2014.
How to get started
▪ Problem: culture is hard to impose from the top down
▪ And most organizations are not at the point where a culture is in place
▪ So...what can we do about this?
34. 34 Copyright 2014.
How to get started
Culture
is expressed through
Practices
carried out using
Tooling
35. 35 Copyright 2014.
How to get started
Culture
is expressed through
Practices
carried out using
Tooling
36. 36 Copyright 2014.
How to get started
Culture
whose effects give rise to
Practices
enables
Tooling
37. 37 Copyright 2014.
How to get started
▪ Easy to get up and running
▪ Low risk
▪ Quick, demonstrable effects
38. 38 Copyright 2014.
How to get started
▪ Get a baseline: Value Stream Analysis
▪ Define incremental goals
▪ Start with tooling
39. 39 Copyright 2014.
How to get started
▪ The “CD onion” is bigger than any one tool!
Build/CI
Deployment
Release/Pipeline Management
Test Management
Code Testing/Analysis
End Users
Environment Provisioning
Presenting relevant information to
the different parts of the organization
that are involved is at least as
important as the basic automation
capability itself!
40. 40 Copyright 2014.
How to get started
A story…
▪ ACME Inc. has heard of this amazing tooling that can help automate their
software delivery process
▪ Consultants come in a build a delivery pipeline
▪ Runs fine for a while
▪ Not easy to adapt to new projects, as the consultants have moved on
▪ Then some parts of the pipeline start to fail, and are switched off or bypassed
▪ …
41. 41 Copyright 2014.
How to get started
▪ Lesson: Tooling by itself only goes so far
▪ Resilience comes from making this part of your DNA
▪ This Is Not Easy!
42. 42 Copyright 2014.
How to keep going
Five key points:
▪ Get management buy in
▪ Find someone who’s “been there”
▪ Create champions
▪ Make things visible
▪ Communicate, communicate, communicate
44. 44 Copyright 2014.
How to keep going
▪ Testing and quality
▪ Adapt your architecture to allow for smaller changes
▪ Full-time business focus
45. 45 Copyright 2014.
How to keep going
Making CD part of your culture:
▪ We can always do better
▪ Our service, our features, our users
▪ ‘Us’ includes the business
▪ Tools work for the team
▪ Nobody goes home if the build delivery system is broken
46. 46 Copyright 2014.
What Is Continuous Delivery really?
Making the delivery of new features
and functions the kind of experience
we would want to use.
47. 47 Copyright 2014.
Get In Touch!
▪ Andrew Phillips
aphillips at xebialabs dot com
blog.xebialabs.com/author/aphillips
If that sounds like I’m fear mongering…well, it’s a tough world out there!
Much research has been done here, we certainly won’t have time to go into the details today…
Expertise and knowledge is out there. It’s a Known Problem
OK, so far this discussion could have been about any subject…even marshmallows! But KK is not here today to talk about Japanese sweets, so…
OK, so far this discussion could have been about any subject…even marshmallows! But KK is not here today to talk about Japanese sweets, so…
You can see where this is going…
Not just about tooling breaking…also about staying fit for purpose, which requires motivation and capability to adapt and extend.
You will need support from higher ups to get the time and authority to get this embedded in your DNA
Don’t be afraid to get expertise on board here. You need someone to be able to convey what this can “feel like” and live be example
People who are passionate about this need to be given the freedom and authority to make things happen
“Culture by stealth” doesn’t work. People need to know what is happening here – the good and the bad – to develop the confidence in the processes that becomes culture. So not just carefully presented Success Stats, but real-time data of what’s happening
Ultimately, people need to know why this is happening and what benefits it is bringing to the organization. This takes time, but is ultimately time that is better spent than on simply sitting in a corner and implementing. Of course, you need to have built up a little bit of credibility first
OK, so far this discussion could have been about any subject…even marshmallows! But KK is not here today to talk about Japanese sweets, so…
Question from earlier…you should feel bad when your pipeline breaks