How to manage cultural change while adopting DevOps
With the rise in connected devices, big data, and an ever-increasing number of business applications, enterprises are now operating like continuous software and data factories. The most successful businesses take an agile approach, constantly updating and aligning development output with business requirements. DevOps can be an incredibly successful tool for companies, but there's one key challenge: putting the right foundations in place.
The organisations that are leading the way are already automating parts of the software engineering process to create shorter development cycles, increase deployment frequency, and create more dependable software releases. Through constant monitoring and testing, teams can produce far faster software releases and updates, benefiting all areas of the business.
Yet as much as technical ability end expertise, managing all these different elements needs a collaborative culture. By its nature, DevOps necessitates workflow processes that would traditionally cross separate departments, not to mention effective communications, and close cooperation between separate teams.
Unsurprisingly, a recent survey of 2,000 IT executives highlighted that of the top ten barriers to DevOps success, company culture is number one. This mirrors my own experiences: in talking to many CIOs, one recurring challenge of implementing DevOps is neither the technology nor process, but the culture.
In many ways, culture can be one of the hardest things to change, but it can be done. To that end, here are ten simple steps any organisation can take to manage cultural change when implementing DevOps:
-
Make sure the very highest levels of your organisation are ready to commit to the DevOps philosophy. DevOps will not succeed if introduced from the bottom-up. There are too many processes that need to change that will require sign-off from management.
-
At the same time, the DevOps team needs a free hand in defining their roles and responsibilities. At first, they may define their roles in familiar ways based on old patterns, but as they get more experienced in the ways of DevOps, they will naturally evolve.
-
Bring in an external coach to educate DevOps team. They will help the team demolish walls and become a single team. Coaches have the experience to know what is and isn't possible and how best to move forward. Do not make one of your line managers a coach, as there may too much of a bias/baggage that they may bring to the team.
-
Even if you start with just a pilot team make sure you start to educate the rest of the teams. Communicate the benefits and the new processes. The pilot team will need help from time to time and if other teams understand the transformation they are more likely to provide that help.
-
Give your DevOps team the freedom to fail. Hold them accountable for their own actions. The more they fail the more resilient they will be. If they don't have the responsibility, they won't take ownership. This means eliminating management-run post-mortems where the team becomes defensive and risk-averse. Your mantra should be "fail fast."
-
Help the DevOps team to break down their silos. It takes a while to break the silo mentality. Help them understand that it doesn't matter if you are dev, ops or security, your goal is still to match speed with quality.
-
Co-locate the teams as much as possible. When this happens, the team members will help each other. It will help them to mature and function as one team much quicker. Train the teams in automating their process.
-
Leaders should talk to the teams often to see what's required for success – communication has to go both ways. This should be a collaboration, otherwise simple issues become roadblocks.
-
DevOps is by definition a lean, flat organisation. Don't expect or require all the good ideas to come from leadership. Good ideas can come from anywhere, from anyone, at any time.
-
The upper echelons of the organisation should lead by example. Break down silos, collaborate, speed up decision-making processes. All of this can inspire your DevOps team in what can be a difficult transition.
DevOps is transformative, leading to a more agile, reliable, and productive organisation. Companies around the world are reaping the benefits of DevOps, but any company can replicate the formula for success; the key is putting the right culture and foundation in place to do so.