Four guiding principles of healthy DevOps culture
Tags: devops, culture, management
Published: 2024-03-02 06:21:20

This article will walk you through the four principles of a healthy DevOps culture. Following these principles you will enable a faster, more efficient organization, resulting in happier users and developers.

## Users have become the biggest decision makers

As digitalization has reached maturity, the tech giants have shown that happy users are the most important asset of a successful company.

Users have grown used to easy-to-use services and everything being accessible through their fingertips. Most importantly, users have learned to demand better services.

Organizations that produce suboptimal services or clunky user experience are doomed to fail in the long term. If you are not able to collect feedback from your users, and act upon that information, you will not survive.

The same applies to your employees as well. Your developers are users of your internal services, and they are directly exposed to the culture you present them.

## AI enables prototyping with users

Both research and experience have shown that Generative AI enables us to develop services much faster than before. What's most important, with the help of AI you can pilot new services with your users much faster.

[GitHub Copilot makes developers 55% faster](https://github.blog/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/)

Did you know that with the help of AI regular high school students are able to build services that we use daily: todo, calendar, chat, or even streaming. It takes less than an hour to build and deploy a version of such an application.

This power is at the hands of big organizations as well. Most of them just are not ready for it. It needs changes in the organizational structure and processes. **Effective development using AI requires a healthy DevOps culture.**

## DevOps ensures speed and quality

DevOps at its best works as the guiding principle through the organization. Even while it originally talks about developers and operations, without the business, QA, and especially management, DevOps would never reach its full potential.

**The purpose of DevOps is to connect the people in the organization to best serve their users and customers.**

In order to do that there are four guiding principles you need to follow in your organization:

* Culture of experimentation (Generative Organization)
* Team-level decision power (Team Topologies)
* Extracting the cognitive load (Platform Engineering)
* Robust automation and quality assurance (DevOps Safety Net) 

## Principle 1: Culture of experimentation guides your organization into the right direction

Ron Westrum defined organizational typologies almost 40 years ago. He discovered that organizations having a high level of cooperation, sharing risks and understanding failures, also have a higher information flow through the organization.

The key principle in DevOps is to enable experimentation, and learning from failures. This encourages communication and accelerates the information flow within your organization. It does not matter how automated your processes are if you have information handovers or siloed responsibilities.

[DORA State of DevOps 2018 introducing the organizational typologies](https://services.google.com/fh/files/misc/state-of-devops-2018.pdf)

## Principle 2: Team-level decision power serves your users quicker

Matthew Skelton and Manuel Pais introduced the concept of Team Topologies in 2019. The key is to enable self-organized teams with external or internal customers well defined. The teams provide their value as a service, enabling independent decision-making and responsibility of the service quality.

It is not enough to have external customer facing teams (stream aligned teams). You will additionally need teams that provide services for your internal customers: platform teams providing services such as toolchains, complicated subsystem teams taking care of very specific areas of your applications, and enabling teams mentoring all teams with common best practices or new processes introduced in your organization.

[Introduction to Team Topologies](https://teamtopologies.com/key-concepts)

[Me and Stephen Walters from GitLab discussing the Team Topologies](https://youtu.be/FPnW23EeEgM&t=304)

## Principle 3: Extracting the cognitive load makes your developers faster

Once you have enabled a continuous flow of information and team independence, it's time to make your developers faster. The best way to do that is to extract the burden of maintaining and configuring the tooling they use.

Modern term for this is Platform Engineering, and it follows the principles of a platform team in Team Topologies. You have to create an integrated and consolidated toolchain, which is provided for your developers as a service.

[GitLab research shows developers use only 25% of their time coding](https://about.gitlab.com/developer-survey/)

[Eficode's introduction to Platform Engineering](https://www.eficode.com/platform-engineering)

## Principle 4: Robust automation and quality assurance ensures a continuous flow through your value streams

The last piece of the puzzle is to make sure whatever you create, you have leveraged automation as much as possible. This includes test automation, infrastructure automation, deployment automation and automated security and compliance.

In addition to these areas you have to build recovery and rollback capabilities, which gives you the possibility to take more risks and give greated independence for your teams to deploy new versions.

The practice of automating everything, thus enabling fast deployment of services, is called DevOps Safety Net. Without it you will not be able to efficiently introduce AI-driven development in your organization.

If your organization works fluently you will already have these areas covered in your new innovations. However you have to build a strategy and invest into extending the automation to those legacy services where you want to introduce faster development flow or any AI-driven development.

## Key Takeaways

When implementing modern, healthy DevOps culture you need to make sure to implement the four following key principles in your organization:

* Culture of experimentation (Generative Organization)
* Team-level decision power (Team Topologies)
* Extracting the cognitive load (Platform Engineering)
* Robust automation and quality assurance (DevOps Safety Net)