Insights Blog DevOps or Continuous Delivery: Which is the Way Forward?

Blog

DevOps or Continuous Delivery: Which is the Way Forward?

Continuous Deployment (CD) and DevOps are entirely different concepts, except that they only intersect in the pursuit of a common goal. If you are looking for the right answer, here it is.

DevOps or Continuous Delivery

You may have heard the terms -Continuous Deployment (CD) and DevOps being used interchangeably or may have mistaken one for the other sometimes.

All of these are entirely different concepts, except that they only intersect in the pursuit of a common goal. If you are looking for the short answer, here it is:

Both continuous deployment/delivery and the DevOps culture are equally important to be able to produce high quality software. However, Continuous Delivery holds the upper hand because of a few obvious reasons.

Let’s break it down for you with an example.

Imagine you go to a fancy restaurant and order the best and most expensive dish. Your entire focus is on enjoying your meal as soon as it arrives at your table.

Let’s understand your end goal here: A good well-prepared meal and timely service.

  • So, are you worried about the qualifications and skill sets of the chefs working in the kitchen?
    No!
  • Are you interested in knowing if the chefs get along and collaborate to work as a team?
    Nope!
  • Are you focused on the ingredients they use to prepare your meal?
    Maybe, but not really!

What’s important to you is that you get served a meal that provides you with satisfaction and value for money.

Of course, good quality ingredients, high-end chefs working as a team, following best cooking practices, etc. are essential, but your subconscious expects that all of these would be true. In fact, these must be true for a restaurant to earn good reputation over time.

As a consumer, your goal is good food served quickly. So, you leave the cooking and other details for the chefs to figure out. You give them feedback with your money and by recommending the eatery to others. If your end goal, i.e., the meals and service, was satisfied, you become a loyal customer, or else you take your money to that other restaurant two blocks away.

So what’s the conclusion we can reach here?

DevOps best practices are the ingredients to the success of a software development recipe. However, clients are interested only in the meal e.g. the two end goals:

1) Better quality software.
2) Software delivered quickly and frequently.

Therefore, your client does not care whether you employ the best practices of DevOps; it is just a technical jargon that makes your organization sound cooler. The client is more interested in how quick your release cycles are than what your delivery pipeline looks like. Continuous delivery is not a jargon. It is a solid statement of intent.

The DevOps vs. Continuous delivery vs Continuous deployment conundrum: Choosing the best approach

Continuous deployment and continuous delivery are related concepts, with delivery preceding deployment. The main difference is that delivery includes manual approvals before every release, and deployments are automated.

To understand better, let’s go back to the restaurant example. The meal served to you is delivery, and you enjoying it and being satisfied with it is deployment. DevOps is the supply chain, the ingredients, the kitchen, the chefs, the waiters, the customer reviews, and it is especially in the interactions between them. This makes DevOps absolutely essential in order to support continuous delivery.

In other words, DevOps, continuous delivery and continuous deployment are all allies to a common cause; Each tries to achieve the same, but that certainly doesn’t mean that they are equally good at achieving the end goal. If you want to create better software faster, you need to think about what can provide the greatest help.

The intersection of DevOps culture with the adoption of the Continuous Delivery methodology

DevOps is all about a collaborative culture, small teams, automated testing, and continual assurance to drive customer value-driven quality. The DevOps philosophy has more to do with empowered teams who embrace a shared vision and shared ownership. One of the most revered practices of DevOps is its loosely coupled architecture and the stress on fast feedback.

What we need to consider here is that, even after following all of these, if the software that is created is of poor quality or is created slowly, who would care if your organization is great at DevOps?

If you did things differently from DevOps, had bigger testing teams, created high-quality software quickly, wouldn’t that be better?

Ideally, the outcome should matter more than the mechanism or the approach that achieves it. The ideas that DevOps describes are good, but they only serve as advice that leads to a better outcome, not really a model for how to do that.

However, in continuous delivery, our goal is to continuously deliver value to the customers, both quickly and sustainably. The aim is to optimize the whole process from the initial ideas to an efficient software in the hands of our users.

In short, DevOps culture and collaboration do matter because they allow faster and more efficient ways of working, and a supportive work environment is a better place to work in. As it turns out, it has some commercial and social value as well. The collaboration isn’t the goal, it is simply a tool (or a positive side effect) to achieve that goal. The goal, for the Nth time, is to get to better software, faster.

However, not all DevOps ideas are always applicable. For example, establishing a collaborative culture is sometimes difficult in bureaucratic organizations, but shortening the release cycles – that’s doable.

Therefore, choosing DevOps enables continuous delivery. They are practically joint at the hip. There is no doubt about the fact that using continuous delivery is a more effective way and an efficient approach to build great software and achieve a higher quality output.

If an organization’s focus is on continuous delivery of value, then it can never close doors to innovation. Innovation should be the target to aim for if you are to grow as a technology assured business.

The best approach is to take the middle road, adopt DevOps practices while focusing on continuous delivery. This will lead to the benefits such as accelerated delivery and reduced overhead communication. Keeping the focus on continuous delivery means our software is always ready for release.

In a nutshell

The destination for good DevOps and continuous delivery is the same, yet it is continuous delivery that makes it easier to reach the destination. Fundamentally the goal is to create high-quality software swiftly and securely.

When we work with DevOps practicing teams to help them adopt continuous delivery, our advice is consistent – measure what you are doing now, in terms of how long it takes to go from idea to useful software in the hands of your users. Apply a more scientifically rational approach to decision making and use it to reduce that cycle time you’ve identified.

Continuous delivery leads to continuous business assurance. And, that it is the goal worth chasing.

quality engineering free assessment