The Extreme Programming ‘Planning Onion’
In Agile we plan for short periods of time and our plans change frequently. Our plans are really just ordering of the backlog of things that we know we need to do. All realistic plans are like this. It’s just that in Agile this is made explicit.
In Scrum the team agree with the product owner what the team will do in the next sprint. A sprint is a relatively short space of time - typically two weeks. How much the team plan is guided by how much work the team completed in the previous sprint.
In Kanban, planning might not be explicit, but the prioritisation of the work to be done is explicit in the ordering of the next tasks that will be worked on.
In Extreme Programming there is the notion that planning takes place at lots of different scales. This is sometimes called the “planning onion,” and is a good response to those people who imagine that in Agile to planning happens a all. Deciding to write a test is a plan. Discuss how to approach coding a piece of functionality is a plan. The daily stand-up meeting is a plan.
Of course the planning meeting every week or fortnight is also planning. As is the release plan that roughly outlines what will happen in the next few iterations and then even more roughly what will happen in the months after that.
What doesn’t tend to happen in Agile methods is the creation of Gantt charts.
Image by DonWells - https://en.wikipedia.org/wiki/File:XP-feedback.gif, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=27448045