Skip to content

Validated Recipe

Change requires PR.

Reviewers: default_reviewers

How To Execute Software Release

Goal: Successfully plan, execute, and document a software release while ensuring all stakeholders are informed and potential issues are addressed.

Related:

Steps

  1. Accomplish the goal Prepare Release Documentation
  2. Accomplish the goal Document Release Items
  3. Accomplish the goal Verify Testing Documentation
  4. Accomplish the goal Create Deployment and Communication Plans
  5. Accomplish the goal Document Additional Considerations
  6. Accomplish the goal Execute the Release
  7. Accomplish the goal Communicate Release Completion
  8. Done!

Prepare Release Documentation

  1. Create a new release document using the standard template.
  2. Fill in the "Release Purpose" section, explaining why this release is being pushed and who is leading it. Include the business justification.
  3. Complete the "Release Information" section with:
    - Link to the Release in Jira
    - Date of Release
    - Release Start Time
    - Planned Release Completion Time
  4. List all "Services to be Updated" with their base URLs.
  5. Document all "Dependencies and Prerequisites" including:
    - Requirements that must be fulfilled before release
    - Any specific versions of libraries or frameworks
    - Links to dependent releases
    - Whether Reporting is affected (if yes, communicate with Power BI team)
  6. Done!

Document Release Items

  1. For each application being released:
    - Document the application name and TAG being released
    - Note if a Framework Upgrade is required on the Server
    - Document any Web Config Changes Required, specifying the App Name
  2. For database releases:
    - Document the TAG
    - Include the Script to be Applied
    - Prepare and document the Backout Script
  3. Done!

Verify Testing Documentation

  1. Gather and link Int Testing Artifacts:
    - Link to Flight Plan/UAT Document
    - Upload Automation Testing Document
    - Upload Smoke testing evidence
  2. Have all required tests passed successfully?
    Yes:
    1. Proceed to the next step.
    No:
    1. Stop Now; failed

      Testing requirements not met. Address test failures before proceeding.

  3. Done!

Create Deployment and Communication Plans

  1. Document the "Deployment Plan" with steps to be taken before, during, and after the release.
  2. Document any expected downtime or potential impact on users.
  3. Create a "Communication Plan":
    - Identify key stakeholders who need to be informed
    - Document communication plan for internal teams
    - Document communication plan for external users if applicable
    - If field communication is required, refer to the BizWiz Release Notes template
  4. Create a "Monitoring and Rollback Plan":
    - Detail monitoring strategy during and after release
    - Specify criteria for proceeding or initiating rollback
  5. Done!

Document Additional Considerations

  1. Document "Post-Release Tasks" such as database optimizations or cache clearing.
  2. Address any "Security Considerations" associated with the release.
  3. If applicable, document "Performance Testing" details and results.
  4. Identify any "Training Requirements" for support teams or end-users.
  5. Document any "Known Issues" or limitations with the release.
  6. Specify "Feedback and Monitoring Channels" for gathering post-release feedback.
  7. Done!

Execute the Release

  1. Execute the deployment according to the documented deployment plan.
  2. Wait for For deployment completion.
  3. Has the deployment completed successfully?
    Yes:
    1. Proceed to post-release tasks.
    No:
    1. Accomplish the goal Execute Rollback Plan
  4. Complete any required post-release tasks.
  5. Execute post-release verification tests.
  6. Have all verification tests passed?
    Yes:
    1. Proceed to stakeholder communication.
    No:
    1. Accomplish the goal Execute Rollback Plan
  7. Done!

Execute Rollback Plan

  1. Initiate the rollback procedure according to the documented rollback plan.
  2. Notify the release team and relevant stakeholders of the rollback.
  3. Wait for For rollback completion.
  4. Verify system stability after rollback.
  5. Schedule a release retrospective to analyze the failure.
  6. Stop Now; failed

    Release not successful. System returned to previous state.

  7. Done!

Communicate Release Completion

  1. Update release documentation with actual release completion time.
  2. Document "Prod Testing Artifacts":
    - Link to Flight Plan/UAT Document
    - Upload Automation Testing Document
    - Upload Smoke testing evidence
  3. Send release completion notification to all stakeholders according to the communication plan.
  4. Schedule and conduct a post-release review meeting if needed.
  5. Done!