Product Release & Deployment
End-to-end release procedure covering version preparation, staging validation, production deployment, monitoring, and rollback criteria.
Purpose
Deploy software releases safely and consistently by following a structured process that minimizes risk and ensures rapid rollback capability.
This is a TEAM template — included with the Team plan.
Steps (7)
Release Branch Preparation
Create the release branch. Update version numbers and CHANGELOG.md. Tag the release candidate. Push and trigger CI.
Checklist
- Release branch created
- Version numbers updated
- CHANGELOG.md updated with all changes
- Breaking changes documented
- Release candidate tagged
- CI pipeline passing
- Release notes drafted
Expected Output
Release branch created, versioned, and tagged. CI passing.
Staging Environment Deployment
Deploy the release candidate to staging using the exact production deployment process. Verify the correct version is running and the environment is healthy.
Checklist
- Release candidate deployed to staging
- Staging version matches release tag
- Database migrations run successfully
- Environment variables configured
- Health check endpoint returning healthy
Expected Output
Staging deployment successful. Application healthy.
Staging Validation & QA
Run automated test suite (e2e, integration). Execute manual smoke tests for critical flows. Test each new feature against acceptance criteria. Fix bugs on the release branch and re-tag.
Checklist
- Automated e2e tests passing
- Integration tests passing
- Manual smoke tests completed
- New features tested against acceptance criteria
- Edge cases tested
- Performance check — no regressions
- Bugs found fixed and new RC tagged
Expected Output
All tests passing on staging. Release validated for production.
Pre-Deployment Checklist
Verify: database backup, rollback procedure, on-call team notified, deployment window approved, monitoring dashboards open, team available.
Checklist
- Production database backed up
- Rollback procedure documented and tested
- On-call team notified
- Deployment window approved
- Monitoring dashboards open
- Deployment team available for full window + 1 hour
- Feature flags configured for production
Expected Output
Pre-deployment checklist complete. Team is go for production.
Production Deployment
Execute the deployment using the validated process. Route canary traffic (1-5%), monitor for 15 minutes, then full rollout. Keep old version available for rollback.
Checklist
- Deployment started — communicated to team
- Database migrations run
- Canary traffic routed and monitored for 15 minutes
- No error spikes — proceed to full rollout
- Old version kept available for rollback
- Health check and version endpoint verified
- Deployment complete — communicated to team
Expected Output
Production deployment successful. New version serving all traffic.
Post-Deployment Verification
Perform production smoke tests. Monitor dashboards for 30-60 minutes: error rates, response times (p50/p95/p99), database query times. Compare metrics to pre-deployment baselines.
Checklist
- Authentication flow tested in production
- Core user flows verified
- New features verified in production
- Error rate within baseline
- Response times within baseline
- Database query times normal
- Background jobs processing normally
- 30-60 minute monitoring period completed
- Rollback NOT needed
Expected Output
Production verified healthy. All critical flows working.
Release Finalization
Merge release branch to main. Create final release tag. Publish release notes. Close the release ticket. Plan gradual rollout for feature flags.
Checklist
- Release branch merged to main
- Final release tag created
- Release notes published
- Stakeholders notified
- Release ticket closed
- Rollback environment maintained for 24-48 hours
- Deployment lessons learned captured
Expected Output
Release finalized. Tags created. Release notes published. Deployment complete.