Over time I have worked a lot with continuous delivery and tried to explain why it is such an important concept. When I was asked for a reading list, I was left without a clear answer. So this is an attempt at creating one. π
I have some writing that I might do around these concepts, but this list is it for now. Check back later, I will update this when I have something. π Let me know if you have any feedback or questions.
The list
Types: π = Book, π = Website, π = Report, π = Blog, π¬ = Video, π§ = Podcast
- Why:
- π The latest DORA accelerate report always has some interesting insights. 2024 especially had some insights around AI.
- π Accelerate; the original DORA book. Explaining everything in depth
- π The original book from Jez Humble and Dave Farley: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
- π¬ In Continuous Delivery Simply Explained, Dave Farley takes us through the basics as well as why it matters.
- π Team Topologies helps us understand how different teams can interface and align to create flow and great software.
- π Dave Farley has written a lot of good stuff. He has shared excellent insights especially in Modern Software Engineering: Doing What Works to Build Better Software Faster.
- π SPACE and DORA
- π Slow deployments causes meetings by Kent Beck π
- Techniques:
- π All about pull requests and the dysfunctions that accompany them.
- π And if you decide to move away from pull requests you should probably be going From Async Code Reviews to Co-Creation Patterns an article from Dragan StepanoviΔ.
- π To manage risk when going into production often you should to use feature toggles by Pete Hodgson on Martin Fowlers website.
- π Refactoring to change your system in a controlled manner is essential. Kent Beck and Martin Fowler wrote the original and Michael C. Feathers followed up on how to work in a legacy codebase.
- π Automated testing is essential, and I would argue you get a lot further with TDD. Regardless of whether you do test first or after, you can learn a lot from Kent Becks’ Test Driven Development: By Example.
- π When you deliver multiple times a day you can’t have bugs occurring all the time. In Bugs Optional? Kent Beck describes the effect continuous delivery can have on bugs. It also describes how building a culture for delivering requires few bugs.
- π Real Options: Making small changes to production all the time supercharges your learning process. I have always appreciated how it pushes us to keep options open for later. Chris Matts and Olav Maassen has written about real options.
- π I think Observability is usually the least explored part of Continuous Delivery but also essential when speed increases. If you want to explore you can read about π the three pillars of observability and how you should focus on results by moving π Beyond the 3 Pillars of Observability.
- If you would like to dig even deeper into observability have a look at π read Honeycombs’ Observability book. Thanks to Erlend Wiig for pointing it out to me.
- And I really like the defaults in π New Relic APM (with an agent). I recommend testing that to see how easy it can be to get deep insights into your application.
- Some general resources that I generally appreciate for this:
- Dave Farley has some good π¬ videos and interviews on Youtube as well as a podcast series. π§ This podcast episode comes highly recommended.
- π Kent Beck has always been a great inspiration and he writes a lot on Substack. Well worth the read even though it is less about continuous delivery explicitly.
- π Martin Fowler is another one of the great ones. His website contains a lot of articles about software development, and here is his tag about continuous delivery.
- π eXtreme Programming is considered by many to the be essence of agile and continuous delivery.
There’s of course a lot of related topics that I take for granted. Things like DevOps, Infrastructure as Code, Build Pipelines and Continuous Integration are essential but not mentioned. You can easily find a lot about them online.
Let me know if I should include anything else. I would love to learn something new as well. π
Thanks to Terje Heen and Asgaut MjΓΈlne for contributing with input and content. Also a bit of AI. π Gemini and Claude are my favourites.