Agile doesn’t have a One True Answer for software development. Agile gives you a structured way to seek feedback on your on-going exploration.
A predisposition to believe in a One True Answer for anything is one of the worst hindrances to grokking agile development.
Because many methodologies that came before agile were delivered as answers to problems rather than means to effective explore problems – including the methodology itself – folks are still getting hung up on out-dated habits that themselves act as obstructions to agile development’s essence.
Agile development isn’t a “solution” to anything unless it’s done in a way that encourages exploration and has a strong focus on harvesting feedback.
When I hear folks say, “…and so we turned to agile because we thought it could solve our problems,” I hear the predispositions of a generation of methodologies that were sold as solutions rather than as inquisitions.
Agile will show you more problems than you ever thought you had before you start to see some progress against these problems. And that progress will come from your open exploration of the truth of your problems rather than from a cork board with index cards, ten-minute daily meetings, and monthly deliveries.
Agile doesn’t deliver answers, it only offers you a way to create a safe place to ask hard questions and the permission to try find the answers.