Dispel the myths of DevOps
DevOps doesn’t have to feel daunting – it’s time to understand the value it can bring.
As the technology landscape continues to evolve, it’s sometimes good to take stock. Recently we’ve seen a growing adoption of cloud as more organisations shift away from traditional datacentres; greater capabilities are being developed at the edge; newer technologies like IoT and AI are being adopted at scale – and all these changes are creating complexity.
At the same time, organisations need to be able to operate more efficiently than ever, get to market faster, and innovate as speed if they want to compete and grow. Any new way of working that enables them to do this in the context of complexity is therefore worth considering – and it’s why we’ve seen the rise of DevOps. But what exactly is DevOps and what are the myths surrounding it? To gain value from it, we must first clear up the confusion…
Many consider DevOps to be merely a collection of tools, or no more than a set of processes. Some believe DevOps and continuous delivery to be the same thing. Others think DevOps means releasing software all the time. But these are just some of the myths that mean organisations are struggling to draw value from it.
For DevOps to work, you need to understand it in a more holistic sense. DevOps combines software development and IT operations into a single function through a range of processes. Yes, it includes tools, processes and automation – but it’s much more than that: DevOps brings all these things together within an environment that relies on collaboration, honesty, pragmatism, acceptance of varying risk, and risk-sharing.
Ultimately, DevOps requires a new mindset that creates a different work culture entirely.
Breaking down DevOps
Google it, and you’ll get a range of results for the key tenets of DevOps – anywhere up to nine different pillars that the internet suggests you need to follow for success.
Based on our experience, however, these are the five core principles that are consistently the most effective:
1. Reduce organisational silos
By its very nature, DevOps requires you to bring teams together – specifically development and operations. This means building out the skillset of these teams to do more, but it also requires clear coordination to ensure that your teams aren’t working on the same problem at the same time – or it defeats the object. To ensure success, you need to cut down the traditional processes and bring the relevant people in from the outset. This helps to break down the usual chains of events that are typically inefficient.
2. Accept failure as normal
One of the keys to DevOps is to focus on the happiness of your users: what do they actually want, and what do they find acceptable in the end product? Getting this right allows you to identify different levels of risk and focus on what needs to be done as a minimum.
You also need to remove blame from your organisation’s culture and focus instead on lessons learnt. Move on from “I told you so” to “how do we fix this and come back stronger?” Define a consensus. And make progress by implementing a policy of ‘disagree and commit’ whereby objections are heard, but then a line is drawn under them and you can take things forward with everyone pulling in the same direction.
Implement gradual change
Change is crucial, but too much all at once can be counterproductive. Therefore, it’s wise to break down the challenges or tasks instead, and focus on key aspects that will make a difference.
A good place to start is by establishing ways of working that enable you to approach and complete things efficiently – and then repeat them. Employ a continuous improvement mindset and make adjustments as you go along, rather than making wholesale changes if something isn’t working how it should. This gradual approach enables you to get to minimum viable product (MVP) status more quickly, and facilitates easier development and involvement by more people.
Leverage tooling and automation
The value of automation is in reducing toil – taking away the laborious and time-consuming actions that need to be done. However, before transforming absolutely everything, it’s important to fully assess what you automate because you may end up uncovering processes and actions that aren’t necessary. These don’t need to be automated – they need to be eliminated.
A significant amount of your effort should be spent focusing on reducing effort and improving efficiency through automation. Tools are important, but remember to ensure that you have, and use, a common toolset across the organisation – reducing issues such as stealth IT and duplication of effort.
Information on what’s happening and on the impact of your DevOps effort is vital. You need to be able to track what improvements are being made to know whether they’ve been effective or not – so, measure everything. Measurement allows you to spot issues and identify new opportunities for improvement too – from your service availability over time (SLA level) to lower-level goal-based measurement (SLI level). But fundamentally, measurement should be used to tell you three core things: is it reliable; is it available; and is it useful?
Making the most of the DevOps opportunity
Like many things technology-related today, if you view and approach DevOps with the correct mindset, adhere to the principles in full rather than in part or for convenience, and weave its values into the culture of your organisation – you will see a return. And a tangible one at that.
Well-deployed DevOps methodologies deliver significant time-to-market reduction, efficiency savings and waste-out results. They also benefit your people. Given the time to learn, your people can develop and get more done, increasing job satisfaction and well-being too.
Yes, you need to be prepared to have some straightforward, direct and sometimes difficult conversations to make it work. But in the end, embracing DevOps allows your people and organisation to focus on the exciting things, remove the dull stuff, and quickly achieve much more than before.