Agile enthusiasts are quick to make fun of people who pick and choose among various agile concepts, philosophies, techniques, and tools, rather than working hard to be "pure." We have a word for people who do that: dilettantes.
But when we use two words we call them "cafeteria agilists."
One almost wants to design a t-shirt with "TNA" on the back in flashing letters, since it's a saying that fits almost every real-world situation you'll ever see. It's fun to make fun. And to some degree this is human nature--why would you choose to help a company "suck a little less" when you went into this business to change the world? Seriously.
I have five quick defenses for "cafeteria agile:"
1. People Have Label Fatigue: Today's business people are tired of fads, and tired of labels. Flying the "Agile" flag for this audience not only isn't good--it's actively going to get in your way. Unless told otherwise, when you address a new audience, you should assume that they think you're here today to represent a management fad. All your listeners can think of is "the guy doing Six Sigma wore a blue track suit, not a rainbow one," or "the TQM lady had a cuter English accent."
For the label-fatigued audience, your best bet is to avoid using the word "agile" altogether, listen closely to what they have to tell you, figure out how to best help them from your treasure trove of agile philosophies and techniques, and just do those things first. One day they may forgive you for being an agilist, and one day they may develop an interest in the Manifesto. But in the mean time, what about giving them something they can use?
You're going to win more friends with useful piecemeal advice than you can by taking a hard party line that it's all or nothing. Which is related to:
2. It Takes Time to Change the World. Think of each Agile Cafeteria choice you ladle out to your client as a "thin slice" of a bigger system. What time frame did you have in mind, when you came in to do your "agile transformation" of this group? A week? A month? 18 months? It's amazing how you can take a group of sophisticated software developers who understand about "incremental delivery," "refactoring" and "thin slicing," and have them despair when they aren't able to do a "big bang" change to the software development processes in a company of any size: lock, stock, barrel, culture, tools, and team rooms.
Although "social epedimic theory" suggests that a "biggish" bang may occur along the way, you're likely going to have a long incubation period when you're slowly wooing your audience by feeding them measurable returns on the money they have invested in your agile advice.
You may need to swallow your pride and just provide your audience with a few key things to try that will pay off, and then spoon feed them a little more the next time around, and the next time, and so on. Later they will understand that they were short-changing themselves, but they can't hear that message from you now. Which is related strongly to:
3. Client Executives don't want a generic label. They want something they can brag about specific to them and relevant to their own context. There's a reason most consultants do a thing called "pain point analysis" early in their engagements. If you know what the company's pain points are, you can design a strategy to help with those things that matter to your employer.
You may feel "TNA" if the team isn't collocated. But if your sponsoring executives are going to live or die at the end of the year based on the ROI on some big project you're helping with, and what they're looking for is low investment and accelerated revenue, you won't make yourself popular by insisting on an expensive relocation of the entire offshore work force. Find out what they care about and deliver it, making sure they get the credit for all of your ideas.
Executives will seek you out if they hear that you can selflessly solve their problems and make them look good. They are less likely to feel a strong motivation from a person who comes on strong with the message "look! you're doing this simple thing all wrong!" Which brings us to:
4. The Prix Fixe menu makes it hard for YOU to claim success too. If you spend any significant time with agile evangelists, and you will quickly find that the "definition of how agile we are" quickly gets mixed up with the question of "how are we making software delivery better?"
Let's say your "definition of agile" is that software goes from idea to production in a week, every week. You work with a pilot team to make this goal a reality. You claim "Victory!" and then suddenly find yourself stalled.
Let's say it turns out that your company mostly has customers who can only absorb change once per year, and then only with a LOT OF TRAINING. The project where you were able to instantiate your idea of agile was an anomaly. If you're measuring your "agile penetration" by the percentage of the portfolio going to production every week, and also calling that your "success," you've just boxed yourself in quite thoroughly. Don't do that!
5. Don't Be The Thing You're Fighting Against. What do we agilists want to stand for? Change! Agility! Flexibility! The last thing we want to do is get locked into some rigid set of "dos" and "don'ts." Do you seriously want the next generation of rebels to laugh at you? No! Have some self respect. Be a cafeteria agilist, and be proud of it.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.