Sam Hunt, VP APAC at GitHub, outlines common areas for businesses to focus on if they are to get maximum value from their DevOps investments.
Has there ever been a more contentious term in the history of software development than ‘DevOps’? It’s an accepted part of our industry’s vernacular, but wherever I go and whoever I speak to, it means something different to everyone.
Part of the reason for this is that there is no one-size-fits-all approach to DevOps. The development goals of organizations are always unique, regardless of size or sector. In many ways that’s the beauty of what an effective DevOps strategy can do for a business: it can be tailored to suit ever changing needs.
What I think everyone can agree on, though, is that the essence of DevOps is about helping businesses build and ship better software, faster. That’s why it’s an increasingly critical part of business strategy. High performing DevOps strategy can – and will – increase the speed of innovation. It should come as little surprise that recent research shows that nearly three-quarters of organizations have now adopted DevOps in some form.
But here’s my major frustration. Far too often I see businesses fixate on buying DevOps tools as the route to fast-tracking innovation and neglecting something that’s just as critical to developing a strategy that will pay dividends: culture.
You can’t just buy a progressive DevOps process. It’s not an off-the-shelf purchase. Sure, there is an ever more powerful set of tools readily available on the market, but quite honestly the tools are not the special part of DevOps. Instead, DevOps should be defined by the people building software and how they work together, not simply by what’s in their toolkit.
The secret sauce to success is access to a thriving global open-source community, and you need a supportive culture to fully reap the benefits that community provides. No amount of tools can compensate for a culture that doesn’t support innovation from the ground up.
While there is no one ‘right’ way to implement DevOps, there are common areas for businesses to focus on if they are to get maximum value from their DevOps investments:
Go above and beyond to create an environment of collaboration
Software development and operations teams have to work together side-by-side for DevOps to be effective. It might sound basic, but it doesn’t happen without careful consideration and planning. Technical expertise is of course obligatory, but there is also a fundamentally human element to DevOps. Teams have to want to work together, to know their responsibilities and to understand the value every role brings. Only then can they create products that deliver real value to users.
Ensure close communication between product and engineering teams
Getting the product and engineering teams to understand each other is vital. Not only are they both absolutely critical to the process, but historically they do not always see eye-to-eye. Having dedicated experts from both embedded in every team is a step in the right direction, but it’s meaningless if they become a token representative. They then become a funnel for automation work and act as a bottleneck. Proper communication and trust building is critical to ensuring collaboration is not skin-deep and encouraging both disciplines to pull in the same direction.
Integrate security into the fabric of your DevOps process from the beginning
All too often security appears to be bolted on to the end of the development cycle. That’s a one-way ticket to inefficiency. Issues are only found out in the latter stages of production, which inevitably leads to delays – and the pace of innovation stalls. Instead, baking security into DevOps means it becomes a shared team responsibility. ‘DevSecOps’ makes it easier to spot vulnerabilities long before production and makes it faster and less expensive to fix them.
Keep monitoring and evolving
Things move fast in DevOps – and don’t expect to nail your strategy first time. It’s an iterative process and businesses have to be prepared to be introspective and to adapt to what data tells them. For example, automating repetitive tasks like reporting and testing gives instantaneous feedback so teams can rapidly understand the impact of their changes throughout the software lifecycle. That means they can finetune how to work together more efficiently, make decisions together and implement changes based on shared data. That’s what best practice looks like.
Every business has its own objectives for DevOps. But buying the tools without investing in developing culture is not a route to success. Only with an understanding of an organization’s unique objectives, strengths, barriers and opportunities can you select the right DevOps tools for the job. DevOps should start with your people and be put into practice by tools. And when it’s that way round you can be confident the end product will have more value to the user too.