How do you do DevOps right? Almost everyone knows by now that it isn’t a matter of plonking your development and operations teams into one room and forcing them to work together. There’s something more – but what is it?
The answer, put simply, is culture. Or rather, DevOps culture.
DevOps is about breaking down the barriers between development and operations. To see the benefits of DevOps requires all teams involved in the software development lifecycle to collaborate closely and work well together.
Culture is what clarifies the facilities and processes that encourage this relationship to exist. Having each team buy into the right culture goes a long way towards achieving a successful outcome.
The core tenets of a successful DevOps culture.
Forbes defines workplace culture as: “shared values, belief systems, attitudes and the set of assumptions that people in a workplace share.” Having these shared values means teams are far less likely to experience conflict, and more likely to view themselvesas a single entity, rather than collaborative silos.
For DevOps, I’ve found the most important cultural values to be:
Sharing of responsibility
Hesitation to ask other people for help, especially on things we feel we should be able to do ourselves, creates a self-perpetuating cycle where we become more afraid of asking for help the less we do it. A culture of shared responsibility means not only are you not putting all your eggs in one basket, but team members come to view asking for help as teamwork, rather than a favour.
Teams need the opportunity to do things in a way that suits them, rather than following the lead of top management. As DevOps is already about creating a more streamlined process, autonomy and work should go hand-in-hand.
Collaboration between teams
Before even attempting to combine development and operations teams, ensure there’s already a history of inter-team collaboration. Don’t make people’s first experience with collaboration “formal” DevOps; instead, get their feet wet with some minor, collaborative projects.
Openness to learning new technologies and practices
It always costs more upfront to automate manual toil. It can require learning new technologies and skills, along with implementing them, all of which takes time and money. But the benefits pay off the initial investment many times over. Keeping on your toes is the only way to retain the competitive edge that switching to DevOps brings.
Measuring the success of your DevOps transition
To ensure that your DevOps processes are going smoothly, it is necessary to track metrics. Some general useful before-and-after-transition metrics to compare are:
● Deployment time
● Deployment frequency
● Manual effort per deployment
● Lead time (time between a code change, and deployment to an environment)
● How many users have access to deploy their own test / development environment?
● What technical skills and training are required to deploy?
● Defect rate
However, it may also be valuable to formulate your own KPIs in relation to your understanding of customer needs. Personalised measures of NPS are also valuable in the long run and can be extrapolated on to determine DevOps effectiveness.
Finally, consider putting together a document outlining the cultural goals you’ve formulated. This is both to make sure people have ready access to a database of DevOps values, but also to formalise them, and make them official and thus taken more seriously.
Legitimising your culture is one of the most effective steps to ensuring that your team understands certain values aren’t optional ways of working, but compulsory mindsets. Documenting these values is an effective way of emphasising their importance without forcing them onto your team.
Keen to be a part of a great DevOps team? Check out our job listings.