DevOps

What is DevOps?

McDonald's drive-through restaurant at dusk with "What is DevOps?" text overlay

I have always wondered what would be the best way to explain DevOps in non-technical terms. An example keeps coming to my mind, and that is of a drive-through restaurant.

What makes drive-through joints so efficient? I want to think it is DevOps. Let’s see how.

People

Have you noticed the staff of drive-through restaurants can seamlessly switch roles? One moment someone is doing the fries, and the next moment the same person is managing the register or the grill. So even though they probably have specialised skills for a specific role at the drive-through, they can easily switch roles. Also, there are no silos or boundaries between various functions and teams.

An efficient and cross-functional team.

Black-and-white photo of fast-food kitchen staff working together at multiple stations

You would also notice that some of them are wearing headsets and are in constant touch with the status of the various pipelines. Any blockers are quickly brought to notice and swiftly resolved.

Communication and collaboration are built into the system.

Also, there is no manual handover across the different stations. Instead, each order and its customisations are displayed clearly on the overhead screen that is visible to everyone.

Information radiators are built into the system.

Person ordering at a drive-through window looking at a lit menu board from inside their car

The various components of the pipeline are built so that there is no need for manual handover after a stage is finished.

Transparency and clarity are not an outcome of intent. They are built into the system.

Tools

Everything used in the kitchen - from the tools used at the various stations to the ingredients, the packaging, and their placement - are all built for efficiency. You can place your order and pay at the kiosks, and it is not a manual process. There is built-in automation, and it adds to an efficient process.

Tools that are purpose-built for efficiency.

Japanese chef using a blowtorch to finish a dish at a food stall - the right tool for the job

Processes

And all these various components are tied together in a well-oiled process that has evolved and gone through numerous iterations to arrive at a fast, efficient, error-free, repetitive, and reliable version.

A process that is built to deliver value to customers every time.

Tattooed hands holding a fully assembled burger wrapped in paper - the end product delivered

Some argue, “I do not like drive-through food, and a gourmet restaurant can make much better food. So does DevOps mean a substandard product?” Absolutely not. Agreed that a specialised restaurant using supreme ingredients would make great food, but that will come at a cost - not only in money but also in time. Drive-through joints play in a particular product segment at a specific price point and try to excel at that. Comparing them to a gourmet restaurant would probably not be fair. I want to argue that if the ingredients are significantly upgraded and applied to the same process of a drive-through, the output would probably be the same as a gourmet restaurant, if not better - albeit at a much higher cost.

Now let’s refer to the definition of DevOps that we arrived at in my previous post:

DevOps is the amalgamation of people, tools, and processes primarily focused on automating the software delivery process. DevOps helps you deliver your software in an error-free, secure, reliable, and repeatable way in the shortest possible time with the least amount of human intervention.

We can see how DevOps principles apply not only to the technology industry but to any field involving people, tools, and processes to deliver business value.

Topics
DevOpsEngineering Culture