Having worked professionally in the Agile engineering space for many years, I have become accustomed to helping teams adopt Agile practices and reap the benefits where possible. Also, I have applied many of the Agile techniques to my own personal life for organizing and managing various activities and day-to-day responsibilities. In the process, I seem to have subconsciously decided that Agile is the “right way” to do work, no matter what the situation might be.
Being an Agile Coach, I often encounter situations where people new (or foreign) to Agile concepts ask me various questions such as:
- “How is Agile better for my team?”
- “Why should I change how I do everything if it’s working just fine?”
- “Do you have any data to show me that Agile is better?”
I recently came up with an idea that I haven’t, for whatever reason, thought of before: Let’s think about situations where “Agile” is NOT the right tool. Playing the “devil’s advocate” is not something I do often, but whenever I do so, it seems to reveal some interesting thoughts that I may not have come up with otherwise.
I came up with a few situations where Agile practices may not be an effective solution to your problem. Note that I’m not necessarily saying you should NOT consider Agile, but rather, the benefit of applying Agile as a tool will be limited in these situations.
So here it goes…
Situation #1 – Your business requirements (or priorities) are guaranteed to remain the same throughout the life of your project
As business professionals, we seem to have a general belief (through training or direct experience) that everything is changing all the time in the business world, and that we must be ready for anything. This is simply not always the case. Some businesses do not have dynamic needs or operate within a volatile environment, which means that they benefit less from the ability to adapt to change. If your organization provides a solution that always remains the same (i.e. utilities, water, etc.), perhaps Agile will not be a worthy investment of time and cost. If you dig a little deeper, however, you may find that the supporting infrastructure necessary to deliver such goods/services may benefit from a more iterative approach, but that could be considered a different scenario.
Situation #2 – You know exactly what you are building and how you are going to build/deliver it
Similar to #1 above, some organizations have a high degree of certainty regarding what they are producing and how they do it. This is the general theme for the manufacturing sector where the processes are typically well-defined and does not change very often. If you are in this situation, perhaps Agile isn’t as valuable to you. What is interesting here is that the concept of lean manufacturing, which is one of key contributors to Agile systems development principles (i.e. Agile Manifesto), originated from Toyota. Oddly intriguing?
Situation #3 – Your team consists of experts in all of the tools that they are using
To further elaborate on #3 above, if your team has mastered the “how” in terms of the process for building and delivering the product or service, there is still the potential variability caused by understanding and mastery of the tools themselves. If your team has expert knowledge of every single tool required to deliver the end product, and there is no chance of unexpected outcomes, then perhaps Agile is not worth your time.
Situation #4 – Your organization has no competitors in the market
If for some reason your organization operates in a market that resembles a monopoly, in which there are no real competitors, it is possible that Agile would not be important approach since innovation is probably not mandatory for sustaining or growing the business.
At the end of the day, “Agile” is another tool in your every-growing toolbox of tools that you can use to help your organization achieve its goals. While it may be easy to determine whether you fit into some of the scenarios I described above, others may not be as clear-cut. In most situations, we usually need to account for unplanned events, expected conditions, unanticipated outcomes, which means we need a mechanism to deal with them. “Agile” may not be the key to your success, but it should stay in your toolbox and kept sharpened in case you need it, because you just never know when that day may come!