What is Continuous Delivery? The ability to get changes into production or into the hands of users safely and quickly in a sustainable way.
At the Lean IT Summit 2017, Jez Humble explained how to reduce the risk of releases through implementing continuous integration and test and deployment automation.
Find out more on www.lean-it-summit.com
2. @jezhumble
start with continuous integration
understand why you want to change
get measurable change fast, even if reaching your goal takes years
create culture of continuous improvement
focus on organization and architecture
takeaways
4. @jezhumble
increase software quality and stability
make releases painless, low risk events
reduce time to market
increase customer and employee satisfaction
reduce cost of ongoing software development
why continuous delivery?
5. @jezhumble
what is continuous delivery?
The ability to get changes—features, configuration changes, bug
fixes, experiments—into production or into the hands of users
safely and quickly in a sustainable way.
8. “Evaluating well-designed and executed experiments that
were designed to improve a key metric, only about 1/3 were
successful at improving the key metric!”
do less
“Online Experimentation at Microsoft”, Kohavi et al | http://stanford.io/130uW6X
9. the alignment trap
“Avoiding the Alignment Trap in IT,“ David Shpilberg, Steve Berez, Rudy Puryear and Sachin Shah
MIT Sloan Management Review Magazine, Fall 2007.
10. time to restore service
lead time for changes
release frequency
change fail rate
it performance
http://bit.ly/2014-devops-report
11. @jezhumble
computers do repetitive tasks, people solve problems
build quality in
work in small batches
everyone is responsible
relentlessly pursue continuous improvement
key principles
14. @jezhumble
build quality in
“Cease dependence on
mass inspection to
achieve quality. Improve
the process and build
quality into the product in
the first place”
W. Edwards Deming
21. hp laserjet firmware
2008
~5% - innovation capacity
15% - manual testing
25% - product support
25% - porting code
20% - detailed planning
10% - code integration
Costs
Full manual regression: 6 wks
Builds / day: 1-2
Commit to trunk: 1 week
Cycle times
22. implement continuous integration
reduce hardware variation
create a single package
create a simulator
implement comprehensive test automation
futuresmart rearchitecture
24. hp laserjet firmware
~5% - innovation
15% - manual testing
25% - current product support
25% - porting code
20% - detailed planning
10% - code integration
2008
~40% - innovation
5% - most testing automated
10% - current product support
15% - one main branch
5% - agile planning
2% - continuous integration
2011
The remaining 23% on RHS is spent on managing automated tests.
25. the economics
2008 to 2011
• overall development costs reduced by ~40%
• programs under development increased by ~140%
• development costs per program down 78%
• resources now driving innovation increased by 8X
A Practical Approach to Large-Scale Agile Development (Addison-Wesley) Gruver, Young, Fulghum
28. TOYODA AUTOMATIC
LOOM TYPE G
28
“Since the loom stopped when a
problem arose, no defective
products were produced. This
meant that a single operator could
be put in charge of numerous
looms, resulting in a tremendous
improvement in productivity.”
http://www.toyota-global.com/company/vision_philosophy/toyota_production_system/jidoka.html
29. “I think building this culture is the key to innovation. Creativity must
flow from everywhere. Whether you are a summer intern or the CTO,
any good idea must be able to seek an objective test, preferably a
test that exposes the idea to real customers. Everyone must be able
to experiment, learn, and iterate.”
innovation culture
http://glinden.blogspot.com/2006/04/early-amazon-shopping-cart.html