Post on 17-Dec-2014
description
transcript
Three Pillars of Continuous Delivery: Culture, Practices & Tooling
Andrew Phillips, XebiaLabs
o VP Products for XebiaLabs
o Lots of enterprise software development on high-performance systems
o Been on both sides of the “Dev…Ops” fence
o Active open source contributor and committer: jclouds, Akka, Gradle and others
o Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
o Regular meetup, conference etc. presenter
About Me
o VP Products for XebiaLabs
o Lots of enterprise software development on high-performance systems
o Been on both sides of the “Dev…Ops” fence
o Active open source contributor and committer: jclouds, Akka, Gradle and others
o Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
o Regular meetup, conference etc. presenter
About Me
o Leading provider of delivery automation software focused on helping companies deliver higher quality software faster.
o Reduce development applications costs
o Accelerate application time to market
o Bridge the gap between Development and Operations
About XebiaLabs
Global Customers, Global Success
and many more…
o Lightning Continuous Delivery Recap
o Tooling, Practices, Culture…how do they relate?
o Bootstrapping a CD Culture
o Crossing “Quick Win Chasm”
o Practical Examples
o Getting Started
Agenda
“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.”
What Is Continuous Delivery?
o Competitive pressure
o Hot trend
o Clear business values
o Accelerate time to market o Increase application quality
o Increase customer responsiveness
Why Continuous Delivery?
Why Continuous Delivery?
Aside 1: Continuous Delivery & Agile
“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.”
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
Aside 1: Continuous Delivery & Agile
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
Aside 1: Continuous Delivery & Agile
o Flood of overlapping messaging in this space right now
o Analysts and new vendors piling on to the bandwagon
o Rather difficult to parse it all at present, especially if you’re coming at this now
Aside 2: Continuous Delivery & Devops
o Flood of overlapping messaging in this space right now
o Analysts and new vendors piling on to the bandwagon
o Rather difficult to parse it all at present, especially if you’re coming at this now
o Key point: Whatever you call it, make sure you have some defined goals that are intended to provide some measurable business value
o Happy to debate and discuss definitions over lunch!
Aside 2: Continuous Delivery & Devops
Three Pillars
" 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
Culture
Practices
Tooling
is expressed through
carried out using
Three Pillars
o Once it’s reached a cultural level: extremely resilient to problems
o If the tooling breaks, people will fix it
o Internal motivation to carry out the practices and make them work
o (Risk of groupthink, so tolerance of open minds is important
o Something for a lunchtime discussion)
A Bit About Culture
o Problem: culture is hard to impose from the top down o Look at history!
o And most organizations are not at the point where a culture is in place
o They’re just starting out on their CD journey!
o So...what can we do about this?
A Bit About Culture
o Let’s look at those three pillars a different way
Bootstrapping a CD Culture
Bootstrapping a CD Culture
Culture
Practices
Tooling
is expressed through
carried out using
Bootstrapping a CD Culture
Culture
Practices
Tooling
is expressed through
carried out using
Bootstrapping a CD Culture
Culture
Practices
Tooling
whose effects give rise to
enables
o Key point here: inverting the causal relationships!
o Why start with tooling & practices?
Bootstrapping a CD Culture
o Easy to get up and running
o Certainly compared to culture!
o Low risk
o Largely free or low-cost tools
o “Skunkworks-able”
o Quick, demonstrable effects
o Go after the low hanging fruit!
Bootstrapping a CD Culture
o A story…
o ACME Inc. has heard of this amazing tooling that can help automate their software delivery process
o Consultants come in a build a delivery pipeline
o Runs fine for a while
o Not easy to adapt to new projects, as the consultants have moved on
o Then some parts of the pipeline start to fail, and are switched off or bypassed
o …
“Quick Win Chasm”
o Lesson: Tooling by itself only goes so far o Even if it’s very reliable!
o Resilience comes from making this part of your DNA
o This Is Not Easy! o Especially since the temptation is
to see the initial improvements and stop there
“Quick Win Chasm”
o Five key points o Get management buy in o Find someone who’s “been
there” o Create champions
o Make things visible o Communicate,
communicate, communicate
Crossing Quick Win Chasm
o Tooling o Code review
Let’s Get Practical
o Tooling o Code review o Continuous Integration
Let’s Get Practical
o Tooling o Code review o Continuous Integration
o Deployment
Let’s Get Practical
o Tooling o Code review o Continuous Integration
o Deployment o Testing & quality
Let’s Get Practical
o Tooling o Code review o Continuous Integration
o Deployment o Testing & quality
o Provisioning
Let’s Get Practical
o Tooling o Code review o Continuous Integration
o Deployment o Testing & quality
o Provisioning o Orchestration
Let’s Get Practical
o Tooling o Code review o Continuous Integration
o Deployment o Testing & quality
o Provisioning o Orchestration o Monitoring
Let’s Get Practical
o Practices o Keep changes small
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
o Put the test up front
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
o Put the test up front o Everyone involved early
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
o Put the test up front o Everyone involved early
o No more (code) than necessary
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
o Put the test up front o Everyone involved early
o No more (code) than necessary o Ongoing user dialog
Let’s Get Practical
o Practices o Keep changes small o Quality before functionality
o Put the test up front o Everyone involved early
o No more (code) than necessary o Ongoing user dialog o Delivery tooling = serious tooling
Let’s Get Practical
o Culture o We can always do better
Let’s Get Practical
o Culture o We can always do better o Our service, our features,
our users
Let’s Get Practical
o Culture o We can always do better o Our service, our features,
our users o ‘Us’ includes the business
Let’s Get Practical
o Culture o We can always do better o Our service, our features,
our users o ‘Us’ includes the business
o Tools work for the team
Let’s Get Practical
o Culture o We can always do better o Our service, our features, our
users o ‘Us’ includes the business
o Tools work for the team o Nobody goes home if the
build delivery system is broken
Let’s Get Practical
o Get a baseline: Value Stream Analysis o Open mind: We Can Do Things
Differently
o Define incremental goals
o No Ocean Boiling!
o Start with tooling o Go after low-hanging fruit
Getting Started
o Testing and quality
o More investment and backfilling required
o Requires buy-in
o Adapt your architecture to allow for smaller changes
o Greenfield? Lucky you!
o Otherwise, will need to tackle this eventually
o Full-time business focus
o It’s about putting the business at the wheel!
o Often need some persuasion to actually drive…
Getting Started
More Information
www.xebialabs.com
blog.xebialabs.com
Get Started
www.xebialabs.com/trial
Stay Informed
ww.linkedin.com/company/xebialabs
@xebialabs
More Info
o Andrew Phillips aphillips at xebialabs dot com
o Talk over lunch or at the XebiaLabs table
o Don’t forget to stop by the XebiaLabs & Cachet Software tables for more information (& swag)
Get In Touch!
o Andrew Phillips aphillips at xebialabs dot com
o Talk over lunch or at the XebiaLabs table
o Don’t forget to stop by the XebiaLabs & Cachet Software tables for more information (& swag)
Get In Touch!
Thank you!