01Why plan at all
Planning has a bad reputation in many agile teams, because it is confused with one of its products: the Gantt chart. The chart is rejected as "waterfall", and planning goes with it. Yet planning is one of the most natural things we do.
A definition
Planning is deciding in advance what we want to achieve, what it will take, in what order, and what we will do if things don't go as expected. Then we revisit those decisions as we learn more.
A Gantt chart is one way to draw the result of that thinking. It is not the thinking. Eisenhower put it well: plans are worthless, but planning is everything. Most of the value of planning lies in the shared understanding it produces, not in the document.
The family holiday
Think of planning next summer's family holiday. Nobody draws a Gantt chart, yet every element of good planning is there.
- A goal. A holiday everyone will enjoy: the beach for the children, some walking for the adults.
- Constraints. A budget, the school calendar, the days of leave available.
- Priorities. The beach is a must. The museum visit is nice to have, and goes if time or money runs short.
- Lead times. Flights and accommodation are booked months ahead, and passports are checked before that.
- Risks. Travel insurance in case a child falls ill, and an indoor option for a rainy day.
- Detail near, coarse far. The destination is fixed in spring. What to do on the third day is decided over breakfast.
- Re-planning. When it rains, the day changes. Nobody considers the holiday a failure.
No one would set off without thinking any of this through, and no one would plan every hour of the holiday in January. Agile planning works the same way: enough thinking ahead to make the important commitments in time, and the rest decided when more is known. The rest of this article is, in a sense, the holiday at the scale of a software product.
Section takeaways
- Planning is a way of thinking, not a chart. Rejecting the Gantt chart is no reason to reject planning.
- Good planning combines a goal, constraints, priorities, lead times, risks and regular revision.
- Plan far enough ahead to make the commitments that need lead time, and no further in detail.