I've been at a number of places where people think they should choose Scrum over Kanban simply because they think there is no ability to forecast and plan when a team(s) uses Kanban. While there is a general notion that Scrum is a good approach when you are doing more “plan-able” work What's The Difference Between Kanban and Scrum? this does not mean that Kanban cannot be used when a forecast is required.
Kanban is an empirical practice, and so generates data in the normal course of work that will allow you to prepare forecasts.
For Kanban we could use cycle time to understand expectations and compare this to upcoming known list of work. Simplistically, for features (same ideas could apply to stories):
Say our project is expected to have 50 features, and we have completed 5 features with a cycle time of 20 days, 25 days, 30, 27 and 21 days, then we know the following information:
You might be wondering whether 5 “observations” is enough to give us good data. Basically the idea is that if you have 5 observations like this, then the probability that the next cycle time is beyond the range we already have is 25% (ie chance that we already have all the cycle times that we will actually produce is 75% - see How Can We Forecast When We Do Not Have a Lot of Data? for thinking process.) In other words, you don’t need a lot of data here.
Note that the process here to generate the forecast does not require that we have all stories detailed etc. It requires:
Naturally we would check these assumptions as we work. In particular we would look at things like effect of dependencies, effect of increasing knowledge (usually more work than expected) and so on.