Search
Close this search box.

DevOps Disambiguation

DevOps is many things

Being at the top of the hype-cycle, thereโ€™s lots of stuff being written about DevOps versus various standards, frameworks and religions. Most of it isnโ€™t really helpful because the author isnโ€™t clear about what he or she means by โ€œDevOpsโ€. Is it a bird? Is it a plane? Well, yes โ€“ DevOps is many things, you just have to be clear about which part of DevOps you want to compare with ITILยฎ, IT4ITTM etc. So letโ€™s disambiguate DevOps.

Many of the inaugural illuminati behind DevOps have been notoriously reluctant to define the beast, probably from a genuine concern that by defining it, theyโ€™d kill something that is still emerging1). On the other hand, those later-but-still-early adopters who do not intuitively feel what DevOps is, are really struggling to understand it and get value out of it. So there is a valid need to codify it, while at the same time not ossifying it.

Cultural norms, technical practices and architecture

Letโ€™s take a look at definition by one of DevOpsโ€™ mover and shakers, Gene Kim. In an interview with Aprill Allen2), Gene defined DevOps as โ€œthe set of cultural norms and technical practices that enable organizations to have a fast flow of work from development through test and deployment, while preserving world-class reliability, availability, and security.โ€ More recently, Gene added โ€œarchitectureโ€ to the set. So DevOps comprises cultural norms, technical practices and architecture. This is the first question to ask when somebody mentions DevOps: are you talking about cultural norms and/or technical practices and/or architecture?

Differing scopes

Why is this relevant? Because, for instance, when we take a deeper look at cultural norms and technical practices, we see that they have differing scopes. Cultural norms3), such as respect, trust and a โ€˜no victimsโ€™ attitude, are applicable to all aspects of IT, business, or life in general for that matter. On the other hand, most of DevOpsโ€™ technical practices are more limited in their application. Technical practices can be grouped into practices that improve (1) flow, (2) feedback, (3) continual learning and experimentation, and (4) integrating information security, change management and compliance4). A minority of practices โ€“ such as for continual experimentation and learning โ€“ are applicable throughout the whole IT value stream and beyond. But most of the practices are related to specific IT value streams. Take the flow-related practices. Most of the practices in this domain seem to start with โ€œcontinuousโ€:

  • Continuous integration: frequently synchronize developer’s working copies with a shared mainline5)
  • Continuous testing: automatically test to obtain immediate feedback on risks6)
  • Continuous delivery: the ability to always put a product into production5)
  • Continuous deployment: automatically deploy into production whenever product passes QA5)

We are still not there

But weโ€™re not there yet. Even within a seemingly obvious term like โ€œdeploymentโ€ there is room for confusion, witness a lively discussion on Rob Englandโ€™s IT Skeptic blog7). Traditionally, deployment has been associated with software: โ€œa new release is deployed to the production environment.โ€ Whatโ€™s wrong with that? Well, nothing except that in a progressive DevOps setting, the new software has been live in the production environment long before users get to actually use it. Feature flags and user profile configurations are used to provide access. Some people refer to this โ€˜service request fulfilmentโ€™ as deployment as well, so when somebody says โ€œdeploymentโ€ it would be very helpful to state what is being deployed. Is it about application software deployment or application service deployment?

So if you want to debunk some of the nonsense that is being bandied about, drill down until you discover meaningful verbs and objects. The crisper and more countable the verb, the better the disambiguation.

References:

Summary:

DevOps Disambiguation

A definition by one of DevOpsโ€™ mover and shakers, Gene Kim. In an interview with Aprill Allen2), Gene defined DevOps as โ€œthe set of cultural norms and technical practices that enable organizations to have a fast flow of work from development through test and deployment, while preserving world-class reliability, availability, and security.โ€ More recently, Gene added โ€œarchitectureโ€ to the set. So DevOps comprises cultural norms, technical practices and architecture. This is the first question to ask when somebody mentions DevOps: are you talking about cultural norms and/or technical practices and/or architecture?

TAGS :
SHARE :
Can Low-Code/No-Code Replace Developers?
continuous delivery
Reduce Costs with Devops

Explore our topics