three pillars of continuous delivery culture, processes ......three pillars of continuous delivery...
TRANSCRIPT
Three Pillars of Continuous Delivery Culture, Processes and Tools
Andrew Phillips, VP Products | 19 Nov 2014
2 Copyright 2014.
About 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 & JVM language fan (mainly Scala, Clojure)
▪ Regular meetup, conference etc. presenter
3 Copyright 2014.
About XebiaLabs
▪ Leading provider of delivery automation software focused
on helping companies deliver higher quality software
faster.
▪ Reduce development applications costs
▪ Accelerate application time to market
▪ Bridge the gap between Development and Operations
Global Customers, Global Success
and more…
4 Copyright 2014.
Agenda
▪ Lightning Continuous Delivery Recap
▪ Tooling, Practices, Culture…how do they relate?
▪ Bootstrapping a CD Culture
▪ Crossing “Quick Win Chasm”
▪ Practical Examples
▪ Getting Started
5 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.”
6 Copyright 2014.
What Is Continuous Delivery?
▪ A delivery pipeline?
7 Copyright 2014.
What Is Continuous Delivery?
▪ A delivery pipeline?
▪ A type of release process?
8 Copyright 2014.
What Is Continuous Delivery?
▪ A delivery pipeline?
▪ A type of release process?
▪ An IT methodology?
9 Copyright 2014.
What Is Continuous Delivery?
▪ A delivery pipeline?
▪ A type of release process?
▪ An IT methodology?
▪ A different way of doing business?
10 Copyright 2014.
Why Continuous Delivery?
▪ Competitive pressure
▪ Hot trend
▪ Clear business values
− Accelerate time to market
− Increase application quality
− Increase customer responsiveness
11 Copyright 2014.
Why Continuous Delivery?
12 Copyright 2014.
Aside 1: Continuous Delivery & Agile
“Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.”
13 Copyright 2014.
Aside 1: Continuous Delivery & Agile
14 Copyright 2014.
Aside 1: Continuous Delivery & Agile
“Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.”
Principle #1 from the Agile Manifesto
15 Copyright 2014.
Aside 2: Continuous Delivery & Devops
▪ Flood of overlapping messaging in this space right now
▪ Analysts and new vendors piling on to the bandwagon
▪ Rather difficult to parse it all at present, especially if you’re coming at this now
16 Copyright 2014.
Aside 2: Continuous Delivery & Devops
▪ Flood of overlapping messaging in this space right now
▪ Analysts and new vendors piling on to the bandwagon
▪ Rather difficult to parse it all at present, especially if you’re coming at this now
▪ Key point: Whatever you call it, make sure you have some defined goals that
are intended to provide some measurable business value
▪ Happy to debate and discuss definitions over lunch!
17 Copyright 2014.
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
Three Pillars
18 Copyright 2014.
Three Pillars
Culture
Practices
Tooling
is expressed through
carried out using
19 Copyright 2014.
Three Pillars
20 Copyright 2014.
A Bit About Culture
▪ Once it’s reached a cultural level: extremely resilient to problems
− If the tooling breaks, people will fix it
▪ Internal motivation to carry out the practices and make them work
▪ (Risk of groupthink, so tolerance of open minds is important
− Something for a lunchtime discussion)
21 Copyright 2014.
A Bit About Culture
▪ Problem: culture is hard to impose from the top down
− Look at history!
▪ And most organizations are not at the point where a culture is in place
− They’re just starting out on their CD journey!
▪ So...what can we do about this?
22 Copyright 2014.
Bootstrapping a CD Culture
▪ Let’s look at those three pillars a different way
23 Copyright 2014.
Bootstrapping a CD Culture
Culture
Practices
Tooling
is expressed through
carried out using
24 Copyright 2014.
Bootstrapping a CD Culture
Culture
Practices
Tooling
is expressed through
carried out using
25 Copyright 2014.
Bootstrapping a CD Culture
Culture
Practices
Tooling
whose effects give rise to
enables
26 Copyright 2014.
Bootstrapping a CD Culture
▪ Key point here: inverting the causal relationships!
▪ Why start with tooling & practices?
27 Copyright 2014.
Bootstrapping a CD Culture
▪ Easy to get up and running
− Certainly compared to culture!
▪ Low risk
− Largely free or low-cost tools
− “Skunkworks-able”
▪ Quick, demonstrable effects
− Go after the low hanging fruit!
28 Copyright 2014.
“Quick Win Chasm”
▪ 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
− …
29 Copyright 2014.
“Quick Win Chasm”
▪ Lesson: Tooling by itself only goes so far
− Even if it’s very reliable!
▪ Resilience comes from making this part of your DNA
▪ This Is Not Easy!
− Especially since the temptation is to see the initial improvements and stop there
30 Copyright 2014.
Crossing Quick Win Chasm
▪ Five key points
− Get management buy in
− Find someone who’s “been there”
− Create champions
− Make things visible
− Communicate, communicate, communicate
31 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
32 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
33 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
− Deployment
34 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
− Deployment
− Testing & quality
35 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
− Deployment
− Testing & quality
− Provisioning
36 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
− Deployment
− Testing & quality
− Provisioning
− Orchestration
37 Copyright 2014.
Let’s Get Practical
▪ Tooling
− Code review
− Continuous Integration
− Deployment
− Testing & quality
− Provisioning
− Orchestration
− Monitoring
38 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
39 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
40 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
− Put the test up front
41 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
− Put the test up front
− Everyone involved early
42 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
− Put the test up front
− Everyone involved early
− No more (code) than necessary
43 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
− Put the test up front
− Everyone involved early
− No more (code) than necessary
− Ongoing user dialog
44 Copyright 2014.
Let’s Get Practical
▪ Practices
− Keep changes small
− Quality before functionality
− Put the test up front
− Everyone involved early
− No more (code) than necessary
− Ongoing user dialog
− Delivery tooling = serious tooling
45 Copyright 2014.
Let’s Get Practical
▪ Culture
− We can always do better
46 Copyright 2014.
Let’s Get Practical
▪ Culture
− We can always do better
− Our service, our features, our users
47 Copyright 2014.
Let’s Get Practical
▪ Culture
− We can always do better
− Our service, our features, our users
− ‘Us’ includes the business
48 Copyright 2014.
Let’s Get Practical
▪ Culture
− We can always do better
− Our service, our features, our users
− ‘Us’ includes the business
− Tools work for the team
49 Copyright 2014.
Let’s Get Practical
▪ 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
50 Copyright 2014.
Getting Started
▪ Get a baseline: Value Stream Analysis
− Open mind: We Can Do Things Differently
▪ Define incremental goals
− No Ocean Boiling!
▪ Start with tooling
− Go after low-hanging fruit
51 Copyright 2014.
Getting Started
▪ Testing and quality
− More investment and backfilling required
− Requires buy-in
▪ Adapt your architecture to allow for smaller changes
− Greenfield? Lucky you!
− Otherwise, will need to tackle this eventually
▪ Full-time business focus
− It’s about putting the business at the wheel!
− Often need some persuasion to actually drive…
52 Copyright 2014.
More Info
▪ Get started today!
www.xebialabs.com
www.xebialabs.com/trial
▪ Stay informed:
blog.xebialabs.com
@XebiaLabs
youtube.com/xebialabs
53 Copyright 2014.
Get In Touch!
▪ Andrew Phillips
aphillips at xebialabs dot com
▪ Talk over lunch or at the XebiaLabs table
▪ Don’t forget to stop by the table for more information (& swag)
54 Copyright 2014.
Get In Touch!
▪ Andrew Phillips
aphillips at xebialabs dot com
▪ Talk over lunch or at the XebiaLabs table
▪ Don’t forget to stop by the table for more information (& swag)
Thank You!