When releasing Avalon code to one of the IU instances of the application, the process involves
- Bringing the version of Avalon that we are targeting to the proper branch in the IU repository (see Git workflow between Avalon-core and Avalon-IU for the details of the repository steps)
- Going through certain steps to confirm readiness.
- Once the code is deployed to the proper staging branch and customizations have been applied, we go through a QA process:
- to validate performance
- to validate the deployment
- to validate customizations
- Whenever possible, we should involve users on the validation. For a release with substantial changes, this is a requirement.
- If the QA process finds problems that were not identified as known issues:
- Discuss the impact of the problem with PO
- If the problem results in a loss of functionality and there is the desire to proceed with the release, consult users about it the problem for their agreement. Without the agreement from users, loss of functionality is not acceptable.
- if the decision is to not proceed until the problem is fixed:
- come up with an time estimate for the delivery of the resolution
- make new plans according to the estimate in terms of setting a new date for the release
- Announce the new date to the users.
- When a fix needs to be made in the IU branch of the application, follow the process described in the Git workflow between Avalon-core and Avalon-IU to contribute the fix back to the core code.