Video: Continous Delivery Sounds Great - Jez Humble

December 16th, 2020

Continous Delivery Sounds Great - Jez Humble

( https://www.youtube.com/watch?v=SjVV3xuYKJs )

 

Model: software = design + delivery

no description for image available

 

design= unpredictable

delivery = predictable

 

lean 6 sigma doesn't fit on software ; because software is 2 things

 

6 sigma tries to get all variability out of a system

great for delivery, not great for design

 

 

no description for image available

xp

lean software development

unix

 

no description for image available

inventor of unix pipe

 

(2) = microservices

(3) = deliver early & often

(4) = automate, tool based

 

not new ideas

 

 

no description for image available

 

---

 

1) "We're regulated"

no description for image available

 

1a amazon

2011

no description for image available

amazon is heavily regulated

- credit cards

- public trading company

 

1b) US government: 8-14 months from code complete to live

no description for image available

 

no description for image available

got cloud.gov certified, only 55 security controls left

 

no description for image available

fully reproduce system from version control

 

all info needed for auditing is there:

- which tests were run

- who authorised a run

 

no description for image available

 

2 throughput metrics

2 stability metrics

high performers do better on both

no tradeoff between stability and throughput

 

all different domains

all company sized (startup to mega corps)

 

---

 

2) "We're not building websites"

no description for image available

 

anecdote: hp team was going really slowly

they were critical path for all new releases

this is really bad, but typical in the industry

 

anecdote: airline needed more time to change a booking system for new seats than to change the seats in the planes

 

no description for image available

 

no description for image available

allows single

 

"how do you do automated tests?"

"we build a simulator"

"you did WHAT?"

 

no description for image available

into trunc only after automated tests

overnight regression test

 

not deploying anyway

why would we do continuous delivery?

no description for image available

it changes the dynamics

 

no description for image available

 

lean is not about cutting costs

lean is about investing to remove waste

in medium and long term, drives down transaction cost of making changes, so that you can move faster

 

continuous delivery

NOT about releasing multiple times/day

IS about changing the economics of the software delivery process to work in small batches

  • faster feedback

    • build quality in

      • reduce cost

      • increase quality

      • reduce time to market

 

---

 

3) "Too much legacy"

no description for image available

 

anecdote / demo "gui tests"

test harness

 

too much legacy == too much complexity

 

reduce complexity => allows us to go faster

 

complexity is everywhere

 

it took amazon 4 years to go to architecture that allowed ...

in that time they did not deliver much new stuff

 

pattern: strangler application

no description for image available

drive incremental evolutionary architecture change through building new stuff

- don't rebuild the old stuff

 

evolutionary architecture is never done

goal = reducing complexity

 

complexity of your operational environment makes it hard to add new features

 

no description for image available

[ ] Steve Yegge's Platform Rant

he worked at amazon during the 4 year transition to SOA

memo from CEO 'Bezos'

 

enables:

no description for image available

 

---

4) our people are too stupid

no description for image available

anecdote: Adrian Cocraft cloud architect for netflix

netflix were biggest users of internet, took 6-7 years to go to cloud

CIO of a random stodgy company comes up to him and asks "Adrian where do you get all these amazing people from?"

Adrian replied: "I get them from you"

 

It's not the people that are the problem

someone is being stupid, but not the people you think

 

anecdote: famous story about lean NUMMI (new united motor manufacturing incorporated)

Tesla factory was recent, used to be GM factory, the worst factory, shut down the plant

NUMMI joint venture GM + Toyota

- Toyota wants plant in US (trade barriers)

- GM wanted to learn to build small cars profitably

 

union leaders convinced Toyota to rehire the employees

training course in Japan

within a year, higher quality cars than any GM plants

 

the problem are not the people

the system of work, system of leadership and management

 

no description for image available

 

lines on ground = timing

anecdote: toyota

non-toyota:

try to put a seat in, bolt it down, don't make it in time, whatever, next

ends up at quality control: "nobody can drive that, rejected"

 

toyota:

you get 3/4 of the way and notice you won't make it

pull Andon cord, manager comes, helps you

still don't make it? pull Andon cord again, assembly line stops

fix the problem, assembly line continues

later on, reflect how to improve

workers make suggestions, and you get to implement it

you have the power to change your own system of work to make it better

Support engineer group to make / change tools for you

 

build quality in

as a worker your responsibility is to make sure that when the work product leaves you, everything is great

and you have the tools, the power and the responsibility to build quality in

 

no description for image available

[ ] this americal life episode about that anecdote

[ ]

 

no description for image available

machine are in charge of finding problems

humans are in charge of solving problems

 

exact analogy in software delivery: continuous integration

something goes wrong -> notify

 

continuous integration certification

- all developers check in to trunc at least daily

- when your tests fail, you get them fixed within 10 minutes

 

devops research

no description for image available

less rework (proxy metric for quality)

 

---

 

no description for image available

 

continuous delivery = continuous improvement

 

high performing companies

always working to get better, they never stop

it's part of everyone's daily work

 

no description for image available

 

How can I make things more awesome for the people around me.

 

no description for image available