This is the final piece of a three-part series introducing the Principles and Value of DevOps. I am excited and relieved that after 15 years of trying to discover, learn, apply, and teach these practices, that we have matured so that it’s clear:
- what principles we should apply
- how to guide the application of those principles objectively
- how achieving those objectives creates value and improves organizational performance
Backed by Science!
I feel like technologists have just discovered that using fire to cook food kills bacteria and viruses that cause sickness. Now we can apply the knowledge to deliver great systems, quickly.
Let’s get cooking
The cuisines of the world show we can cook food in many different ways with great tasting and safe results. There are some parallels to delivering technology services using DevOps principles here.
What are you trying to make? Who’s making it? What ingredients do you have?
The context you operate in is going to determine your journey, particularly where you’re starting from, but the internal objectives are the same. Create delivery processes that enable:
- High deployment frequency
- Low lead time for changes
- Low change failure rate
- Low time to restore service
Staffing your kitchen
Did you know that the highest profile organizations at the forefront of DevOps with elite performance vary on fundamentals like organizational structure?
One way to think of this is that different kinds of restaurants have different staff, kitchen, and equipment. McDonald’s is different from your local Thai place, which is different from the fanciest restaurant in town. They will have different numbers of front line, preparation, and cleaning staff. Interestingly, when I look at the key aspects of high performing software delivery, I see things that work well for restaurants too. Restaurants need value to flow to customers quickly and safely, as well.
Matthew Skelton’s excellent DevOps Topologies site documents the common organizational patterns and anti-patterns technology organizations use when adopting DevOps. The most popular patterns are:
Elite performers like Google and Netflix create great outcomes with vastly different organizational models, SRE and “Full Stack,” respectively. We’ll dig into those differences another time (spoiler alert: their tooling reflects the differences in organizational structure). However, the reason they achieve those outcomes is that they have committed to continuous learning and improvement that created high performing software delivery processes.
What I’d like you to takeaway is that we’ve reached the stage where we understand enough about software delivery that we can intentionally create delivery processes and organizations that deliver value predictably and that capability predictably results in happy customers.
p.s. heading to lunch 😉
Receive #NoDrama articles in your inbox whenever they are published. Reply to Stephen and the QualiMente team when you want to dig deeper into a topic.