Have you heard of DevOps? I bet there is a great many of you that haven’t. If you aren’t familiar with the concept, then you need to be. DevOps is transforming the entire software space, affecting the UX and tech writing disciplines as well. There is a lot of bloviating blog blah-blah written about it, so in this post I’ll try to explain it as clearly as possible.
DevOps blends the words “development” and “operations.” It is a term used to describe a popular software engineering methodology. DevOps began in the mid-2000’s with enterprise software system administrators, obsessing over quality and speed, adopting Agile (I assume you know what that is) while cloud computing made its debut. The concept evolved in 2008, when O’Reilly Media hosted its first Velocity Conference on web operations and performance. The following year, developers Patrick Debois and Clay Shafer – the Daft Punk of DevOps – coined the term and hold the first of many DevOpsDays conferences. Like Objectivist philosophy, the concept was popularized when Greg Kim (think Ayn Rand) wrote “The Phoenix Project” (think “The Fountainhead”) in 2013. DevOps is now officially a thing, adopted by tech giants such as Amazon and Google and all sorts of companies doing cloud computing – which nowadays means practically everybody.
But what exactly is DevOps? It’s a methodology combining both an approach to software engineering problems and a set of practices and tools. It centers mostly around cloud computing and open-source software. It combines both practical recommendations with the most esoteric philosophical speculations. Its premise: The fundamental flaw in many companies is that the developers and operations engineers are separate teams, working inefficiently, causing friction and failure. Combine the the teams, focus on efficiencies and voila – software and business perfection.
DevOps has several basic practices – I’ll give a basic explanation of each, plus an example of a tool from that practice in parenthesis.
Continuous Integration/Continuous Delivery, abbreviated CI/CD: The team working in unison, constantly uploading, integrating and delivering code. Imagine tossing pails of cool refreshing water into a mighty stream. (Jenkins)
Microservices: A term meaning code should be written in small, functional and automatous chunks. (Lego)
Automation: Remove the human from the loop and let the system do it faster, better, cheaper (Selenium)
Optimization: I am using this as a catch-all term to describe concepts like
- Infrastructure as code (IaC) – The managing of data centers through definitions as opposed to physical hardware configuration. (Ansible)
- Containerization – Running software applications on virtual partitions (Docker),
- Orchestration I.e automating containers (Kubernetes)
- Configuration management – Automatically manage compliance requirements (Chef)
Measurement – Using tools to constantly monitor software performance (New Relic)
So why adopt DevOps? Practitioners often talk about its core values CAMS (Culture, Automation, Measurement and Sharing), but I’d describe it as a developer’s Promised Land of Immediacy, Vastness, Scalability, Automation, Reliability, and Camaraderie…(IVSARC?). Imagine being able to work on a super cool software project, completely automated and with no effort! With a billion lines of code, a billion times faster and a billion times higher quality, with your besties – I’m getting all flushed- I need to sit down!
If DevOps were an art movement, it would be Futurism – the early 20th century Russo-Italian worldview obsessed with technology, machines, speed, movement, modernity, scale, and transformation. Screw the Renaissance, let’s have a four-stroke engine.
So what does this have to do with UX and tech writing? Even back in 2015, Kai Brunner was asking Wired Magazine article, Is DevOps Driving the Future of UX Design? Well if it is, then let’s call it DesignOps – oh wait, that’t the name of a Rosenfeld Media conference dedicated to how to “create design capacity” and automate UX workflow and tools. InVision has published a DesignOps handbook. Articles are popping up on Medium and TechBeacon about UxOps. Looks like we know a good tech bandwagon to hop on when we see one.
But it’s not all Kubernetes and roses. DevOps has some issues – (its penchant for grandiosity and tech mysticism is not the least of them), it’s a methodology designed by developers for developers. When you’re releasing new features every 15 minutes, customers can’t mentally keep up. They get exhausted. But in the DevOps worldview, customer preference, or mental exhaustion, maybe isn’t the highest priority.
Stop talking about Agile – you sound like someone gushing about Adele winning a grammy. Yes, you know the chicken-pig Scrum joke, but when an engineer mentions, “cattle not pets,” do you get it? As Ella Fitzgerald might croon, it’s very clear, DevOps is here to stay.