Continuous delivery is on its way to becoming standard practice for software projects where quality, stability, and time-to-market are paramount. In this talk, Jez will explain the why and what of continuous delivery, discuss the effect of continuous delivery on version control process and practice for teams of all sizes, and explore the implications for practitioners.
4. what is continuous delivery?
reduce the cost, time, and risk of
delivering incremental changes to
users while improving quality
5. production-ready software
fast, automated feedback on the
production readiness of your
applications every time there is a change
— to code, infrastructure, or
configuration
35. 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
36. different kinds of testing
Business facing
Functional acceptance
tests
Showcases
Usability testing
Exploratory testing
Unit tests
Integration tests
System tests
Non-functional
acceptance tests
(performance, scaling, ...)
Technology facing
Critique project
Support programming
AUTOMATED
AUTOMATED
MANUAL
MANUAL / AUTOMATED
Diagram invented by Brian Marick
37. deployment pipeline
an automated implementation of your
system’s build, deploy, test, release process
visibility
feedback
control
38. deployment pipeline
Delivery team Version control Build & unit
tests
Automated
acceptance tests
User acceptance
tests
Release
Check in
Feedback
Trigger
Check in
Trigger
Feedback
Trigger
Check in
Trigger
Trigger
Approval
Approval
Feedback
Feedback
Feedback
Feedback
40. high performing IT is a competitive advantage
“Firms with high-performing
IT organizations were twice
as likely to exceed their
profitability, market share
and productivity goals.”
http://bit.ly/2014-devops-report
41. lead time
“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.
42. time to restore service
http://martinfowler.com/bliki/PhoenixServer.html
43. highest correlation with IT performance
!
• “Our app configurations are in a version control system”
• “Our system configurations are in a version control system”
• “Our app code is in a version control system”
• “We get failure alerts from logging and monitoring systems”
• “Developers merge their code into trunk daily”
• “When development and operations teams interact, the outcome is
generally win/win.”
• “Developers break up large features into small, incremental changes.”