At the end of each sprint, you should have a product that is releasable to the customer. However, in the real world, you don’t always give each iteration to the customer. A release is a risk-prone activity and hence has to be carefully analyzed and planned.
What is the Release?
A release is when you give a product to its customer(s) i.e. Distribution of the product to its users.
Types of releases
Wide release | Distribution to all customers |
Pilot release | Distribution to a subset for feedback |
Beta release | Distribution to a subset to find issues |
You could do a combination of the above and do the release e.g. first the pilot and then the wide release.
The release is not a simple activity and often is a stressful time for an organization. Release often represents a large amount of work and there is uncertainty on how smoothly it will go. This means there is risk involved and hence organizations have to do appropriate pre-release work to mitigate the risk.
Mechanics of the Release
Impact Assessment
Companies do an impact assessment in 3 major areas to mitigate the release risk.
Quality Assessment
- You determine if the product is of sufficient quality to be released to the customer.
- It is not feasible to eliminate each defect before a release. Hence, based on the severity of the defect you will decide to go ahead with the release or postpone it.
- You will also analyze if there are security or performance issues before proceeding with the release.
Technical Assessment
- You will assess the release based on the size of the release i.e if the change is big or small and if it is big then you have to be more careful.
- You will also assess if it is a new product or an existing one. If the change is to an existing product then you have to be more careful.
- You will also have to analyze if the change to an existing product affects any other product.
Business Assessment
- You assess if there is a possibility of negatively impacting customer(s).
- You also assess if there are legal, regulatory or compliance checks to be done.
- You assess if the product has to be released by a particular date or time.
Communications & Training
Other than the above areas you have to also work on the Communications and Training.
If the release is small then you can provide release notes i.e. a list of new features and other things.
If the release is big and complex then the asses the following areas:
- Is communication with the public necessary?
- Do we need a press release?
- Internal communication within the company
- Customer communication
You have to ensure all the stakeholders are prepared with the release goes live.
The Release Process
For Software | Uninstall old and install the new version |
For Business Process | Implementation of a new policy with an effective date |
For Consumer Products | Varies substantially based on the type of product |
How does Agile help to make the release process easy?
Agile ensures the major activities are handled during the sprint itself like:
- User stories are never complete until they are tested.
- Testing is conducted during the sprint itself and not at any later date and this enormously reduces the release time.
- Agile releases are smaller and hence more manageable.
There will always be some risk but agile practices ensure the risks are more manageable.
When to conduct a release?
One of the principles of lean product development is that if there is a developed but unreleased work then that is waste.
Ideally it would be beneficial to release as soon as possible. However, you have to do that without harming the customer/user experience.
Understand your customers and plan your releases in a way so that the disruption causes minimum inconvenience to them.
Release as often as possible, taking into consideration how the frequency will impact the user experience.
Since unused features are waste, we want to minimize the amount of product that has not been delivered to customers, yet we need to balance that with any impact that releases have on their experience with the product.