twixx - Fotolia
We're living in a post-Agile world. What does that mean for DevOps culture? How can DevOps advocates ensure that the DevOps philosophy does not become the subject of scorn in the same way that the Agile concept has?
The coming of the post-Agile Age
The Agile philosophy of software development was famously codified in 2001 with the "Agile Manifesto." A generation of software developers and designers and system admins were weaned on Agile principles.
Yet, in recent years, the Agile philosophy has fallen out of favor. There is now a post-Agile manifesto, among other critiques of the Agile concept.
In general, criticism of the Agile concept centers on the idea that the Agile philosophy is too dogmatic. Few people doubt the value of being Agile; instead, they reject what they see as a tendency of the Agile movement to force rigid tools or processes upon software developers. Those tools and processes are imposed in an attempt to improve agility, but in reality, they constrict freedom and independence.
A postmodern analogy
Let me draw a somewhat highfalutin analogy here. In a sense, the post-Agile movement sounds a lot like postmodern philosophy and literary theory. Postmodernists love to hate on the Enlightenment, which they see as having imposed a rigid set of ideas and moral values upon western societies in a misguided attempt to liberalize them.
Postmodernists don't generally have a problem with the philosophical ideas of the Enlightenment itself. They just think Enlightenment philosophy has been applied in an overly dogmatic way -- just as the post-Agile crowd thinks about the Agile concept of software development.
So, when thinking about the post-Agile movement, it's important to understand that it's not a rejection of Agile ideas themselves. It's instead a reaction to the perception that the Agile concept is applied too strictly in many organizations, and, therefore, undercuts its own mission.
Lessons for the DevOps evangelist
I'm not here to debate whether the post-Agile folks are right. Instead, I'd like to consider what the post-Agile movement means for DevOps culture.
If nothing else, the DevOps evangelist can learn one key lesson from the post-Agile story: If you try to apply your approach to software development and deployment too aggressively or too rigidly, you'll alienate a lot of people. No matter how good your ideas are, humans -- and software engineers especially, I think, as they tend to be pretty strong-willed folks -- don't like being told that they have to do things in a certain way.
So, by all means, a DevOps evangelists shold sing the praises of implementing continuous delivery, eliminating silos, embracing microservices architectures and doing everything else that has become part and parcel of a DevOps-centric organization.
But they should not suggest that DevOps is the only way to deliver software in every organization. They should instead appreciate and admit that some aspects of DevOps are not a good fit for some groups.
Making the Agile model current again
Hand-wringing over Agile's status continued at this year's Agile2017 in Orlando, Fla. Some see the original message as diluted and eclipsed. It's time to think of making Agile your own, instead of doing it "the right way."
They must admit that there are valid criticisms of continuous delivery and of microservices. They should recognize that you can't always break down every silo within your organization -- and that trying to destroy silos in an overly dogmatic way can lead to disorganization and chaos, because it eliminates the role boundaries that help define how people work.
There is already talk of a post-DevOps world -- but not nearly as much discussion as there is of the post-Agile world. There is still time to save DevOps from the disdain that the Agile philosophy now faces in some quarters. The key to doing this is to make sure that the DevOps evangelist does not impose his or her views too intensely on others. Explain why DevOps is valuable, but empower people ultimately to make their own choices.
What makes a great DevOps engineer?
With DevOps, the cloud conventional wisdom can be wrong
Perhaps DevOps isn't the holy grail after all