Abstract

Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users.

Lessons

Preface - xxi

Martin Fowler’s and Kent Beck’s team deployed software every night. Reducing the cyclce time between an idea and usable software.

Software release should be a fast repeatable process. Time from deciding you need to make a change to having it in production is cycle time.

Software delivers no value until its in the hands of its users. Majority of the cost associated with delivering successful software is incurred after the first release.

Continuous delivery comes from the agile manifesto: our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

The Problem of Delivering Software - 3

Antipatterns

Build Pipeline

Commit stage (compile, unit tests, analysis) -> automated acceptance testing -> automatic capacity testing -> manual tests -> release

Good Patterns

Shorten the feedback loop