Practicing DevOps consists of everyday individual and group habits, the technical tools alone can’t take the extra step successful adoption requires. Despite all of this, many times DevOps stakeholders have no clue what they’re doing which can make this shift hurt organizations’ business goals. Finding out what to do and the reason might be the difference between successful adoption and failure.
“I am a DevOps Engineer but most of the time I have no idea what I am doing” – posted a desperate DevOps engineer on Reddit in January. He was looking for answers if he’s in the wrong for not knowing what he must do every day. This anonymous engineer isn’t different from Bruce Wayne in a Batman suit with all his gadgets. Is Bruce even Batman if he doesn’t do Batman stuff with his equipment? Is this engineer a DevOps engineer if he doesn’t do DevOps stuff?
As a DevOps specialist it’s easy to get lost between the various responsibilities. After all, DevOps itself is a mixture of both cultural and technical aspects. It’s one of the challenges organizations and individuals need to overcome together. To make meaningful changes, both entities have to implement changes to the things they do every day. Starting from meetings to the way they manage problems.
In this blog post we separated everyday aspects of DevOps adoption on both organizational and individual levels. By combining these DevOps habits you increase your chances of successful adoption in the long run.
DevOps Habits for Engineers
Every organizational change begins with individual efforts. As an engineer, one can not only build but advocate for things, as well. Initially it’s the DevOps engineers who facilitate the technical tools that enable their teammates to work more efficiently in collaboration. This includes working on release management, containerization, maintaining CI/CD pipelines among other things. Besides them, here are other things engineers can do as a habit.
-
Listen – It’s hard to serve your teammates’ needs if you don’t understand their goals and problems. Walk a mile in your co-workers’ shoes to be able to help them in the long run. Once you understand your teammates and the problems they face every day, then you’re able to guide them to solve them faster.
Why is it important? This habit is critical due to the fact that there are many directions engineers can go but they can’t be certain how each of them will impact the teammates’ tasks. Talking to them can give engineers better insight not only on what problems to solve, but also how to do it.
-
Educate yourself – This shouldn’t be news to technical people: staying up to date on the latest tools and services is necessary to maintain the level of knowledge to remain able to maintain any DevOps venture. Read industrial news, attend virtual conferences, make connections and use the knowledge you gain for the better of your teammates.
Why is it important? The technology engineers use is always evolving, and the challenges keep on rising with them. Without understanding these changes, engineers risk failing their team, leaving it vulnerable and fragile in the long run. Besides these, virtual conferences are good occasions to make new connections engineers and their organizations can benefit from.
-
Be proactive – Proactivity might be the toughest nut to crack because there’s always new levels engineers can reach and requires constant effort. A proactive approach includes many things, including keeping future technical needs in mind, as well as recognizing pitfalls long before they occur to avoid them. This mindset alone can make engineers the engine of change within the organization.
Why is it important? This habit is crucial because sometimes even DevOps stakeholders are unaware of their technical needs and the results of serving those needs. Therefore, it’s usually the engineers who need to understand the technical concerns that emerge regarding DevOps stakeholder activity.
DevOps Habits for Teams
There are many practices organizations can implement to their everyday lives to increase their level of DevOps adoption. To do this, they must keep in mind that DevOps utilizes a high level of collaboration between the stakeholders of each project. There are several technical tools and services that support collaboration, but it doesn’t mean anything if the teammates don’t use them every day. Here are a couple habits organizations can encourage to encourage collaboration between departments.
-
Daily stand-ups – The easiest way to improve collaboration is to bring everybody into the same room. Nowadays there’s no excuse to not have daily stand-ups with remote teams either, in fact, it might make them more productive, as well as feel more important and involved in the daily operations. Stand-up meetings can be used to bring the people together, understand each other’s motivations in the project and give feedback on how their tasks in the pipeline might impact other departments’ work. It’s a substantial habit towards creating a common ground between departments to have one daily stand-up meeting for them.
Why is it important? For two reasons: one, it’s a lot easier to create a bond between teammates that spend time together. And on the other hand, it’s a lot simpler to coordinate the work of different departments working on the same project in person than via Slack, Microsoft Teams or Discord, etc.
-
Redefine success – Accountability is a tricky matter of DevOps. Since the methodology brings completely different departments with naturally conflicting approaches, it’d be hard to find mutually important definitions of success. It’s useful to redefine success that includes both developmental and operational effort. This also requires the organization to shift the blame from individual responsibilities to group responsibilities.
Why is it important? DevOps brings together departments responsible for development and operations. They use different metrics to measure their efficiency, but those numbers probably don’t reflect how their work impacted the users directly and indirectly. After all, one of the key aspects of DevOps is to maintain customer satisfaction.
-
Implement measurements into workflows – If something isn’t measured it can’t be improved. DevOps automations are one of the most useful ways to extend measurements into everyday processes. Measuring efficiency is the first thing organizations can do to improve their automations and evaluate how the departments can complete their tasks more efficiently.
Why is it important? The rules of DevOps aren’t written in the stone, they can be tailored to each organization’s needs. A good way to find out how to tweak the methodology to your team is to measure the performance of processes and tools to increase efficiency.
Summary
The first step of DevOps adoption is practicing DevOps things – just like Bruce Wayne doing hero stuff to eventually become Batman. Adopting DevOps consists of everyday habits, including the ones outlined above. The habits and adjustments mentioned can help you make meaningful changes that leave a lasting impact on your organization if you keep doing them constantly. These practices don’t bring results individually but combining them can bring your organization to the next level.
This blogpost was written by the team of dyrector.io. dyrector.io is an open-source continuous delivery & deployment platform with version management.
Find the project on GitHub.