Not a lot of companies do Agile well. I know some very smart people who think Agile is an utter hoax — a gimmick, used to make buckets of money by selling snake oil to gullible organizations that are just struggling to stay relevant. I don’t think it’s because Agile hasn’t been effectively evangelized. I certainly don’t think it’s because there is some fatal flaw with Agile methodologies that makes them abstruse or impractical. I think it’s because switching to Agile is painful, and people are opposed to pain.
Agile is painful because it affects your entire product development organization, not just one group — which means you can’t reasonably replace the ones who don’t “get” Agile with the ones who do. You would be starting over. Hell, you’re basically doing that anyway. If everyone’s productivity and comfortability in their roles instantly evaporates, and panic ensues, you’re not ready for Agile. If Product Owners throw temper tantrums and paper weights, and Engineers crumble under the pressure of iterative development, you’re not ready for Agile. If BAs laugh with cynicism and frustration at the notion of things like Minimum Viable Product, and QAs make PowerPoint presentations about why it’s unreasonable to expect any sort of quality or automation from “this so-called in-cycle testing thing”, listen to me! You. Are. Not. Ready. For. Agile. At best, you will end up being mostly Agile, which is to say not at all.
Short of hiring experienced (and deeply-concerned) consulting firms, these types of organizations will falter and fail in their attempts to succeed in implementing Agile, and it’s because they haven’t really read the fine print. They’ve been blinded by the allure of all that Agile practices give you, but they skimmed over the part where it talks about what a monstrous investment the switch will be. In fact, short of going out of business, switching to Agile is the largest and most disruptive type of change I’ve ever witnessed to happen to a company: even more so than an acquisition. It’s intensely painful, but these pains are always temporary for an organization. To the ones that give up and ultimately abandon Agile, they’ll be remembered as being paralyzing and insurmountable — a supposed testament to the impracticality of Agile principles. But to the ones that push through — well, they were merely growing pains.