Through our work with clients, we have identified the four principles of a healthy DevOps culture. Following these principles will enable you to become a faster, more efficient organization, resulting in engaged users and developers.
Users have become the biggest decision-makers
As digitalization has reached maturity, tech giants have shown that happy users are the most important assets of a successful company.
People have grown used to easy-to-use services and everything being accessible at their fingertips. Most importantly, users have learned to demand better services.
Organizations that produce suboptimal services or a 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. 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 faster than ever. What's most important is that with the help of AI, we can pilot these services with users much faster.
Most of the applications that high school students build as their introductory exercise are actual services we use daily: Todo, calendar, chat, or even streaming services. It takes less than an hour to build a deployed version of any of those.
This power is in the hands of big organizations as well; they are just not ready for it. It needs a change in the organizational structure and processes—it needs a healthy DevOps culture.
DevOps ensures speed and quality
DevOps, at its best, works as the guiding principle throughout the organization. Even while it originally talks about developers and operations, without the business, QA, and management in particular, 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: A culture of experimentation guides your organization in the right direction
Ron Westrum defined organizational typologies almost 40 years ago. He discovered that organizations with a high level of cooperation, sharing risks, and understanding failures also have a higher information flow throughout the organization.
The key principle in DevOps is to enable experimentation and learn 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.
Principle 2: Team-level decision-making 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 well-defined internal or external customers. The teams provide their value as a service, enabling independent decision-making and responsibility for the service quality.
It is not enough to have external customer-facing teams (stream-aligned teams). You will also 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 everyone with common best practices or new processes introduced in your organization.
Marko Klemetti, Eficode, and Stephen Walters, GitLab, discuss DevOps Trends and Team Topologies.
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.
The 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.
Principle 4: Robust automation and quality assurance ensure 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 gives more independence to your teams to deploy new versions.
The practice of automating everything, thus enabling the faster 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 still need to build a strategy and invest in extending the automation of your legacy services where you want to introduce a faster development flow or AI-driven development.
Key takeaways
When implementing a modern, healthy DevOps culture, you need to make sure to implement the following four 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)
Published: May 16, 2024