5 reasons why CONTINUOUS DELIVERY is worth a shot

Nikhil Nambiar
4 min readJun 2, 2019

--

Have you been on after-hours production support on a Friday night following a massive software feature release? Sweaty palms, nervous jitters with crossed fingers are all the feelings you feel when multiple features are being released, while missing being on a beach or being at a party with our friends and family.

That feeling when no bugs are logged after a successful 2 week sprint release:

How can we avoid this and make our releases boring? And here are 5 reasons why “continuous delivery” is the right solution for making our lives for people in software easier and drive a better experience for our customers.

#1: Risk mitigation

In both, a microservice architecture and a monolithic architecutre, the risk of your release blowing up is high when the changelog is massive. We’ve all been in situations where there are so many features that are being deployed, that it is inevitable that due to one line of code out of thousands that changed has caused an issue in a tiny nook of our feature rich application.

#2: Reduce Ongoing cost

Ongoing cost = Cost of man power + Cost of application being unavailable

In an environment where an organization is deploying in a longer frequency, the IT teams are spending time troubleshooting needles in haystacks. The application that was bringing value, has stopped business until the issue is resolved, this builds up over time, and we wonder why haven’t delivered any value. Continuous delivery nips this in the bud, because the scope of changes deployed are small, thus they are easier to test and ensure production readiness. If there are issues, they are easier to debug.

#3: Shorter Time to Market

The tech industry is moving at a fair clip. Software products can become antiquated rapidly. If we don’t deliver on the desires of the customer, we can lose them. When the user expresses a desire and sees progress in a short time frame, it creates stickiness for businesses. It makes the user feel that their voice is being heard and moves companies towards achieving customer-delight. We are here to create raving fans of our applications in a fast paced market, and continuous delivery feeds that.

#4: Increased Customer Feedback

It is wrong for us to assume that customers don’t like change. Every user wants to get a better experience, the answer boils down to how useful are we making the changes that are being deployed. In order to get to know, if we are going in the right direction and providing value, it is imperative to get feedback early and course correct accordingly. This feedback does not need to be explicit. A/B testing with key business metrics around user actions allows us to compare the old experience with the new experience, giving an insight into how we should course correct.

#5: Increased Rigor in testing

The responsibility of testing lies on every member of the delivery team. Often developers, testers can get caught up in between their titles and get used to things being thrown over a wall. This kind of team environment can be prone to causing defects in the system, as everyone is not aware of what it takes to perform each others role. When the team knows that whatever they push into their master branch will be considered production ready, it will increase the rigor in testing, by pushing everyone to document and automate testing as much as possible.

As we pursue excellence in software engineering, creating software that is robust, reliable and valuable, enables us to stay nimble in this market. The quicker we fail and learn, the faster we can move towards the right direction. Continuous delivery is not a panacea, but a concept that is worth an experiment. Let us make our releases boring.

Recommended Reading: Continuous Delivery — Jez Humble and David Farley

--

--

Nikhil Nambiar
Nikhil Nambiar

No responses yet