Forecast

Forecast
Intent
: Predict completion time based on the estimated size of a backlog and a known velocity

Proverbs:
  • If we are to understand the future we must look at the past
  • Forewarned is forearmed
Motivation: Agile teams must be prepared to respond to change, and cannot always make a delivery commitment. Yet even in conditions of extreme uncertainty, it is valuable to have a provisional timeline based on existing data and clear assumptions.

Structure: A team has an ordered backlog of items to deliver. The team only allows a limited number of items to be work in progress at any one time. The velocity or throughput can be calculated by inspection and a forecast made regarding the likely time of delivery for items remaining in the backlog. Metrics are captured iteratively on a timeboxed basis. The method used to derive these metrics and make such forecasts can be adapted by the team in order to improve their usefulness. 

Applicability: Forecasting is used in most agile methods in order to determine the likely deliverables by the end of a given timebox.

Consequences: Forecasts can be mistaken for commitments and it is important to qualify expectations accordingly. The accuracy and value of forecasts diminishes the further into the future they extend.

Implementation
: Scrum development teams generally limit their forecasts to end-of-Sprint deliverables. The Sprint Backlog and Sprint Goal effectively represent their forecast, and will depend on estimates. Kanban forecasting does not necessarily use estimation at all. For small and repeatable changes, forecasts based on backlog position and throughput are possible.