How to introduce Continuous Delivery? · Old Days: • Cycle time >35 days • 4-6 releases per...

Preview:

Citation preview

How to introduce Continuous Delivery?

Alex Schwartz Location and Commerce

!!!"#$%&'"%()*+,(-(.*/0'-(12134*56789:7;<=*>

“Big Ship”

•  A lot of stuff •  Every few month or weeks •  Release process takes weeks

or several days •  High risk: Lost/forgotten stuff

Which delivery style you have?

!!!"#$%&'"%()*+,(-(.*)%?)2.-@'%,@A*:6985;<59*>

“Kaiten Sushi”

•  Just what is required •  On demand •  Fast: < 1 hour for a deployment •  A click on the button

Which delivery style you have?

Why we should care about fast delivery?

!!!"#$%&'"%()*+,(-(.*)%?)2.-@'%,@A*:6985;<59*>

how to introduce it in your ecosystem, but I try to share my learnings

and insights

I have no clue

How to introduce Continuous Delivery?

!!!"#$%&'"%()*+,(-(.*)%?)2.-@'%,@A*:6985;<59*>

In three year we improved.. - Cycle time 10x (new apps) -  Number of Releases 30x

Ecosystem #1: eBay company

Ecosystem #2: Nokia Places

Services oriented architecture using REST

Old Days: •  Cycle time >35 days •  4-6 releases per year

Now – for a legacy app: Cycle time ca. 10 days New App: PBAPI •  1-5 releases per week •  40 releases in prod in 5 month •  Min cycle time 2 hours •  Average cycle time ½ day

!!!"#$%&'"%()*+,(-(.*)%?)2.-@'%,@A*:6985;<59*>

Nokia Places: What we achieved

In one year we improved.. - Cycle time 3x (legacy)

30x (new apps) - Number of Releases 20x - Success rate 10x - Unplanned work 5x

!!!"#$%&'"%()*+,(-(.*)%?)2.-@'%,@A*:6985;<59*>

Nokia Places: What we achieved

Focus people (Kick the ass of Conway’s law)

Dev QA

Build Mgmt

Release Mgmt OPS

Focus process: Kanban/Lean

Avatar

>Focus on the value stream

Main Metric: Release Cycle Time

>>Automation Automating the wrong thing to early is dangerous

“•  Automate

everything you do twice.

•  Automation will be your rescue.

Bullshit !

!!!"#$%&'"%()*+,(-(.*B$//$.(1.*;;<995;7=C*>

Automation Click-Button Deployments

Our Automation: Full E2E pipeline in one tool, from commit to prod

DevOps + DevQA get rig of rigid assignments of roles/task

Dev QA Ship

Dev Ops QA

Dev Ops QA

Eat your Own Dog Food You understand the value of Continuous Delivery?

Use the same principle for your Improvement Process.

Baby Steps, Baby Steps, Baby Steps, Baby Steps….

!!!"#$%&'"%()*+,(-(.*).,23@.*8:<8=9C=8C*>

Deliver Improve

Firefighting

How to find the balance + rhythm?

Further Topics …

QA

Pairing

Trust People

DevOps

Test Automation

TDD

ATD Acceptance Criteria Cut your stories

Recommended