Agile has been the most common methodology lately. It was established due to the need to easily adopt and change directions during development phases. Pace is dynamic, in (almost) every industry, so there is a need to adjust accordingly, although it means changing plans fairly frequently.
Why is that so? And how much changing is too much changing? Is Agile fragile?
One of the reasons that comes to mind, is that the customers’ needs and requirements are changing. Still, we can’t blame it all on them. There should be someone within the company managing clients’ expectations. Usually that’s someone from sales, a product manager, or an account manager. It’s not like changes won’t happen at all. No- that is inevitable. There is just a difference, though, when managers are minimizing changes coming from clients by proper communication and helping them to get familiar with the process.
One of the other reasons might be internal. Upper management is adding requirements (with a shovel), with an intent to be a few steps ahead of the competition. Market race and product differentiation are, in fact, what keeps you alive. Still, you have to be smart and make long terms strategies. That’s why they’re called long term, as you won’t change them on a daily basis.
And, also, another important piece of the puzzle – what happens with the team when the priorities and requirements change suddenly?
Team gets frustrated. They lose track of what needs to be done, where they are heading and what is the goal. Product owners can help a lot in these cases with being transparent and guiding them through this. Still, too much changes can end up in not delivering anything, or, even worse, delivering poor quality. This sounds a lot like what people tend to call ‘’multitasking’’ – which is basically just rapid task switching.
A lesson can be learned, so we can simply stop using agile as an excuse for constant changes of direction and embrace concept of managing expectations outside of development team.