So what is the big deal with all this talk about “Agile”? We have been building software for decades, so why should we consider changing the way we do things?
The biggest reason to consider Agile development: The world is changing…more quickly than ever.
Even if you understand customer needs perfectly, have a high-performing, self-learning team that can design/build/deliver anything you ask them to, the world market is still a highly competitive and unpredictable environment.
The single biggest advantage of following Agile practices is the ability to adapt to change. What can change? Everything! Your team, your budget, your customer needs, your organization’s priorities…the list goes on! If you plan your project using a traditional Gantt chart, there’s almost a 100% chance that the day you build your plan, it has become obsolete.
Critics of Agile development will say that you can’t do Agile because there is too much chaos without having a plan. This is a big misconception; in Agile you still need to plan the word, just using a different approach. You don’t plan every single task and deliverable by trying to predict exactly when/who/how each task will be done. Instead, you focus on short-term goals within the context of bigger strategic roadmap.
Is Agile the silver bullet for all software projects? Not at all!
Agile has limitations, believe it or not, but mostly because of lack of understanding and experience. The limitations mainly originate from poor adoption of Agile, caused by lack of training and/or excessive tailoring of the process frameworks.
Agile will not work if an organization is not ready to make a commitment to doing work in this fashion. If management continues to demand status reports and continues to challenge how the team manages work, it will be very difficult for the Agile mindset to flourish.
Agile will NOT solve all of your problems, but it will most likely reveal your team’s dysfunctions and failures more quickly. Is this a good thing or bad thing? It depends on how your organization views “failure”. Is there a low tolerance for failure or risk-taking? If so, perhaps your organization is not quite ready for the kind of transparency that Agile will give you.
In closing, whether Agile is good or bad, right or wrong for your organization is a highly subjective argument. You will need to consider all the factors I mentioned then decide if the benefits will outweigh the risks. One thing that is certain – history has proven that companies that do not adapt usually cannot compete and will eventually cease to exist, so perhaps that’s enough to motivate your leadership to try a new way of working?