Business and development teams have seen a move from traditional, waterfall approaches to iterative development – from agile to scaled agile, and, finally, DevOps. But shifting an organisation’s focus from development to delivery is far from plain sailing.
So, what DevOps challenges are enterprises facing? While mistakes vary from one organisation to another, there are some common patterns and telltale signs when it comes to DevOps failure.
Successful DevOps? It’s all talk
DevOps is a culture of cross-functional working, and infrastructure, to deliver constant value to customers. This means the dialogue should always contain people and decision makers from all over the business – not just developers.
However, bringing different functions together is hard because they come complete with different incentives, personalities, processes, cultures. After the initial decision to ‘do DevOps’, it’s easy for everyone to retreat to their silos and do their own thing, and this is arguably the biggest reason for failure.
But, given the pace of change, teams could be forgiven for being accused of not keeping up with each other. While completely understandable, there are warning signs that, if identified early enough, can be addressed. For instance, look no further than the conversation. If discussions are all about tooling and infrastructure – that is a telltale sign. Deploying specific people or rebadging job titles does not automatically equal DevOps.
Putting DevOps back on course
The fact DevOps is a culture challenge means it is mandatory for any organisation taking it seriously to have a leader at the head who understands it and is able to work with people and cross-functionally. If there is a clear vision, and the objectives well defined at the outset, then the rest of the organisation will fall into line. Conversely, if this doesn’t exist then it’s almost certainly going to fail.
But who bears responsibility for a failing DevOps initiative? Usually, it’s the person who asked that question – and that is symptomatic of failed initiatives in any business. DevOps projects fail because it’s easy to blame other parts of the business. This blame game inevitably turns the organisation inward as people point an accusing finger at one department or team. While this is a futile, but potentially cathartic exercise, the effect is that the business stops looking outwardly – towards its customers and market.
And this is where the difference is between success and failure. DevOps projects succeed because, despite the fact that they could easily blame someone or something else for the failure, a few leaders stand-up and make it happen.
The biggest mistake
Having said that, nothing works perfectly and mistakes will happen. This is especially the case with DevOps which is, by its very nature, change. This means an acceptance that things won’t always go according to plan and, it needs managing change. From people to culture, things in the business are going to evolve. DevOps is one of the first times teams are asked to come up with a collaborative way of working with other functions. The challenges are not DevOps-specific but change management challenges. If approached that way, DevOps tends to succeed.
Written by Antony Edwards, CTO at Eggplant