We know Agile as an iterative approach to managing projects and change, based on building plans for short intervals only and hitting the reset button at their end to start again from scratch.
Should this imply that long-term planning and management of large-scale projects is not possible with Agile methodologies?
This line of thinking would have a fundamental flaw — an assumption, that good results actually stem from a plan. As if making the decision to achieve a given result was equivalent to having this result materialized.
Isn't it more likely that it is the process itself that forms the outcome of a project? And that putting an emphasis on the project execution and caring for details should, therefore, bring better results than having a great master plan?
Does it not make sense then to have as many opportunities to rethink the next steps and to exercise many short-term goals, rather than complete a large plan without any critical view on it along the way?
Requirements will change for long-term projects even more-so than for short-term ones, so having to re-evaluate the best way forward a number of times cannot be a bad thing, can it?
Agile therefore greatly supports long-term jobs with the following:
Multi-level Verification Makes for a Better Product
Thanks to this, you get to prove the value of the project's assumptions various numbers of times, rather than just once without ever looking back. This is fantastic for highly competitive product development, as you're able to rethink each aspect of the product numerous times, often by involving different groups of people and hence adopting multiple perspectives.
Improving Globally While Evaluating Locally
While viewing an aspect of a repeatable project a number of times, there is a chance that teams will be able to actually spot fundamental flaws in their work overall, and therefore use these as opportunity for large-scale process and methodology improvement. You could say, that single project improvements breed global method polishing.
Being Agile Means Great Flexibility
With taking on an Agile approach you give your team time to actually respond to any new demands, to make appropriate changes at the time they are needed, instead of having to go on with original requirements — which everyone can know to be outdated halfway down the line - just because this was the plan.
The quality and accuracy of the result is the goal, not the perfect alignment with the initial plans. This is highly valued by the stakeholders.
Though it may be easy to associate Agile with sprints and quick action taking, it's worth keeping in mind this can be used to great advantage for large scale and long realization term projects.