Agile principles are widely embraced as they are shown to improve organizations’ ability to respond to competitive pressure, quickly adapt to market shifts and seize opportunities while reducing costs. Agile development allows for rapid, initial value delivery and adaptability to customer needs and changing conditions as teams continuously innovate and improve. Applying those same Agile principles enterprise wide can deliver similar benefits. A key challenge organizations face in their Agile journeys is how to best plan and estimate the resources needed to support Agility, continuous improvement and innovation.
Traditional project planning falls short. The flexibility to adapt to changing conditions and continuously improve and innovate is incompatible with absolute conformance to original plans. Teams can quickly churn through tasks according to plan on time and under budget while building the wrong product and failing to deliver value.
Where traditional planning is done up front following a Plan, Plan, Do approach, Agile planning is spread throughout a project following a Plan, Do, Adapt approach driven by a quest for value rather than a desire to complete a pre-determined plan. An initial Agile plan is one of many possible views of the future. As teams tackle a project, they learn new information that is used to adapt and refine their plans as they move forward. Agile planning and estimating acknowledges uncertainty and that knowledge is never complete. To build high value products, plans must be revised as teams learn through working in iterations.
Agile plans cover three time horizons: the daily plan, the iteration plan and the release plan. The different plans are created for distinct reasons with various levels of precision.
The Daily Plan is the most precise as team members make commitments to complete, or make progress on, specific tasks for that day.
The Iteration Plan is less precise with user stories that will be developed during the iteration and the tasks thought to be necessary to develop them. Within the iteration, the user stories are imperfectly specified initially and there is some vagueness around what it means to develop a story within the iteration.
The Release Plan is the least precise of all. It contains a prioritized list of desired user stories and estimates of how much of the desired functionality will likely be delivered by the desired release date.
Planning at different time horizons helps teams view their work from the focus of short iterations to the broad perspective of the release plan. Having a comprehensive view ensures that the team does not lose the forest of the release for the trees of an iteration and they stay focused on big picture value delivery.
Value is the Key
Agile planning is an attempt to deliver the optimal customer value while balancing and refining the features delivered with the resources and schedule. Through iterative planning and viewing the project over different time horizons, teams explore possible solutions of how to mix the desired features, resources and schedule to create the best product possible. Teams accept that plans will be imprecise early on and they refine plans as they learn. The initial plan gets teams started based on current knowledge. As teams work through daily plans, iterations become clearer and as they complete iterations, the release plan is refined. Value to the customer is prioritized over adhering to plans and is the driving force behind revisions and refinements.