According to Manifesto for Agile Software Development, and the principles described on that site, I’ve been working in Agile (with a capital “A”) environments for several years. I may have deviated slightly in certain respects, but overall, I’ve done the Agile thing rather well.
But according to at least one or two of the people that wrote the manifesto, who shall remain nameless, and a few other practitioners of Agile Software Development, Agile seems to have a few more “rules” than are spelled out on the site. Rules that say that listening to users/customers is the only way to build something that works for them. Rules that say no one has authority over anyone else, that everyone is supposed to reach a consensus. Rules that say that if you’re not wholly embedded into the Agile team, you’re not Agile. (This also seems to make you less than human in some cases.)
Of course, I don’t buy any of it. If you’ve been reading this blog for a while, you know my reasons.
Finally, there’s an accepted perception that Agile is not the same as being agile (with a lowercase “a”). As in, trying to apply the dictionary definition of the term “agile” to Agile Software Development is to make an ass of yourself.
Of course, I know from experience that a company can be agile regardless of whether or not it’s Agile. Companies can work in 3-week iteration cycles (give or take), constantly review and revise methods to find ways to improve them (otherwise known as Kaizen, core to Lean Manufacturing), be open to last-minute changes, be nimble enough to adapt on a moment’s notice, and put out consistently great work whether it’s Agile or not. I know this because I’ve done it. Many times.
Still, there is apparently a serious difference between Agile and being agile. And according to the authors of the manifesto and some of its practitioners, it seems to be a little like the difference between John Malkovich and Being John Malkovich.
This is a only a problem, of course, because it means I can’t talk about being agile unless I’m actually Agile. But I’m still very interested in agility as it relates to software design and development, because it has the goal of putting out high-quality software using quick and effective methods.
So I think I’ve decided I want to be Nimble. Or maybe Fast and Flexible. I don’t know. I just don’t think I want to be Agile anymore. It’s too hard to be part of a club that puts all of its weight on its manifesto and then blatantly ignores the purpose for its existence.