There’s a lot of talk these days about DevOps culture. But what is it, really? And why does it matter? In this blog post, we’ll explore the human side of DevOps and discuss why culture is so important in achieving success.
DevOps is an attitude, culture, and way of working that helps improve quality and speed of software delivery. The DevOps Practices often overshadow the human side of devops. Culture gets overlooked but is just as essential to enable the right outcomes.
Blamelessness encourages DevOps teams to think of problems as challenges, not failures. DevOps teams should be encouraged to embrace failure as part of the learning process and celebrate successes and improvements together. This doesn’t mean there is a free-for-all in production, and failure is inevitable. It is possible to insulate production from experimental practices. However, there should not be a burden of failure shrouding the engineering teams.
DevOps culture also emphasizes empathy - DevOps teams must understand their customer’s needs. This one is overpowered, and any DevOps engineer that looks at their software development teams as their customer will do well. You want the developers to have a productive developer experience, and you want them to be able to provide feedback when things go well and when they don’t.
The different teams within your organisation should be expected to collaborate; it is the rule, not the exception. Ideally, collaboration is through managed processes like shared planning, shared daily rituals and even pair programming. However, this can even go as far as requiring teams to embed engineers in other teams for projects. The reduced time spent communicating can increase productivity.
At Servana we use Agile Kanban and Pair Programming to ensure we maintain high levels of collaboration on projects.
Tools like Slack, Teams, and Mattermost improve communication drastically. Adding notifications to pipelines and integrating those with these tools also helps to keep everyone aware of what’s happening. The different teams within your organisation should be expected to communicate; it is the rule, not the exception. Getting all the teams participating in daily rituals can help to improve communciation. Many of the practices that are common in Agile Projects are good for improving communication.
Communication is essential because it ensures that the different teams are aware of any progress and can assist if a colleague is blocked. In organisations where you don’t have proximity to a team, and all communication happens through a single channel, communication can feel remote. With more employees working from home, the feeling that someone is remote can be frustrating.
At Servana, we have a standup every morning to discuss our plans for the day. If someone can’t make standup they post it to slack using a template we created.
- How did your day go yesterday?
- What is the most important thing to do today?
- Do you have any issues that need to be escalated?
- Do you need anything from anyone?
We use pair programming to further improve communication.
DevOps culture is an ever-evolving concept, and it’s up to DevOps teams to define their own unique cultures based on blamelessness, empathy, collaboration and communication principles.
At Servana, we strive to ensure that DevOps culture is at the heart of our software engineering teams so that they have a solid foundation to create innovative and successful DevOps initiatives. DevOps culture is essential to our success, and we cannot overestimate its importance.
In summary, DevOps culture is critical for DevOps teams to achieve the right outcomes. DevOps teams can foster environments that ensure DevOps initiatives are successful by focusing on blamelessness, empathy, collaboration, and communication principles. At Servana, we invest in DevOps culture to ensure our DevOps teams can create innovative solutions that deliver value for our customers.