In Lean-Agile Clinic
To produce the most value from your available resources in the allowed time, as soon as possible release first the part of the system that is truly necessary to have a viable business product. Restrict the time allowed for building this core part to only the time your estimates say it needs and don’t use all of the calendar time available.
This approach works with either kanban or Agile approaches. It is possible and simple to achieve a level of predictable work throughput and to do effective release planning.
How Release Planning Applies to Kanban
Even if you are using kanban, you can estimate your workload and predict reasonably well at a high level.
With kanban, you can use iterations. But even if you are not, most practitioners apply the notion of cadence in their kanban. And having cadence lays the groundwork for release planning.
Cadence means to have a regular beat of intake, demonstration and output. For example, you can have the customer (or their proxy) update what is on the backlog weekly. You can also demonstrate what your team has done every week (that could be your demonstration cadence). You might release every two weeks (your output cadence). Kanban doesn’t require that all of these cadences be at the same time, but it does highly suggest having a cadence.
Estimation: The Other Main Input to Release Planning
Estimating the amount of work to be done is another practice necessary for planning releases. This is another area sometimes relatively overlooked in the way Kanban is typically done. But it can be done just as well in Kanban as in traditional Agile approaches.
Release planning requires estimating the work under consideration. There are several reasons for this including ensuring a common understanding of the feature being worked on.
The real challenge to estimation is not that it is wasteful; instead, it is that people are using wasteful methods. Consider using Steve Bockman’s Team Estimation method which is more efficient to Planning Poker.
See an example of effective high-level release planning.
The approach to delivering the most value from available resources is first, to identify the core functionality that must be delivered to have a viable product. This core part is allocated only the time that its estimated scope and the organization’s velocity indicate is needed to complete its development.
Next, the remainder of the work in the original overall plan is given the remainder of the schedule, to finish as much as possible. This usually results in more being completed than would have been done without this division, with the additional benefit that the customer of the product receives value much sooner than the original schedule.