As many join the agile movement in attempts to leave traditional legacy systems behind, we have seen an uprising in DevOps. Through various technologies and methods such as continuous integration, test automation and more, companies can reduce risk while maintaining speed. However, many fail due to a few common DevOps barriers.
As we’ve seen before, there are many advantages to start doing DevOps. However, it is not an easy path to walk. This quest for shorter time to market, faster recovery and better quality has led many to frustration and failure. A big part of doing DevOps is getting enough buy-in from management, something far easier said than done. In the State of DevOps 2017 report, Puppet reports that about 29% of respondents didn’t see any value in adopting DevOps while 31% stated that they simple doesn’t have the capabilities. Whew.
Below you will find some of the more common DevOps barriers and how to overcome them.
1. Not enough buy-in
In order to make a transformation or any other kind of change, you need buy-in from all the stakeholders. This is more or less step one in any kind of initiative. If you find yourself struggling, take around and see if everyone is truly invested. Sometimes, this means talking to development and operations and sometimes it’s about management. For these, DevOps would mean stepping out of their comfort zone and learning to better work together.
There is also the problem with old legacy systems. These are more often than not very complex and can take a lot of time to refactor into a better fitting architecture. In addition, the people working with these systems often need to update their skills and capabilities.
By promoting a cross-functional working environment and addressing the various reasons for lack of buy-in, you can overcome this barrier. You can also take a look at other companies that does DevOps successfully and try to imitate what they do well.
2. Cultural differences
Many times, development and operations work in separate silos. They don’t know much about each other and might even be outsourced to different companies and countries. With complex situations for coordination, transparency and insight becomes limited. Simply put, they don’t see the value of properly understanding each other’s tasks and how they fit together as units. This leads to a cultural difference between the teams involved.
To overcome this problem, both teams simply need to come together and work as one. Anyone in a leadership position can work to create a cultural shift. Aim to connect the two traditional teams and break down the silos. If you manage to create a strong, unified workforce, you will not only have better chances at reaching business goals, but also enjoy a nicer work environment.
3. Automation challenges
Automation is a central part of DevOps and without it, any agile initiative becomes a whole lot harder. As stated above, many legacy systems are complex and working towards automation is both difficult to do and manage. A big part of automation comes down to testing in a continuous manner, which opens up opportunities to automate other parts of your pipeline.
The solution here is to not avoid continuous testing when focusing on continuous integration and delivery. Keep an eye on security, as trying to weave it in afterwards most certainly becomes a hassle.
4. Application complexity and legacy
Another possible DevOps barrier is the legacy system and application complexity in general. Installing and running any type of new hardware or software becomes a challenge when the existing system is older.
Since automation, continuous integration and continuous delivery are core parts of DevOps, your application needs to be fit for this type of architecture. To avoid complications, you should include a model for legacy structure and applications from the beginning. Depending on things such as cloud strategy, containers and whatever else you plan on using in the future, you also need to consider any architecture changes.
5. Budget limitations
In the end, it often comes down to money. Any type of initiative or transformation project will cost money, and so does starting doing DevOps. There are new tools to be introduced, architecture changes to implement, skills to be developed and new structures to be set. All of this costs money, not to mention the expected initial drop in productivity.
In order to overcome this DevOps barrier, see to the cost benefits over a long period of time. With shorter release cycles, higher quality and better customer satisfaction, you inevitably gain much more than the initial transformation process cost you. If you succeed with your DevOps transformation, you certainly make back what you put in and more.
To summarize, there are lots of challenges you face when trying to do DevOps. That said, there are ways to handle all of them and in the end, transform into something better than before. If you lay out a strategic roadmap, you can overcome any barriers you might face.
Have you run into any trouble when you started doing DevOps? Are there any barriers we might have missed? Let us know in the comments!