In traditional project management, we do one major planning phase once and then we re-plan whenever there’s a need (mainly responding to change requests).
Again, to understand Agile planning, Agile Project Management is sort of iterative incremental life cycle.
Agile projects are divided into releases and iterations. An iteration is a short development period, typically two to four weeks in duration. A release is a group of iterations that results in the completion of a valuable deliverable on the project. So a project has one or more releases, and a release contains one or more iterations.
We start planning releases and iterations early in the project life cycle and revisit the planning phase multiple times as the project progresses before each iteration.
Iterations or releases can be either date driven or functionality driven.
There are few advantages to this method:
1- we can plan our iterations to deliver high functionality first to the customer. in that case the customer can actually use the product after one or 2 iterations and feel the value of his investment.
2- customer feedback after each iteration will be considered in the planning of the next iteration.
3- it is well known that we don’t know much about the product at the very early stages of the project. So Agile considers the huge effort done at the very start of the project is a waste of effort as we will need to revisit the plan every time we have more details.
So actually in Agile, the planning effort is typically much more than traditional planning