What is a release demo?
A release demo in an agile development team showcases the latest pre-launch developments in software or a product. In most cases, the agile development team will hold a release demo at the end of an iteration. The main objective of a demo release is to ensure all the stakeholders in a project understand the progress of the iteration and the whole project.
The release demo can include a few stakeholders or the entire organization depending on:
- The organization’s policy
- The size of the project
- The size of the team
- The iteration
If the project is in the final stages, a release demo can be extensive, involving many stakeholders.
After a demo release, the stakeholders provide feedback to the agile development team or the project owner. Where necessary, everyone involved can hold discussions to re-prioritize the issues in the product backlog.
A release demo is simply a method of accessing the current state and getting feedback from all the stakeholders interested in it, such as the customers, project owners, and sponsors. The release demo aims to measure the progress, value, and velocity of the project.
Sometimes preparing for a release demo might take up some time since it involves a bit of preparation. However, that is how you get feedback to proceed with the project successfully.
The Best Timing for a System Release Demo
The system demo should take place towards the end of an iteration. However, some factors can delay the demo, such as immature continuous integration. The integration process may slow down also due to simulation tools, new interfaces, and some environmental factors.
The release demo should take place within the iteration time frames. The Agile Release Train (ART) or the agile development team and the relevant stakeholders must pull in their resources to ensure the system release demo takes place on time.
Suppose the release demo is taking longer than expected. It could indicate more extensive problems in the development team or the ART, for instance, the System Team capacity or the continuous integration maturity. A deferred or postponed release demo is worse because it might create a false sense of velocity and security.
What if the Release Demos Are Expensive?
Sometimes, it might be costly to do a release demo for every iteration. If the team finds it too expensive, here are the measures to take:
- Conduct less frequent demos or for very iterations until it is feasible to do more frequently
- The team can consider partial integration using prototypes instead of expensive elements
- Use test doubles to speed up integration and testing by substituting the expensive or the slow components with cheaper but fast proxies
A release demo or a sprint demo is conducted at the end of the sprint or product iteration. The sprint period varies depending on the organization, the development team, or the project. At the end of this period, the agile development team must present a project demo to the stakeholders to analyze the progress and make amendments.