The Power of Changing Company Culture in Accelerating DevOps Transformation
As you may know, implementing DevOps across your enterprise is a major challenge that isn’t going to be solved overnight. Instead, it takes months or even years of dedication to change your company culture, select and implement the right tools, and build in the time for experimentation necessary to achieve DevOps transformation. Combine this to-do list with a natural concern over failure, and you might start second-guessing why you ever thought DevOps was a good idea in the first place!
With so much to do and so much at stake, what’s the best approach to implementing DevOps as the go-to development methodology in your organization? To answer that question and more, we’ve asked Adam Auerbach, VP, Assurance, EPAM, to share his thoughts on how to accelerate the process.
In your experience, what is the toughest part about DevOps transformation?
The toughest part of a DevOps transformation is facilitating and maintaining the cultural changes required to make it successful. The DevOps transformation journey can be long and difficult, and organizations will often start by focusing on the tools, but the selection process is just one aspect. Instead, companies need to spend the most time on changing their culture, because that’s what DevOps is all about.
The cultural changes required to support DevOps are the hardest part of the journey because this means people need to change. It can be scary and difficult for those involved, so the sooner that you can identify what those changes are and get them working to evolve, the faster your transformation will occur.
What are some examples of company culture that don’t work in an organization looking to implement DevOps?
One example is rewarding project heroes more so than those that truly differentiate themselves by changing the way work gets done. DevOps cultural transformation is about innovation and working smarter, not harder, so the culture has to reward people for finding new ways to work as well. Managers need to be able to carve time out for learning and experimenting, as well as recognize those that are making a difference, whether it’s at the team or departmental level. Having a culture that promotes learning and innovation ensures that the work needed to drive DevOps maturity will get prioritized.
Another potentially problematic example is a company that has resource and business SME’s as middle and senior leaders. These leaders will likely struggle with DevOps culture because they are more focused on business deliverables and deadlines. They typically don’t have the technical acumen to drive changes within their teams and for the business they support. Technology leaders in a DevOps culture have to understand the technology and what has to change in order to become leaner and more efficient. If they are focused on their team and hierarchy, they will become bottlenecks in the transformation, as responsibilities start to get spread out across teams and the organization starts to flatten out.
If you had to choose, what are the three key steps an organization can take to accelerate DevOps transformation?
The first step is understanding how innovation happens at your company. Are people able to work on stuff that isn’t related to a project, or is all work aligned to a business initiative? Transformation is not going to happen unless people have time to learn and experiment.
Next is getting a working pipeline. The tools you use are not as important, but there are some key aspects of how the source code tool should work, how testing should be incorporated into the CI pipeline, and how change management is integrated, so you do need to make sure that you have tools are conducive to getting a working pipeline.
Finally, put together a working group that has representatives from all shared service teams, including any team that does work on behalf of engineers. These representatives should be people who can make decisions, possibly at the director level or higher, and should meet very frequently in the beginning and be open to adding more people as momentum grows. This group should demonstrate the progress of the pipeline and make decisions on how to resolve cultural impediments.
How can teams create a functioning DevOps pipeline in the early stages of implementation?
Figure out what your company is already using and work to get those tools integrated into a functioning pipeline. That will help you flush out cultural issues, like if one team does the builds and deployments but another team is the one that creates environments. Having a working pipeline that you can use to educate everyone will help the company better understand what DevOps automation is and allow them to start thinking about how it will impact their roles. It will also shed light on where teams need help from others in order to do all the steps required to move code into production.
In his role as the Head of the Assurance Practice at EPAM, Adam Auerbach co-leads the Cloud and DevOps practice in North America as well as the Quality Engineering practice. Prior to EPAM, Adam served as the VP of Quality and DevOps Engineering at Lincoln Financial Group, where he was responsible for leading the implementation of Continuous Testing and Continuous Delivery. You can find more of Adam’s thinking on the TechWell blog or follow him on Twitter at @bugman31.