While this list may also apply to folks other than programmers, this post was created specifically with the good folks over on reddit/r/programming in mind. By the way, before posting there, I highly recommend reading "The Unspoken Truth About Managing Geeks."
#10 Agile is Snake Oil sold by Snake Oil Salespeople
Let the buyer beware! There is definitely an element of truth to this. “Agile” can mean almost anything and there are definitely folks out there taking advantage of the fact that many people are new to Agile. Not only are they just looking to make a buck, they often either have no idea what they are doing or have simply repackaged whatever they used to sell with the “Agile” label. The good news here is that these folks are pretty easy to uncover. Just keep in mind that there are Agile snakeoil salesfolks out there, do your normal due diligence when evaluating Agile advocates and you should do fine.
#9 Agile Has Too Much Jargon
Say, how many story points did we burnup during this sprint? It seems like our velocity went up after the product owner started using user stories in the backlog. What’s up with all of this jargon? Is it really necessary?
Rather than answering that question directly, let me ask you this: doesn’t every subject have its own subject matter jargon? Isn’t OO programming “jargon rich?” Isn’t .Net “jargon rich?” Heck, programming in general is “jargon rich.” I’ll bet you didn’t even bat an eye when I used the jargon terms “object-oriented” and “.Net” ! Oh wait, I didn’t even say “object-oriented,” I only said “OO.”
#8 Agile Means The End of Freedom
This is an interesting one because when Agile is implemented well, there is actually much more freedom for all involved. I think the message here is that management needs to keep in mind that programmers are understandably wary of new initiatives that smack of yet another way to impose control. When talking to programmers about Agile, be sure to emphasize that Agile will affect the whole organization, management included. After all, “waterfall” is primarily a management method and does not include specific technical practices.
It is true though that Agile means focusing on customer value and frowns on major re-architecting projects. Agile promotes incremental architecture where the architecture is built or improved over time and directly tied to implementing customer value.
#7 Management is Only Doing This Because They Think We’re Not Very Good
If you want Agile to succeed, you need to point out, and be sincere about it, that Agile will affect the whole organization, management included. Otherwise it can come across as an “us vs them” situation where management isn’t the problem, the programmers are the problem. And lets face it, waterfall is a management method, not a programming language.
See also: "Better, Faster, Stronger Programmers" .
#6 The Agile Consultant Will be A Pain in The Neck
From experience, programmers know that if you are going to introduce some new thing there’s probably going to be a know-it-all consultant coming in to point out all of their flaws and give generic advice without even getting to know what they do.
Let the buyer beware! See #10 - "Snake Oil"
#5 Gross! Pair Programming!
You probably don’t have to worry about this one because you probably won’t introduce it anyway. On the surface it seems like paying double. While there is definitely value in this, it is far enough off the beaten path of Agile that nobody reading this needs to worry about it.
Stand up meetings are not a question and answer period.
#3 Drive-by Agile Transition
Some managers (not you of course) read an article about Agile, declare “we’re going Agile” and then ask at all future meetings “how are we doing on this Agile thing” and then don’t react well when they see lots of blank stares.
If you do this, Agile will fail.
One other point on this, not only will an Agile Drive-by fail, your programmers will be pretty upset that they weren’t consulted in the decision. Going Agile is a big change and you are much more likely to succeed if you involve everybody in the decision.
#2 Management Isn’t Fully Committed to the Transition
Going Agile takes sustained commitment. Not only will you need to see the transition through the tough parts, you’ll also need to provide budgetary support. That is, you need to fully fund the transition.
Depending on the size of your organization, it is likely that you will need to hire at least one Agile consultant to see you through the transition. You probably don’t have a Continuous Integration system, enough virtual machines, enough real machines, an Agile Project Management system, etc, etc. Whereas before you probably only needed one of everything, for instance an Oracle test environment, you will now probably need at least double. That said, see #10 - "Snake Oil."
#1 This is Really Just Another Way to Demand More with Less
Especially now, people are pretty sensitive to the call to “do more with less.” Agile can be perceived as a way to do more with less. But of all of the benefits that Agile provides, “doing more with less” is not one of them.
So, what is your pet peeve with Agile? Let management know!