Lessons from 29 DevOps Experts on the Best Way to Make the Transition to Continuous Delivery – Matthias Marschall

Download the FREE eBook

Don’t Look Back: Persevering Through the Transition to Continuous Delivery

Matthias Marschall
CTO at gutefrage.net GmbH

Lessons from 29 DevOps Experts on the Best Way to Make the Transition to Continuous Delivery - Matthias Marschall
If you’re working in an environment where you do infrequent, big releases, you might find yourself in a situation where the pressure to deliver faster becomes unbearable. When I was building an Internet platform for the construction industry, it was best practice to do a big release twice a year. Unfortunately, each such release was a big disaster followed by weeks of fixing critical bugs and customers threatening to sue us. We knew that the huge amount of code changes forming a big release was an issue, so we cut down our release cycles to bimonthly.

Although the releases shrank, the shortened release cycles put a lot of additional pressure on us. Not rethinking our process, we simply had less time to do all the upfront analysis and manual regression testing we considered mandatory at that time. Of course, we also had to make critical bug fix releases all the time, without a lot upfront analysis and definitely without manual regression tests of the whole product.

One day, we stood together and wondered how we could solve our troubles. A colleague raised the key question, “What’s the difference between a feature and a critical bug fix? Why do we force ourselves to do a lot of upfront analysis and manual regression testing for features, while we’re releasing critical bug fixes at any time?”

The question was spot on. Eventually, there was no real difference. Why not release individual features like critical bug fixes? We tried it.

In the beginning, it hurt—badly. We were even thinking about going back to bigger releases. But we persevered. Instead of going back, we concentrated on automating our tests and release process to increase quality. Slowly, we were seeing the benefits of small releases: they became a nonissue. And instead of suing us, our clients were happy to get new, working features much more quickly than before!

The key in such a transition to continuous delivery is to expect things to get worse before you’ll be able to make them better. But if you persevere, you’ll be able to make things so much better that you’ll never want to look back.

Lessons from 29 DevOps Experts on the Best Way to Make the Transition to Continuous Delivery