Most feel that we don’t plan in agile implementations. However, this is a myth. Following diagram explains the two type of planning
- Plan Driven Approach(Traditional way) : This is used when we know what the problem is and what the solution is. In this approach, we set up set of steps to be taken, create a plan and execute the plan.
- Goal Driven Approach (Agile way) : When things are unknown, it may not be possible to do the plan driven planning. Here we will need “Adaptive Plans” where we may need to keep changing our plans if required. This is also called “Empirical” planning.
When we talk about Product Planning, one of the important considerations is whether the product is to be planned using one of the above two approaches. Well this depends on where the problem lies on the below spectrum.
- Simple Problem – known on “What” (Requirements) and known on “How” (Solution), then this is an obvious candidate for Plan Driven way of doing things. Here the traditional way of making a plan and executing the plan works great.
- Complicated Problem : Not the simplest of the problems, however, an expert may be able to take care of such problem. For an expert, this might be a simple problem. Still possible with the traditional planning method.
- Chaotic Problem : These are emergency type of problems. Here generally there is no planning. “just do it” is the approach here.
- Complex Problem : This is the type of problem where we don’t know what needs to be done or how it has to be done. This is the place where most Products are. We don’t know the problem to be solved, or we don’t know how to solve it.
Most Products are solved using the “Goal Driven Approach”. However it is not necessary that this is the only way of planning.
Levels of Planning in Agile Projects
The planning could be at different levels and is represented as a planning Onion in Agile
- Vision (Long Term) : This is a long term plan and is accountability of the Product Owner
- Strategic (2 years) : This planning results in artifacts such as Product Strategy and Product Roadmap. This is also the accountability of the Product Owner.
- Release (a month to a quarter) : This level of planning is again the accountability of the Product Owner and defines when the product version is taken to the market.
- Sprint (once very sprint) : Sprint Planning is a short term planning where the Development team and Product owner together plan on what viable product they can produce this sprint. The deliverable of the Sprint is a Potential Release not necessarily a Release. The word “Potential” means something where we can atleast get a feedback.
- Daily (every day) : This is the daily level plan where team adjusts the Sprint Backlog so that the possibility of achieving the Sprint Goal is increased.