Everyone wants to find a magic bullet for delivering software faster. Agile and DevOps models have become increasingly popular in organisations globally as a mechanism for increasing the delivery speed and quality of software. While these models can be extremely effective when executed correctly, and despite the numerous resources that explain how to “do” DevOps, many businesses’ efforts are still falling short, and DevOps fails.
Gartner estimates that the DevOps market will grow from 2.9 billion USD to 10.31 billion USD by 2023, but 90% of DevOps initiatives will fail to fully meet expectations due to the limitations of leadership approaches, rather than technical faults.
In this article, we explore some of the key reasons DevOps initiatives fail, despite best intentions.
1: The purpose of DevOps implementation is not clearly defined.
Implementation of DevOps is fundamentally a change of process. DevOps should be defined in line with business goals to make it a successful approach to software development. Identify your ultimate goals, and what the problems and pain points that currently need attention, and create a plan for effectively solving them. Take note of any additional training your team may need and bring them on the journey with you. If your team aren’t invested, DevOps fails.
2: New tools are implemented without a culture shift.
Since DevOps is often seen as a culture, rather than a framework, it is easy to see that people can be a major factor in DevOps fails. People are one of the fundamental drivers of DevOps; you can have the shiniest, most magnificent and expensive tools in the world, but if your people don’t like them, don’t want them, or don’t know how to use them, your tools are effectively useless. Many organizations struggle to scale up their DevOps initiatives as their systems are not designed for it. Tools alone are not a solution, and they’re only as powerful as how they are used and implemented.
To avoid DevOps fails, and successful implementation, you need a set of tools, service, data, and processes that fit your team and your ultimate organisational goals. DevOps can be a culture shock for particularly siloed organisations. DevOps is a journey of continuous improvement, and the larger your organisation is, the longer it will take for a culture shift to occur. There will be pushback, and you may attempt to give in to cultural pushback to keep old culture intact, but this blocks you from being able to fully embrace DevOps best practises. If you do DevOps at half measure, DevOps fails. The goal is to step away from old thinking. Some ideas will be embraced, some will be rejected. You should continuously measure progress, and fix issues as you find them.
3: No one is assigned accountability.
Many assume DevOps is simply merging development with operations and agreeing on new processes that bind the teams together. There are a lot of challenges when there is isolation between teams. There exists a cultural structure that believes that operators are intended to create automation and enforce quality and audibility on the work of software teams. The same standards do not apply to operations team.
When teams don’t share the same goals, the consequences of how their actions affect other teams is unknown. When your teams aren’t running as a well-oiled machine working towards shared goals, DevOps fails. Someone has to manage resources and oversee the entire process to ensure all teams are working together. If one element of your process fails, the whole team fails. You can combat this by working in a blame free environment that encourages a culture of communication, collaboration and transparency.
4: Organisational leaders are not onboard from the start.
Management teams need to be a driving force for effective DevOps transformation. Only they have the power to align resources in such a way that DevOps can be effectively implemented.
Leading the charge, management teams should be the ones to explain why an organisation is seeking DevOps implementation, what it means for the unique organisation, and what goals the implementation will attempt to achieve. Management should assess the current state of process, identifying gaps, bottlenecks, and areas of potential improvement. In collaboration with their team, they should facilitate the discussion about which tools will be best suited within their organisation, and act according to the needs and requirements of their team.
5: Management teams expect unrealistically speedy results.
As we mentioned early, DevOps is fundamentally a change of process, but it is important to remember that change doesn’t happen overnight. You need to give your team time to adapt. When starting any new process, many organisations are eager to jump straight in, and fail to consider the impact of all other connected parts. If your “magic bullet DevOps strategy” includes the creation of a DevOps team, you’re already barking up the wrong tree. DevOps “teams” are another silo. If you add a new department without removing something else, you add more process and red tape, rather than streamlining existing process. This is the opposite of what DevOps aims to achieve.
The initial stages of DevOps implementation will realistically slow down your organisation considerably as your staff wrap their head around new ways of working. This requires training, education, and time. Think about why you want to do each thing, then don’t set unrealistic goals for the sake of doing so if they have no impact on the bottom line.
Tips for avoiding DevOps fails.
Effective DevOps practise is a journey of failure and iteration. You should fail fast, and iterate often. It will take time to implement a successful strategy, but there are some things you can do to put yourself in a better position for preventing DevOps fails.
Facilitate open communication
DevOps is built on the idea of bringing departments closer to the end user, to implement continuous delivery of needs based updates. Introducing collaboration tools to facilitate frequent and open communication can assist your team with closing this gap. When all departments are across the project as a whole, team members can align their objectives more accurately with overarching goals.
Educate your team on the process
Communication and transparency are the keys to building trust with your team, which is essential on your transformative DevOps journey. Let your team know what’s happening and why. Get their input and support, and implement ideas so they feel like their contribution is valued.
Assign a DevOps champion
Someone should be overseeing the entire DevOps process to ensure implementation and execution runs smoothly at each and every stage. This champion should be seen more as a facilitator, rather than a boss. They should monitor each stage and intervene as necessary.
Preventing DevOps fails with SMEx Digital.
The key thing to remember is that DevOps is a cultural shift, then a process shift, then an organisational shift. It takes time and effort, and should be advocated by strong leadership, with collaboration and transparency at every stage.
SMEx Digital is a DevOps and Agile consultancy in Brisbane, Sydney, and Melbourne, specialising in enhancing team productivity. Contact us now to discuss implementing DevOps successfully in your organisation