DevOps is a hot term that has been swirling around the IT industry. DevOps champions claim that by adopting DevOps principles you can achieve a high level of cohesiveness between development and operations teams, which leads to faster and more frequent deployments, a higher quality product, and happier end user. Even though all of this sounds promising, there are a number of question marks that surround implementing DevOps which prevents organizations from starting their DevOps transformation. In this article, we will address some of those questions and worries so you can reap all of the advantages that DevOps has to offer. Read also: How DevOps Delivers Cool Apps to Users.

What is DevOps?

It is difficult to provide a uniform definition of DevOps since many versions of DevOps exist and they will vary based on the needs of each individual company. DevOps is an outgrowth of the Agile methodology, but unlike Agile, DevOps is not a methodology or a set of tools. DevOps is a culture which promotes and fosters collaboration between development and operations teams. These two departments historically do not get along with one another. Development teams usually promote change, while operations promote stability–and as a result development and operations were like oil and water.

Times have changed. Organizations and companies pushing the limits of software deployments have successfully brought development and operation teams together, as one team. The primary goal of DevOps is to break down the silos between these two teams and not just to have them work closely together, but to have them work towards common goals with common principles. While doing so, each side will adopt the same practices and protocols which, combined with the introduction of automation, will lead to continuously high-quality software delivery.

DevOps is First and Foremost a Culture

Even if you have the best tools, without the necessary culture, DevOps is just another tech buzzword. The mentality of shared responsibility is a key aspect of the DevOps culture which encourages closer collaboration.

As we see from the picture above, the DevOps culture is all about shared responsibility and closer collaboration. A DevOps transformation implies a cultural shift within each team to support such collaboration. However, it is very important that there is support for such a shift at an organizational level. Without support from the very top leadership, achieving the levels of collaboration described in the diagram is close to impossible.  

The development team can become disinterested in system operation and maintenance if it is simply handed over to another department. But, if the development team shares this responsibility of maintaining this system over the course of its lifetime, not only will they have a vested stake in keeping it up and running, but they will also be able to share the pain that is felt by operations and, in doing so, they will be encouraged to find ways to simplify maintenance and deployment.

When operations teams share the burden of a system’s business goals, they will work more closely with developers to understand the system’s operational needs. Such collaboration is only possible with mutual awareness from both development and operations teams about each other’s needs.

Establishing shared responsibilities

In order to achieve such a culture of shared responsibility, an organizational shift is usually required. Not only should the silos between development and operations be eliminated, but organizations also need to support autonomous teams. For the collaboration to be effective, developers and operations teams need to feel the freedom to make their own decisions and make changes without a complicated decision-making process. This includes trusting the teams, changing the way risk is currently managed and promoting a fear-free environment.

The first step towards implementing shared responsibility is to make sure to get support from the very top. Be sure to explain how the business benefits of the DevOps culture, i.e. faster time to market, increased return on investment improved decision making etc. In a DevOps environment, the strict rules and silos are blurred or removed completely and all team members are equally responsible for the quality of the product and its timely delivery.

Once you secured support from the top executives,  everyone in your team needs to understand how their work fits into the overall goals and strategy of the business. On a more micro level, you need to make sure that team managers understand how the work their teams produce supports the overall mission.

The impact of shared responsibility

One huge benefit that you will be able to reap from such a cultural shift is that it will be easier to put new code into production. Eventually, this will lead to more automation from your DevOps team so that they can work on more challenging tasks for your organization. When you automate testing, configuration and deployment, this frees up a lot of people power and reduces the likelihood of human error. Automated scripts can serve as a very handy way to free up time and resource as well as a way to have documentation for your systems.

In today’s IT environment and marketplace, customers are demanding more and more from applications and if it takes your company a month or more to deploy an update or bug fix, you will simply drift away into obscurity. Because of this, adopting DevOps is simply not an option, but a necessity.

When making a case for transitioning to a DevOps culture of shared responsibility, be sure to drive home the business benefits. Think about how much time your teams waste of finding and fixing mistakes and be sure to quantify it. How much money is it costing you?

When you factor in things like the cost of downtime and that your competitors have implemented DevOps principles and are therefore a step ahead of you, you have a rock solid case for a DevOps transformation. As you begin implementing DevOps practices, you will notice how DevOps will eliminate a lot of the bottlenecks that you have been experiencing and that automation will provide so much efficiency and accelerate delivery across the entire pipeline.

Nick Kartman

Technology evangelist passionate about DevOps, Big Data, ML, and Cloud. An avid contributor to the Squadex blog.