Continuous delivery reading notes

Written by Keith McDonnell. Last updated on Saturday, February 02, 2013.

= Questions

What anti-patterns do MS display?
What are the most applicable chapters?
What types of tests are we missing?
Best acceptance test framework?
What is the current MS deployement pipeline?
What is the optimum deployement pipeline?
Can we have a zero down time release?
Is a blue green deployment realistic?
Can we effectively roll back data changed by a release?

= Chapter 1 Problem

= Release anti-patterns

Antipattern: Deploying Software Manually

• The production of extensive, detailed documentation that describes the steps to be taken and the ways in which the steps may go wrong
• Reliance on manual testing to confirm that the application is running correctly
• Frequent calls to the development team to explain why a deployment is going wrong on a release day
• Frequent corrections to the release process during the course of a release
• Environments in a cluster that differ in their configuration
• Releases that take more than a few minutes to perform
• Releases that are unpredictable in their outcome, that often have to be rolled back or run into unforeseen problems

Antipattern: Deploying to a Production-like Environment Only after Development Is Complete

Antipattern: Manual Configuration Management of Production Environments

Feedback is essential to frequent, automated releases. There are three criteria
for feedback to be useful.
• Any change, of whatever kind, needs to trigger the feedback process.
• The feedback must be delivered as soon as possible.
• The delivery team must receive feedback and then act on it.

Typical tests
• The software’s unit tests must pass.
• test coverage and other technology-specific metrics.
• business acceptance criteria—that it delivers the business value that was intended.
• capacity, availability, security,
• exploratory testing and a demonstration

Create a Repeatable, Reliable Process for Releasing Software
Automate Almost Everything
Keep Everything in Version Control
If It Hurts, Do It More Frequently, and Bring the Pain Forward
Build Quality In (catch defects as early in the delivery process as possible)
Done Means Released

= Chapter 3 Continuous Integration

Keep the Build and Test Process Short

If you'd like to discuss this article, you can send me an email and/or publish an article online and link back to this page.