Here's what's interesting... of all the people screaming about how much they hate "Agile", pretty much none of them are proposing any alternative. And if they did propose an alternative, how much you do you want to bet that it would look an awful lot like ... wait for it ... the Agile Manifesto?
It's been said before, even in this thread, but "Agile" as it's practiced today is not the "agile" of the Agile Manifesto. The problem is ignorant managers and consultants who don't actually know anything about how software is developed, want a buzzword to slap on to what they're doing to CYA, and will do stupid shit no matter what it winds up being called.
The problem is that the "agile" of the Agile Manifesto is underspecified to the point of uselessness. I'll quote the Manifesto in full:
We are uncovering better ways of developing software by doing it
and helping others do it. Through this work, we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value
the items on the left more.
That's it. That's all the manifesto gives us. In a real sense, any methodology at all is "not agile", since agile values individuals and interactions over processes and tools. But while that might work for a small team, it's a recipe for disaster in any kind of larger organization.
Right. which is why I argue that it is important to quit referring to "Capital 'A' Agile" as though it's an actual methodology in and of itself. Agile really just refers to a family of (loosely) related methodologies which purport to adhere to those principles to varying degrees, and where different methodologies make more sense in different settings. Collapsing all of this discussion under the umbrella of "Agile" elides the point that there actually are different approaches for different kinds of organizations, and different projects.
The entire category of ideas that agile occupies is utter bullshit, and the alternative to bullshit is just common sense. Hire good people, give clear instructions, and leave them alone. The problem with common sense is that you can't make six figures peddling it for a living.
It's the opposite of the Agile Manifesto. These are 3 practical steps to management that apply to any industry where you depend on workers with diverse skillsets, software included. I actually picked them up from "First, Break all the Rules," a general management guide. OTOH, the Agile Manifesto is collection of value judgments that are not only vague to the point of being incomprehensible but also completely ignored by all agile practitioners (i.e. evangelists, coaches, whatever you call them).
I viewed the Agile Manifesto as a sacred text of software development for most of my career. Eventually, I came to understand that this is not a sacred text but a golden calf. It's just a gentleman's agreement between consultants not to interfere with each other's snake oil. It's not a misunderstood document; it simply wasn't intended to be understood.
It's been said before, even in this thread, but "Agile" as it's practiced today is not the "agile" of the Agile Manifesto. The problem is ignorant managers and consultants who don't actually know anything about how software is developed, want a buzzword to slap on to what they're doing to CYA, and will do stupid shit no matter what it winds up being called.