Release is an integral agile approach that facilitates your product to reach your customers periodically with something new and enhanced. It is founded on the principle of continuous and incremental development. This allows you to frequently churn out deliverables and bug fixes that keep your product up to date and bug free, and in turn keep your customer satisfied.
A release can be defined as a compilation of user stories from your product with a definitive end date by which it needs to reach the customer.
Benefits
- Define the expected outcome that is required of your team.
- Guide your team towards the release goal within the defined timeframe.
- Track and manage multiple endeavors across a project.
- Plan and define your projects into phases that can be deployed.
- Get your product delivered to your end user on time.
- Reduce defects and get an idea of how to plan the next release.
- Improve the quality of your product by frequently scheduling releases that incorporate feedback and requirements.
Release management
Release management is a cyclic process with various stages. A release could contain a new product, a version, or an update with enhancements and issue fixes. All these releases go through a series of stages that include requirements gathering, writing the requirements as user stories, tasks, and bugs, working on those work items, reviewing the release items, and finally deploying the iteration.
The release planning in agile calls for the studying and determining the team’s progress, the length of the project, and the priority of the items in the backlog that are eligible for that iteration. Optimization of time, effort, and requirements is key to achieving a productive release.
Example
Let's assume you are an automobile manufacturing unit that manages your various projects on the kanban board. Each model of automobile can be tracked as a different release with the work items related to that model being displayed on that release board. The releases will be under different stages allowing you to plan, develop, and deliver each of them within set time limits.
To start planning your release, you need to consider the following factors:
- Timeframe: Every release should have a predefined timeframe and stick to the intended date to avoid derailing the customer's satisfaction.
- Budget: Estimate the budget required to complete the release. In the above case, you can estimate the budget based on the hours logged by your team members.
- Impact on existing customers: The release update should not affect the existing customers. You need to consult with your clients to check whether the planned product changes will affect the existing customers.
- Resource allocation: Plan your release based on your resource availability. Once a release kick-starts, there shouldn't be any delay in the delivery.
- Analysis of Backlog and Board: Take a look at your project backlog and items on the board. If the work items are related to the release that you're planning, then re-analyze the work items.
Once these five points are analyzed, you can start creating the release plan and add the required work items to it.
Sample release plan
Let's try to create a release plan for an online shopping portal that is looking to integrate with an online messages service and is launching an additional category for kids.
Release 1: Integration with online messaging platform
The plan for this release will include the following work items:
- Coordinating with the third party service
- Developing the UI for the integration
- Establishing security measures
- Checking for compatibility between the two services
- Gathering data on the possible ways the feature will be used by end-users
- Engineering the feature and merging it with the application
- Testing the the feature
- Fixing issues
- Creating user assistance manuals
Release 2: Add kids category
The plan for this release will include the following work items:
- Gathering the requirements for the category
- Developing the UI for the category
- Engineering the feature and merging it with the application
- Testing the the feature
- Fixing issues
- Creating promotional banners and ads
The following capabilities are available for releases module in kanban project: