I distinctly remember the heated discussions about "what is XP?" or "what is Agile?" I participated in them, long before I understood how complicated they are. Sometimes they feel pointless, and sometimes they feel essential. We find ourselves more than a decade later and these discussions rage on, in various forms. These days we see even more people reaching their boiling point with the shifts in meaning of the word "Agile". This invariably leads to pronouncements that various things are dead, or considered harmful, or dangerous, or whatever. I understand how you feel. Truly. Fortunately, you're not even wrong, so we can get past arguing the point and move on to what we might do now. Let me share what I think, and please understand that I have as an overall goal to do "good things" while trying not to stop others from doing what they consider "good things". I say "Agile" to make it easy for you to find me. Some well-meaning people will find me because their enterprise thinks it wants "a few hundred pounds of Agile". I want those people to find me, so that I can help them, even in spite of whatever dysfunction surrounds them. Working in that kind of environment generates enough frustration; I don't want to add to that by making it harder for people stuck in that environment to find only cynical, Dogbertian consultants. I want them to be able to find me. When I say "Agile" I mean what I think Agile "can be". This part can become very complicated, so let me outline some things that I mean when I say "Agile".
- Not a defined process, but a way for people to discover an appropriate process for them. (Thanks, Alistair Cockburn.)
- A toolbox of helpful techniques which I sometimes use as a starting point when we don't know where else to start. (Thanks, Kent Beck, Ron Jeffries, and other early XP authors.)
- The basic assumption that when we don't know what else to improve, then we try to earn more value sooner. (Thanks, Mary and Tom Poppendieck.)
- The basic assumption that learning is the bottleneck in delivering products. (Thanks, Taiichi Ohno and Eli Goldratt, among others.)
- The basic assumption that what's good for people will be good for projects, products, and companies. (Thanks, Jerry Weinberg, Tom DeMarco, Tim Lister, Brian Marick, and so many others.)
Some of you will disagree with what's on this list; some of you will gasp at what's not on this list. Good! If we all agreed on this list, then we'd have nothing left to learn from one another, and that would depress me. I use "Agile" as a kind of shibboleth. I admit that this can seem manipulative at times, so I need you trust that I mean well. What you mean when you say "Agile" affects how we will interact in a professional capacity. We can each learn a lot about the other by noticing how we (each) use the word. The discussion "what is Agile?" has enough complexity built into it that it teaches me a lot about what you value, such as how open you keep your mind, your interaction style, what goals you have, and how you treat people who disagree with you. I could get this value in other ways, but given the relevance of the word "Agile" to my work, I find it convenient to use "Agile" this way. I'll stop here, because it would bore you for me to go on. If you want me to go on, then find me at a conference or wait for me to write more about it later. Labels are dead; long live labels. On the one hand, I prefer to avoid labels, because labels have tended to lead me towards judgment, and judgments have tended to lead me towards unhappy interactions with others. Even so, I need to use labels, because otherwise I could never discuss anything with anyone. I prefer not to say "Agile" in some contexts, but I believe that I need to say "Agile" in others. I believe that how we choose to use the label makes the difference, and not the label itself. All this is to say that I'm going to continue to say "Agile". I'm going to continue to use it to mean what I've outlined here. I'm going to continue to accept the risk that other people will use it to mean something else. I'm going to continue to accept the consequences of differences of understand and interpretation. I only ask one thing from you: if you're done with the word "Agile", don't make it harder for those of us who aren't done with it just yet. I don't think we've done anything to deserve that treatment. Who knows? Maybe in 20 years "Agile" will regain the meaning that so many of us wish it had more generally today. It certainly won't if those of you leaving the building set fire to it on the way out.