In this post, we are taking a look at how to build a DevOps culture that helps your company on the road to DevOps transformation.
This is day 3/100 in the 100 Days of DevOps series.
One of the biggest misconceptions is that you can hire a load of DevOps Engineers, build a team and viola, you are doing DevOps. While that team may be doing a really good job and practicing some traits of DevOps, that does not make them a DevOps team. Neither does that mean you can take what that team are doing and scale it up and say your company is practicing DevOps.
DevOps is much more than specific roles, or even specific processes, although processes do back up the how in DevOps. It's about culture, and people.
Autonomy across teams and collaboration are two distinct characteristics of a strong DevOps culture. As a result, efficient operations can lead to a globally successful business.
In the first post of the series I talked about companies which are doing well at DevOps. Of course, that limited list is just a representation, and all companies you speak to, will echo the same culture and people-centric approach.
Is there a recurring theme? A communication feedback loop with all stakeholders, both internally and externally, is critical. Creating a safe environment for communication allows for process evaluation without blame, ongoing experimentation, and shared learnings. Transparency and tolerance go hand in hand with the collaboration and ownership required for a healthy DevOps methodology.
The following five tips are ones which will help you build a strong DevOps culture which is also effective.
- Prioritise education over blame
- Goals should be transparent
- Encourage strong cross-team collaboration
- Provide autonomy and ownership
- Practice continuous feedback
Let's have a look at these five tips in more detail.
Prioritise education over blame
In DevOps, we talk a lot about growth mindset. This is one of the aspects of a growth mindset from a team perspective, rather than individuals. In DevOps we are always learning, everything we do feeds back into the next retrospective, then onto the next iteration.
This is not about accountability, while that is important in DevOps that everyone is accountable for their work, this is more about making sure people have a fail fast mentality, which gives them the freedom to experiment and learn without the fear of blame should something go wrong.
Having this mentality in your company stretches everyone and enables them to think outside the box.
Goals should be transparent
Alignment is another cornerstone of DevOps. Ensuring that everyone is on the same page when it comes to goals is crucial. Goals should be transparent from the top down, and those goals should be split into meaningful goals for teams to execute.
Having the vision to align your team goals to the wider company goals is what creates cohesion between the executive leadership and local leadership. To be successful in DevOps, your goals at a team level must align to the company goals, you have to be aligned in your aspirations and your team goals must help the business achieve their goals.
Encourage strong cross-team collaboration
The power of cross-team collaboration can never be stated enough. One of the most powerful ways to illustrate this is not through shared stories, slide decks and white papers, but actually through simulation.
The Chocolate, LEGO, and Scrum game developed by Dana Pylayeva is a great example of how to show people the power of collaboration. The simulation is based around the aim of having groups work together towards a goal. Throughout the iterations that take place, players in the game have their roles changed which dictate what that player can do and rules change to allow you to collaborate with other roles.
As the game progresses you find that as bottlenecks are identified, and removed, you become more productive through the increased collaboration. It's a powerful message, that delivers the point of collaboration in a fun way.
Provide autonomy and ownership
In the previous post on the characteristics of a DevOps culture, we highlighted the need for autonomy and empowerment. Extending on the thinking we looked at in the previous post, ownership is also a key element for success.
Shared ownership between developers and operations teams provides strength towards the common goal. That shared ownership is what helps facilitate the cross functional working and enables the teams to communicate better. That cycle provides a base for you to build upon.
Practice continuous feedback
It is important in DevOps to keep an open mind. This is another aspect of a growth mindset. With an open mind you are able to learn from everything you do, both positive and negative, adapt what you are doing and make the next iteration better.
That process of taking your learnings from one iteration to the next is known as continuous feedback. It is something you can think of as a cornerstone of a strong DevOps culture. That ability to openly discuss as a team, what went well, what did not go well and what you will do differently in the future demonstrates a high level of maturity. Lots of teams struggle to shift to that open mindset.
In day 4 of the 100 Days of DevOps series, we are looking at the Challenges of Building DevOps Culture.