Alex Chiri's Blog

I dreamed about DevOps

DISCLAIMER: This is not another "DevOps is dead" post

I dreamed about companies who embraced the DevOps mentality and principles in their own way, adapted to their own context.

These companies did not have DevOps engineers working in DevOps teams in DevOps departments. They also did not have twisted representations of Ops teams hidden under other roles. No, there would only be engineers of different specialties, working together in different teams in several departments. None have DevOps in their titles, but they all know what it is all about.

Each team owned a slice of a product (internal or external) that they took care of end-to-end, including operations. That doesn't mean they were isolated. They had dependencies on other teams, products and services.

As the companies grew, supporting teams were created to take ownership of common concerns. These platform teams created products that abstracted most of the burden of the common concerns, while allowing product teams to be in full control of managing their slice of product. Product teams no longer did operations, deployments and others from scratch, but they made use of platforms that standardized and fulfilled these needs, while maintaining the product teams independence as much as possible. The ownership boundary was very clear, the last thing they wanted is to have an incident and not know who should be called to respond to it. Product team? Platform team? Both? It's impossible for platform teams to be the first point of contact for all incidents.

All of this impacted Mean Time To Recovery (MTTR), which in my dream it is a metric teams keep a close eye on . They knew it is not as important to ship bug-free code to production, as is how fast you show up to fix problems in production. This doesn't mean they were sloppy on writing, testing, building, shipping code, but that they were maintaining a healthy balance between investing in writing the perfect code and making sure they have a top-notch incident response strategy.

Actually, all elements in software development mattered, but none is more important than the end goal: to build great products. It's easy for some teams to take their mission to absurd and it's quite hard to find the right balance in context. But the latter is exactly what the companies managed to juggle with in my dream. It is not a competition to ship the best slice, it is a never-ending marathon to keep shipping the best product.

And this is connected to another aspect from my dream: the company culture was to build in public, with goods and bads. There was no place for silos, public interest communication happening behind private messages and back doors. Almost all communication was done in public internal forums, where everyone could contribute or just read and move on to other things. They also set up things in such a way that it was easy to know where the right information can be found. These encouraged collaboration between teams and facilitated open discussions about everything. Again, balance was critical, owners took the decisions, but they chose to involve others and present their reasoning in public.

There were many other things I wanted to dream about, but I had to wake up and start my day. What a dream! I wish it will someday come true! 😊