qatsi (qatsi) wrote,

Book Review: Continuous Delivery - Reliable Software Releases Through Build, Test, and Deployment Automation, by David Farley and Jez Humble
The thing about ebooks is it's easy to forget to write them up because there's nothing to place next to the laptop as a reminder.

Anyhow, this is the logical follow-on from the Continuous Integration book I read a little while ago. Initially there's a fair bit of overlap between the two, as CI is a prerequisite for continuous delivery. The key concept throughout the book is the delivery pipeline, and how to automate as much as possible of it, from unit testing through all forms of acceptance testing to live deployment. In many cases there will be a requirement for some manual intervention to approve a step, but the authors argue even in those cases it should be possible to automate the step in principle.

In some ways it's a depressing read because often the catalogue of what goes wrong if you're not following a good process is all too familiar. What I found particularly useful was the outline of the pipeline and the partitioning of different types of tests. The authors themselves dislike the term "nonfunctional" for requirements and tests (performance, security, etc.) but then use the term "acceptance testing" as a synonym for functional testing, which I found unhelpful as well. (It seems to me that "acceptance testing" should describe the last or cumulative steps in a pipeline - once a release has been "accepted" there should be nothing to prevent it from being deployed). The authors also aren't keen on the use of source code branches, though they also discuss whether this is a better approach with distributed version control. This is the only area in which I wonder whether the book (first published 2010) may already be dated.
Tags: books, computing
  • Post a new comment


    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.