Our industry is not short on great ideas. Agile, TDD, CI/CD, Lean, XP, Pair programming, DevOps are all great ideas.
At the same time, there’s a pattern of failure to adopt these ideas, that we have seen repeatedly. It happened with Agile, is happening now with Lean, and I’m afraid it will happen to DevOps as well. Here’s what it looks like:
Phase 1: New idea X comes up
*where X can be Agile, Lean, DevOps, #NoEstimates, Continuous Integration, etc.
A core group of people gets it, because it solves a real problem they were actively wrangling with.
They blog about it, talk about it, evangelize the idea.
Phase 2: Viral Adoption
The buzz catches on. More and more people want to know about X, try it in their organizations.
In response, a marketplace of experts grows. Books, certifications, organizations, user groups, conferences pop up.
Phase 3: “You’re doing it wrong!”
As concept hits reality, the promised results fail to arrive. The X-industrial complex wants to tell you all the ways you’re doing it wrong.
“Agile: you’re doing it wrong!”
“DevOps: you’re doing it wrong!”
“Lean: you’re doing it wrong!”
Even the book I’m currently reading, Practical Monitoring, has “Monitoring Anti-patterns” as Chapter 1. Which is a way of saying “Monitoring: you’re doing it wrong!”
Some well-meaning people, being pragmatists, try to make X meet reality. That’s how we end up with water-Scrum-fall, ScrumBan, Lean-Agile, SAFe, and its ilk. The intentions are good, and they’re trying to solve a real problem, but the fundamental issue remains that X is difficult to adopt in its original way.
Phase 4: “Don’t do X, be X”
Eventually the consensus emerges that X is not about doing a thing, but about grokking a philosophy.
Here’s the thing: they are right! Completely!
And yet, most of the world still fails to adopt idea X in its original intent.
Phase 5: Death and Rebirth
But hey, here’s new idea Y! (or more like X++)
Lather, rinse, repeat.
In the next post I’ll go into why this repetitive pattern exists, and what we can do about it.
Postscript: A few hours after writing this post, I recalled that Martin Fowler’s term Semantic Diffusion fits this process perfectly. So I went back to read that article, and… he pretty much laid out this whole process in a much better way, and with a much more hopeful message. Leaving this here because it was a good writing exercise and to remind me that most of my ideas aren’t new or unique :)