Reading Continuous Delivery book

I saw Continuous Delivery pop up on the ThoguhtWorks Radar and was curious about it. I decied to look into “Continuous Delivery:Reliable Software Releases through Build, Test, and Deployment Automation” book by Jez Humble and David Farley.

Here are some of my takeaways:

  1. Continous Delivery is more than Continuous Integration it’s about delivering software to clients hands and shortening feedback loop.
  2. How long does it take to publish a single line of code modification to a client? Hours ? That’s too long!
  3. Is deployment process manual? How often does it fail? Manual deployment is not repeatable and auditable. People are error prone despite even a very good manual every deployment may  differ. The answer it to automate everything. The deployment script is the ultimate documentation and it’s always kept accurate.
  4. Deployment makes you nervous? Is deployment to production a big deal for you ? If the answer is yes then you probably do it too seldom if you deploy(to test or stage) on daily basis the scripts are ready for the prime time. This brings up another issue it’s crucial that you deploy using same tools on every environment including your internal systems.
  5. Deployment does not produce business value and is boring.
  6. Build a pipeline encompassing all of the steps(including testing). If something in the pipeline fails halt the line.
  7. Do it early do it often, that way if something is wrong you know ahead of time. Sounds kind of agile 😉

That’s only from the first chapter.

The book, in my opinion, is worth reading.

And as an addition something I heard some time ago which came to my mind when I started reading the book – the law of  three strikes and you automate:

The first time you do something, you just do it manually.
The second time you do something similar, you wince at the repetition, but you do it anyway.
The third time you do something similar, you automate

Leave a Reply

Your email address will not be published. Required fields are marked *