DEV Community

loading...
Cover image for The DevOps circle of life

The DevOps circle of life

Raoul Meyer
I like to solve problems at scale. And Rubik's cubes.
・2 min read

DevOps is about everyone involved in developing a system sharing the same goal. That goal can be as vague as winning in the market or making customers happy. With this goal, decision making becomes easier.

More often than necessary, teams make decisions based on how it will affect them, disregarding the bigger picture. Although it's often hard to measure, this unproductive behavior costs a lot of time. Time that could be spent on your business goals. DevOps is all about reducing the amount of finger pointing and told-you-so's.

The easiest way to make sure a team takes the bigger picture into account for decisions, is by making the team responsible for the bigger picture of their system. As long as responsibility is shared among teams, you risk those teams forming their own slightly different goals, which will generate frustration and suboptimal decisions.

The hard thing is that you need to be able to get a good overview of the impact of your decisions on the bigger picture. That means everyone should have knowledge or easy access to knowledge about many aspects of their systems. In many cases, it requires a team to have more skills than a single person can even have. There are real challenges in composing and sustaining a team with such diverse skills.

When your team is composed of people with diverse skills, this brings other benefits. There's less coordination with other teams necessary. Not having to wait for another team to start thinking about something is an amazing feeling. With all these skills combined in a team, it becomes easier to transfer knowledge and spread the workload where necessary.

In a lot of organisations there is a tension between development and operations. Development releases new features that operations has to make sure keeps working together with what's already there. It is tempting to optimize for rate of change on the one side and stability on the other side. When one team is responsible for both adding new things and maintaining existing things, a very helpful feedback loop forms. When the system is stable, the team has more time to add features. On the other hand, adding features too fast will directly impact the team's ability to maintain the stability of their system.

It's this circle of life that makes sure you're optimizing for the bigger picture. What is the main goal of your company? Do you feel that your day to day decisions align with this goal?

Discussion (2)

Collapse
david_j_eddy profile image
David J Eddy

Thank you for the article Raoul! You really understand what DevOps is. It is refreshing to see and read.

Collapse
raoulmeyer profile image
Raoul Meyer Author

Thanks for the kind words, it really does a lot. Glad you liked it!