Andrew phillips three-pillars_of_continuous_delivery-1

Post on 17-Dec-2014

100 views 0 download

description

Presentation by Andrew at the recent London Jenkins and Continuous Delivery event

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!