Pick an article, any article titled, “What is DevOps?” There are plenty out there. Shawn Powers did a webinar a couple years ago. Just this week, we looked at a DevOps team, the difference between DevOps and ITIL, and Ben Finkel hosted a webinar explaining how to boost your career with DevOps.
What’s the first thing you notice? Culture. Some posts dismiss the cultural element in favor of tools like Puppet, Chef, or Saltstack. Others gloss over culture as a foregone conclusion, something ingrained in the DNA of DevOps, but don’t define the culture itself — and reasonably so.
DevOps Tools Aren’t Enough
Culture is notoriously difficult to define. You could consult the dictionary for the definition, but it’s not going to help you define an individual culture. Culture is the lived experience of the people programmed by their environment (or who program their environment, depending on who you ask).
It might even be a different universe of cultural norms.
When you travel to another country or maybe even a different part of the country, you might experience the disorientation of culture shock. What’s that all about? For many people, culture is just the way things are. When you’re in your own culture you don’t think about the rules or values associated with your actions. Culture shock makes you think about them, and it happens because your internal rules, values, or familiar conventions don’t sync with your surroundings. With time you’ll adjust as you live that cultural experience. Just learning the rules before you go might not be enough.
How does this translate to DevOps culture? In the same way that learning the rules isn’t enough to blend into another culture, simply using DevOps tools isn’t enough to implement a DevOps culture.
DevOps and its Roots in Manufacturing
If you want to learn more about the culture of DevOps, you might want to look at its roots in the world of manufacturing.
Back at the turn of the century, Henry Ford rocked the business world not so much with a revolutionary product, but a revolutionary manufacturing process — the assembly line. He wasn’t the first to invent either. He made them better. A little later, Frederick Taylor built upon that process, introducing advanced measurements into the process to improve efficiency.
The tradition continued in the popular Six Sigma management model in the 1980s. (For you watchers of 30 Rock, yes, Six Sigma is a real thing, but its tenants are not “teamwork, insight, brutality, male enhancement, hand-shakefulness, and play hard.”)
In the 1990s, the Lean Manufacturing process developed at Toyota became today’s manufacturing industry standard.
Those management philosophies still work because they permeate every element in their process, down to the individual workers’ movements, and even the organizational structure. When a set of rules and values factor that deeply into the lived experience of an organization, then it’s called culture, and you can see it in what managers expect from DevOps teams.
So, how does that translate to DevOps?
When you think of DevOps, think of an assembly line.
The DevOps Assembly Line
The DevOps culture starts and ends with speedily and efficiently deploying code, drawing from a long line of management processes born in the manufacturing industry. DevOps ensures that every component works together flawlessly to meet an often-accelerated deployment schedule.
It’s right there in DevOps’ operational tenants — Culture, Automation, Lean, Measurement, and Sharing.
We’ll get back to culture after looking at the next three letters of the CALMS acronym.
You might be thinking right now that Developers and Operations folks aren’t making mass-produced products. And you’re right. As a developer or IT professional, you’re not putting wheels on a new car every day. You are writing code, spinning up and configuring servers, doing maintenance, and all the other thousand things you do in a week. But here’s where you’re wrong: Though a manufacturing line might largely be automated, there are certain places that still require a human touch.
Lean manufacturing optimizes a workflow by introducing automation where machines best fit, and humans where they best fit. Sound familiar?
The DevOps pipeline is an assembly line that automates the things that software does well, and keeps humans in the places where they do well. With a mind toward the efficiency and speed, the hands-off tasks are automated, but much of the work in between is not.
Here’s where culture fits into the “S” of CALMS. Sharing might be at the end of the acronym, but it’s an important human element in the DevOps assembly line. The things that humans do well in a DevOps team typically require teams of humans working collaboratively. Collaboration and sharing are the strongest evidence of a successful cultural shift toward breaking down the silos and ensuring everyone is driven by the same team rules and values.
Look at it this way. DevOps tools — Puppet, Chef, or Saltstack — represent the conveyor belts of the assembly line. DevOps culture dictates how the team uses those tools and work with one another.
By bringing the people — developers and operations — into the same workflow, DevOps both physically and ideologically instills both sides with the values of the larger philosophy, strengthening each other’s weaknesses.
That’s what everyone means when they talk about DevOps culture.
NOTE: Gene Kim’s business novel The Phoenix Project goes much more in depth into this comparison of DevOps and manufacturing processes, including a narrative explanation of his Three Ways.
Not a subscriber? Start your free week today.
CBT Nuggets has everything you need to learn new IT skills and advance your career — unlimited video training and practice exams, virtual labs, validated learning with in-video quizzes, accountability coaching, and access to our exclusive community of professionals.
Learn more about the CBT Nuggets Learning Experience.