Continous Delivery Sounds Great - Jez Humble ( https://www.youtube.com/watch?v=SjVV3xuYKJs )

Model: software = design + delivery ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.png

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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.1.png xp lean software development unix

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.2.png inventor of unix pipe

(2) = microservices (3) = deliver early & often (4) = automate, tool based

not new ideas

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.3.png

-–

  1. “We’re regulated” ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.4.png

1a amazon 2011 ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.5.png amazon is heavily regulated - credit cards - public trading company

1b) US government: 8-14 months from code complete to live ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.6.png

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.7.png got cloud.gov certified, only 55 security controls left

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.8.png fully reproduce system from version control

all info needed for auditing is there: - which tests were run - who authorised a run

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.9.png

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)

-–

  1. “We’re not building websites” ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.10.png

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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.11.png

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.12.png allows single

“how do you do automated tests?” “we build a simulator” “you did WHAT?”

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.13.png into trunc only after automated tests overnight regression test

not deploying anyway why would we do continuous delivery? ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.14.png it changes the dynamics

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.15.png

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

-–

  1. “Too much legacy” ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.16.png

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 ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.17.png 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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.18.png [ ] Steve Yegge’s Platform Rant he worked at amazon during the 4 year transition to SOA memo from CEO ‘Bezos’

enables: ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.19.png

-– 4) our people are too stupid ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.20.png 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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.21.png

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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.22.png [ ] this americal life episode about that anecdote [ ]

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.23.png 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 ./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.24.png less rework (proxy metric for quality)

-–

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.25.png

continuous delivery = continuous improvement

high performing companies always working to get better, they never stop it’s part of everyone’s daily work

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.26.png

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

./resources/video-continous-delivery-sounds-great-jez-humble.resources/screenshot.27.png