Techniques for high-performing DevOps teams - Presentation
Video transcript
We utilized ChatGPT to enhance the grammar and syntax of the transcript.
Introduction: The importance of performance optimization
Hello everyone, and thank you for coming. I'm Bronislav, an engineering leader at Platform.sh (Upsun). I'm also an engineer, a father, a husband, and a waste reduction enthusiast, which is something that will be relevant in this presentation. Today, I'm going to talk about performance optimization and the strategies organizations can apply to optimize their processes.
Before we start, how many of you are managers? How many of you are engineers aspiring to become managers? And how many of you are DevOps professionals? Great, you're in the right place.
The story of Bruce McLaren: Building high-performance machines
Let’s begin with a story. This is Bruce McLaren, born in 1937 and passed away in 1970. He was a pioneer in racing sports and created some of the most advanced cars in history. Even after his death, his team continued to excel, winning eight Constructors' and 12 Drivers' Championships in Formula 1. McLaren's team knew a thing or two about building highly performant machines, but there’s a problem: these machines are absolute snowflakes.
The contrast with mass production: Toyota's success
What do I mean by that? Think about starting up a Formula 1 car. You don’t just turn a key; you connect the car to an external machine that heats the oil. Once the oil reaches the right temperature, it's pumped into the car, slowly lubricating and heating the engine. This process involves a team of technicians, powerful computers, and even an engine starting supervisor—a real profession in the world of Formula 1. Once everything is in place, they’re ready to start the engine. It’s a highly specialized and complex operation.
Now, compare that to the best-selling car in the world: the Toyota Corolla. Since its inception in the 1960s, over 50 million units have been sold. Toyota, as a producer, outperforms McLaren significantly, as do Ford, Volkswagen, and other mass-market car manufacturers. But why?
Eiji Toyoda and the Toyota Way: A model for success
Meet Eiji Toyoda, born in 1913 and lived for 100 years. He was a Japanese industrialist and chairman of Toyota. After World War II, he was invited by Americans to visit the Ford production facilities and learn about mass production. He returned to a struggling Toyota factory and implemented better processes, introducing what is known as the "Toyota Way." This methodology includes techniques like Kanban and Kaizen, which I'm going to focus on today.
Kaizen: Continuous improvement for lasting change
Kaizen, meaning "good change" or "improvement," is a methodology that emphasizes continuous, small improvements rather than large, revolutionary changes. The idea is simple: big changes disrupt production lines and processes, making everything more difficult. Instead, Kaizen promotes small, incremental steps that improve efficiency without causing major disruptions.
This process fosters familiarity, which allows for greater creativity within a stable environment. Additionally, it aims for automation because, as we know, automation is key. The Toyota Way is built on ten principles, all focused on making informed decisions, disrupting the status quo in small steps, and avoiding perfectionism. It's about reaching your goals slowly and steadily, fostering analytical thinking, and tapping into the collective knowledge of everyone in the organization.
The importance of reducing waste
The goal is to increase performance by reducing waste. What is waste? It's wasted time in unnecessary meetings, redundant work, or irrelevant tasks. In manufacturing, it could be wasted materials, while in IT, it's wasted electricity, CPU, RAM, storage, or bandwidth—all of which make hosting more expensive.
Measuring improvement: Key performance indicators
But how do we know we're actually improving performance? According to the State of DevOps report, deployment frequency and lead time to recover are key indicators. High-performing teams deploy as needed and recover from failures quickly—typically in less than an hour. The latest report also highlights that teams with high performance and high job satisfaction, coupled with low burnout, are "balanced teams" that use technology sustainably.
Building strong technical capabilities
To achieve high performance, teams need strong technical capabilities, lean processes, and a culture that makes people feel safe. Let's start with technical capabilities. Teams that employ modern technical skills and automate what can be automated perform better. Cutting ties with legacy technology is crucial. If you're running on unsupported runtime versions, application versions, or dependencies, you're slowing yourself down. Think about applying cloud-native design patterns, continuous integration, and delivery practices.
Immutable containers, though not universally loved, are important because they guarantee the integrity of your application once it's live. Designing an application to be antifragile—able to withstand failures and recover quickly—is also key.
The power of standardization
Next, reduce waste through standardization. This means having consistent operating systems, development standards, and processes across your organization. Standardization allows for automation, which is vital in DevOps. Infrastructure as code is a well-known concept that ensures your infrastructure is provisioned and managed consistently.
Your deployment to production should not be the first time your code is deployed in a production-like environment. You need to create a clone of your production environment for testing to ensure everything works as expected.
Lean processes: Focusing on value
Finally, let's talk about lean processes. Processes should focus on bringing value to customers. If something isn’t adding value, it’s waste. Cross-functional initiatives, where teams make decisions in their own micro-units without escalating to multiple layers of management, are an effective way to stay user-focused.
The State of DevOps report shows that teams with a strong user focus have 40% higher organizational performance. At Platform.sh, we introduced the concept of a product trio—product manager, product designer, and lead engineer—working together to bring new features to life.
The role of culture in high performance
In conclusion, culture is a key driver of employee well-being. Generative culture, as opposed to pathological or bureaucratic cultures, focuses on the mission of the organization and encourages collaboration. A focus on mission, supported by trust-based management, reduces burnout and enhances overall performance.
Conclusion: Collaboration as the key to success
High-performing teams aren't made up of individual stars; they're made up of constellations that work together. Thank you so much for your time.