Changes in the software industry over the last 10 years have led to agile becoming the “new normal”, with 77% of teams reporting that they were using agile methodologies in 2016. Meanwhile, 78% have moved to a distributed version control system such as Git. This pattern is not just seen in small software teams, but across large enterprise teams as well.
As a result, it is now far easier for all functions within development teams to work together, with developers and testers sharing goals – no more throwing new features over the wall and hoping that testers don’t find problems. Software teams are able to create value and quality faster than ever.
But there’s still room for improvement, and DevOps highlights those areas where we can focus our attention. In agile teams, silos do still form. Communication is often limited until it’s time for software release, and software teams still aren’t always encouraged to communicate with people outside of their software bubble. It still doesn’t prevent situations like ops teams being woken at 2am to work on a problem they have no context about – which isn’t ideal for any of the parties involved!
Enter DevOps: a culture where development and ops teams jointly own the responsibility to build a more reliable and faster release pipeline. Joint goals are created to ensure that everyone is working towards the same target; it’s all about collaboration and working together.
Agile and Git are good prerequisites to a culture for DevOps, but there’s a lot more to building a culture that allows for cross-functional teams to maximize efficiency, collaboration and innovation. Growing software enterprises must become more collaborative or they will risk falling behind the competition.
The culture shift that comes with DevOps is all about teamwork, actively making the decision to be more transparent, understanding and co-operative. It’s a move away from the traditional “opposite sides of the fence” model for dev and ops teams, to a “run what you build” mindset.
In a traditional scenario, dev teams engineer a solution and then hand it over to ops to deal with production issues. But when things break, the ops team aren’t always equipped to deal with the fix and it’s a mad scramble to address the issue.
When both dev and ops teams come together to “run what you build” they end up sharing responsibility, which leads to greater transparency and accountability. It’s a great way to get dev and ops teams together on a singular vision – especially if you’ve noticed friction between these teams. This approach helps to improve team efficiency, operational quality and results in more satisfied customers (and employees!).
DevOps embodies a culture shift for teams, but even with the best of intentions this doesn’t happen spontaneously. To build a culture of collaboration, you should encourage:
To do this, you need to consider the flow of work across teams, as well as the tools those teams use to work together.
This infinity loop describes the DevOps process of continually evolving a product by making incremental changes to it, deploying, then incorporating feedback to influence future changes.
At Clearvision, we recommend adopting the Atlassian products. Not only do these tools integrate closely and cover each stage of the DevOps loop, as shown above, but they are highly customisable and integrate with thousands of Atlassian Marketplace apps and third party tools to extend functionality.
All of these things together contribute to creating a sustainable DevOps culture. Your teams need to be united and working to the same goals; you might bring in new roles to help enable this collaboration; and the right tools will empower your teams to work together more efficiently, as will automation. Alone, though, none of these measures are a magic fix. They form part of the effort to build a sense of shared responsibility and empathy across teams.
Find out more about how DevOps works in real teams – download this DevOps guide to learn how, for the teams at Atlassian, DevOps has proven key to faster, higher quality releases.