What Makes Planning Agile?
This book is about agile planning, not agile plans. Plans are documents or figures; they are snapshots of how we believe a project might unfold over an uncertain future. Planning is an activity. Agile planning shifts the emphasis from the plan to the planning.
Agile planning balances the effort and investment in planning with the knowledge that we will revise the plan through the course of the project. An agile plan is one that we are not only willing, but also eager to change. We don’t want to change the plan just for the sake of changing, but we want to change because change means we’ve learned something or that we’ve avoided a mistake. We may have learned that users want more of this feature or that they want less of that feature or that usability is more important than we’d believed or that programming in this new language takes longer than we’d expected. The financial impact of each of these changes can be assessed and, if worthy, can alter the plan and schedule.
As we discover these things, they affect our plans. This means we need plans that are easily changed. This is why the planning becomes more important than the plan. The knowledge and insight we gain from planning persists long after one plan is torn up and a revised one put in its place. So an agile plan is one that is easy to change.
Just because we’re changing the plan does not mean we change the dates. We may or may not do that. But if we learn we were wrong about some aspect of the target product and need to do something about it, the plan needs to change. There are many ways we can change the plan without changing the date. We can drop a feature, we can reduce the scope of a feature, we can possibly add people to the project, and so on.
Because we acknowledge that we cannot totally define a project at its outset, it is important that we do not perform all of a project’s planning at the outset. Agile planning is spread more or less evenly across the duration of a project. Release planning sets the stage and is followed by a number of rounds of iteration planning, after which the entire process is repeated perhaps a handful of times on a project.
So in defining agile planning we find that it
- Is focused more on the planning than on the plan
- Encourages change
- Results in plans that are easily changed
- Is spread throughout the project