In this article I will explain how we can plan when releases of the software is made available to the client. During the release planning we create a high-level plan for multiple sprints. It’s a guideline that reflects the expectations about which features will be implemented and delivered as a product increment. It also serves as a base to monitor project progress. Typically a release is an intermediate delivery done during the project or the final delivery at the end.
In order to be able to create a release plan, we need to have the following available:
- A prioritized and estimated product backlog
We need to have some of the stories of the backlog prioritized and estimated. We can plan for all those stories only - The estimated velocity of the Scrum team (how much work can be accomplished in each sprint)
We need to have a good idea how much work the Scrum team can deliver during each sprint. - What features constitutes a release (milestones)
We need to know what set of features that will work as a release for the client. It won’t make any sense to deliver functionality that is dependent on functionality that is still sitting in backlog.
Now it’s just a matter of listing the product backlog in priority order and plan releases. It’s important to understand that the release plan is not a static plan, thus it will change on a regular basis as the backlog is amended or as the velocity of the Scrum team changes.