By: Siba Prasad Pulugurty , Director Technology & Lead – Infrastructure & DevOps, SapientRazorfish
In today’s digital age, IT-enabled innovation has become a competitive differentiator. Irrespective of the company’s size or type, agility in delivering IT systems and the ability to run them effectively have become critical. As a result, the concept of DevOps has the become key. Most organizations are busy adopting DevOps, or are undergoing “automation” – a more commonly understood phenomenon. However, in their attempt to match or become the next Google, Amazon, or Facebook, they have been successful in implementing DevOps in smaller, one project scenarios, but are struggling when it comes to an enterprise level transformation.
The primary reason for their struggle is undermining the focus on culture and instead concentrating solely on the process of automation. Devops is not about independently building an automated process and plugging it in, nor is it about churning out code / features at a rapid pace. DevOps is a culture and not just a tool or process, which explains why it is effective in individual projects or with smaller teams. Influencing culture within a smaller group is much easier than in a larger group of people. Gartner in a report in 2015 had predicted that “by 2018, 90 % of I&O organizations attempting to use DevOps without specifically addressing their cultural foundations will fail”. The core emphasis of Devops is collaboration. Solving problems is not just about tooling, but breaking down silos and taking collective ownership of the problem. The DevOps CALMS (Culture, Automation, Lean, Measurement and Sharing) framework also emphasizes this.
The benefits of a DevOps approach far outweigh any traditional delivery approaches to overcome business challenges. However, successful DevOps requires careful management of organisational and cultural change in addition to acquiring the right skills. Here is what companies can do to ensure the “DevOps culture” is effectively maintained:-
- Break silos – enterprises see this more often; there are multiple teams. They can continue to exist but need to collaborate on a project and function as “one team”
- Align all stakeholders on the objectives
- Start bottom-up; Coach & train them. Apply the RAW (Ready, Able and Willing) framework to equip people for the change
- Don’t discourage failure – rather allow them to detect early and fix; It makes failures less expensive
- Adopt bi-modal IT – do not change every system or give up control on all systems; be selective and proceed.
- Maintain Transparency – it helps bridge the gap in the way communication flows; everyone is aware of what others are doing.
- Lastly, just don’t think automation will solve or bring agility if everyone is not collaborating
While culture is resistant to change, however it can be a great enabler of change and in this case bring agility, repeatability. The importance of culture in DevOps is highlighted from the fact that Logz.io added a new section in their annual DevOps pulse report, which says that “The most difficult aspects of establishing DevOps including shifting company priorities, getting developer buy-in, and maintaining open communications. These three actions, among others, are often tied to the fact that it is very hard to escape the typical silos that develop within companies and teams. Everyone and every team has a different way of working and a different set of priorities to address and goals to meet.”
All the tooling and automation in the world will be useless if they aren’t accompanied by a genuine desire on the part of teams to collaborate and work together. Martin Flower sums it up beautifully saying “Even with the best tools, DevOps is just another buzzword if you don’t have the right culture.”