1. Continuous Delivery
@jezhumble
#Agile2012, 15 August 2012
http://thoughtworks-studios.com/
Thursday, August 16, 12
2. agile 101
"Agile" team
Analysis + Design Centralized QA IT Operations
Development Integration + QA Release and operation
Customer Testing + Showcase
Iteration 0 1 2 3 4
The "last mile"
Thursday, August 16, 12
3. web 2.0
disrupting traditional businesses
http://code.flickr.com/
Thursday, August 16, 12
4. releasing frequently
build the right thing
Customer
developent
Agile product
development
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
Thursday, August 16, 12
5. innovate
You can't just ask
customers what
they want and then
try to give that to
them.
By the time you get
it built, they'll want
something new.
Steve Jobs
Thursday, August 16, 12
6. scientific method
Ideas
create hypothesis Learn Build
deliver minimum
viable product
Data Code
get feedback Measure
(repeat)
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
Thursday, August 16, 12
7. ask this question
“How long would it take your
organization to deploy a change that
involved just one single line of code? Do
you do this on a repeatable, reliable
basis?”
Mary and Tom Poppendieck, Implementing Lean Software Development, p59.
Thursday, August 16, 12
8. releasing frequently
build the right thing
reduce risk of release
John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr
Thursday, August 16, 12
11. releasing frequently
build the right thing
reduce risk of release
real project progress
Thursday, August 16, 12
12. agile manifesto
Our highest priority is to satisfy
the customer through early and
continuous delivery of
valuable software
Thursday, August 16, 12
13. production-ready software
Fast, automated feedback on
the production readiness of
your applications every time
there is a change - to code,
infrastructure, or configuration
Thursday, August 16, 12
14. continuous delivery
Software always production ready
Releases tied to business needs, not
operational constraints
Thursday, August 16, 12
15. continuous delivery
automation
patterns and practices
collaboration
Thursday, August 16, 12
17. Local
Develop
Workstation
Mainline Server
Build
pull
Build Build
✔
Done!
push
Thursday, August 16, 12
18. Local
Develop
Workstation
Everyone Commits
Mainline Server
Build
To the pull
Mainline
Build
Every Day
Build
✔
Done!
push
Thursday, August 16, 12
19. 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
Thursday, August 16, 12
20. different kinds of testing
Business facing
AUTOMATED MANUAL
Showcases
Support programming
Functional acceptance
Usability testing
tests
Critique project
Exploratory testing
Unit tests Non-functional
Integration tests acceptance tests
System tests (performance, scaling, ...)
AUTOMATED MANUAL / AUTOMATED
Technology facing
Diagram invented by Brian Marick
Thursday, August 16, 12
21. deployment pipeline
an automated implementation of your
system’s build, deploy, test, release process
visibility
feedback
control
Thursday, August 16, 12
22. deployment pipeline
Delivery team Version control Build & unit Automated User acceptance Release
tests acceptance tests tests
Check in
Trigger
Feedback
Check in
Trigger
Feedback Trigger
Feedback
Check in
Trigger
Feedback Trigger
Feedback Approval
Feedback Approval
Thursday, August 16, 12
25. reducing release risk
automate provisioning and deployment
ensure devs, testers and ops collaborate
throughout
Thursday, August 16, 12
26. reducing release risk
devops
incrementalism
decoupling deployment and release
Thursday, August 16, 12
27. devops
culture
automation
measurement
sharing
Thursday, August 16, 12
28. feature toggles
blue-green deployments
canary releases
low risk releases
are incremental
dark launching
production immune system
Thursday, August 16, 12
38. canary releasing
Reduce risk of release
Multi-variant testing
Performance testing
Thursday, August 16, 12
39. immune system
what if someone replaced your
“buy” button with spacer.gif?
T cells http://www.flickr.com/photos/gehealthcare/3326186490/
Thursday, August 16, 12
45. enterprise governance
risk management
SOX, ITIL, COBIT
segregation of duties
change management
auditing and compliance
Thursday, August 16, 12
46. people are the key
Get everyone together at the beginning
Keep meeting
Make it easy for everyone to see what’s
happening
Continuous improvement (kaizen)
Thursday, August 16, 12