I’ve been noticing a disturbing trend lately where pundits, bloggers, and practitioners keep insisting there’s only one way to practice Agile software development, and it’s usually their way (go figure). I can’t tell you how many times I’ll read or hear about new Agile practitioners who asked a simple question on an online group or in a conference and hear a one-sided prescriptive approach – and worse, an extreme view that is so out there that few organizations can hope to do anything close when they’re just starting out. And if you’re not practicing certain techniques, which are usually the latest thing from Xaphod Bigbookauthor or Ima Agileguru, these extremists will just say, “you’re not doing Agile!” There’ll be a lot of citing this and quoting that and listing some definition of some practice in some book. If your team doesn’t match what’s on page 462 sub-paragraph 2, section D, you’re not Agile.
Have these people forgotten the meaning of the term AGILE? Or did they just never realize that Agile is not about the tactics but about the goals, the most important goals being continuous learning and continuous improvement? As Rod Belshee, a friend, client and tree-hugger put it, Agile is “about experimenting and assessing. A way to consider what we tried in this type of situation, the data on how it worked, and what to try next. In other words, we do not want Agile to become a rigid set of practices, but remain a way a thinking.”
Now, don’t get me wrong. I’m not poo-pooing the best practices or the work that many Agile pioneers have done that we as an industry have come to appreciate. What I am saying is those best-practices are getting turned into religion and that the zealots will have you believe that there’s only one way to do it right, that executing a defined set of these practices will make you ‘Agile’. If you aren’t practicing all in this set, you aren’t ‘Agile’. Like that’s the way teams and companies work…that one day, they’ll all just collectively wake up and decide, “Hey, let’s do all of this all at once.” And just like that, voila!, we’re in ‘Agile mode’. This type of dogmatism is not only misguided but leading many people who read and hear this to think that Agile methodologies and practices are not suited for them. More than 75% of the clients I have worked with had one of these dogmatists and had been told they couldn’t be helped. That, of course, wasn’t true.
One size (or set of practices) doesn’t fit all. We have to be the most Agile when it comes to how companies and teams adopt this way of thinking. Some are faster to move and some are slower. Some are passionate from the start and others need to see the value. With ones that are slower (and usually bigger), there are leadership, cultural, technical, process and many other dynamics that need to be overcome. They need a roadmap for migration that takes into account dozens of years of legacy (and usually hurtful) practices ingrained into their culture.
Not every practice has to be done when an organization first starts and not every practice is right for every organization. Practicing Agile means being agile in not only how we work but how we roll out these practices. I would say that a measurable goal (or set of goals) and the continuous pursuit of improvement toward that goal is a magnitude better than dispassionately executing practices because some book told you to do so.