This checklist is completed for every production deployment. Every item is
Pass, or a justified N/A. A Fail blocks the release until it is resolved and
re-verified.
The standard. A consistent pre-release assessment — the checklist in this document — that every production deployment passes.
Release details
| Field | Value |
|---|
| Release / version | |
| Application component(s) | |
| Change / ticket reference | |
| Target deployment date and window | |
| Prepared by | |
| Date prepared | |
A. Code quality and peer review
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 1 | Feature branch and versioning | Change developed on a feature/<ticket> branch from dev, linked to a tracked ticket | Developer | |
| 2 | Pull request review | Approved by the required reviewers at every promotion; all comments resolved | Reviewers | |
| 3 | Formatting and linting | Formatters and linters pass; pre-commit hooks green | Developer | |
| 4 | No secrets committed | Secret scan and review show no credentials, keys or tokens | Developer / Reviewer | |
B. Automated testing
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 5 | Unit tests | All pass; coverage meets the agreed threshold | Developer / QA | |
| 6 | Integration tests | Services connect to their dependencies; health checks pass | Backend | |
| 7 | Build and image publish | Image builds, is tagged, and is pushed to the registry | DevOps | |
| 8 | Static quality gate | Quality gate passed; no new blocker or critical issues | DevOps / QA | |
C. Security
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 9 | SAST | No new critical vulnerabilities or unreviewed hotspots | Security / DevOps | |
| 10 | DAST | High-risk findings triaged and remediated or formally risk-accepted | Security | |
| 11 | Image scan | No unresolved high or critical CVEs in the deployed images | DevOps / Security | |
| 12 | Security posture | Security Hub and Config show no unresolved critical findings | Cloud / Security | |
| 13 | IAM least privilege | Task and execution roles scoped to need; no wildcard admin | Cloud engineer | |
| 14 | Secrets management | Secrets read at runtime from Secrets Manager or Parameter Store | DevOps | |
D. Infrastructure as code
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 15 | Terraform validate and lint | fmt, validate and tflint pass | DevOps | |
| 16 | Plan reviewed | Plan approved; no unexpected destroy or replace | Cloud lead | |
| 17 | Environment parity | Staging mirrors production and both come from the same definitions | DevOps | |
| 18 | Networking and TLS | HTTPS enforced; certificate valid; security groups least-open | Cloud engineer | |
| 19 | Auto-scaling | Scaling policies configured for expected production load | DevOps | |
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 20 | Load test | Meets p95 latency, throughput and error-rate targets at expected peak | QA / DevOps | |
| 21 | Performance test | Within SLO; no regression against baseline | QA | |
| 22 | Resource sizing | Compute sizing validated against observed load-test utilisation | DevOps | |
F. Resilience and disaster recovery
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 23 | Resiliency assessment | Resilience Hub score meets the target policy, including RTO/RPO | Cloud lead | |
| 24 | Rollback path | Previous version available; automatic rollback on failed health checks confirmed | DevOps | |
| 25 | High availability | Workload spans multiple AZs; database is Multi-AZ or the exception is recorded | Cloud engineer | |
| 26 | Backup and restore | Automated backups enabled, retention meets policy, restore tested | DBA / Cloud | |
G. Monitoring and observability
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 27 | Dashboards | Dashboards exist for each component with the key metrics visible | DevOps | |
| 28 | Alarms | Alarms configured for CPU, memory, error rate, latency and data-tier health, each with a target | DevOps | |
| 29 | Centralised logging | Application and platform logs shipped with an appropriate retention period | DevOps | |
| 30 | Alert routing | Critical alarms reach the on-call channel; delivery verified | DevOps | |
H. Data
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 31 | Migrations reviewed | Backward compatible or reversible; applied successfully in staging | Backend / DBA | |
| 32 | Pre-deployment snapshot | Snapshot taken before any schema or data change | DBA | |
| 33 | Data protection | Encrypted at rest and in transit; access least-privilege | Security | |
I. Configuration and release
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 34 | Environment configuration | Production parameters verified; no staging values leaking in | DevOps | |
| 35 | Feature flags | New features gated for a controlled rollout | Product / Dev | |
| 36 | Third-party integrations | Payment, messaging and logistics integrations validated in staging | Backend / QA | |
| 37 | Release tagging | Git tag created with release notes | DevOps | |
J. Documentation and communication
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 38 | Release notes | Prepared and shared with stakeholders | Product / Dev | |
| 39 | Runbook updated | Deployment and rollback runbooks updated for new components | DevOps | |
| 40 | Stakeholder communication | Deployment window and impact communicated | Project lead | |
| 41 | Maintenance window | If downtime is possible, scheduled in an agreed low-traffic window | Project lead | |
K. Final approval
| # | Item | Acceptance criterion | Owner | Status |
|---|
| 42 | All items complete | Every item Pass, or a justified N/A recorded | Head of Engineering | |
| 43 | Production sign-off | Authorised approver has signed off | Head of Engineering | |
Sign-off
| Role | Name | Signature | Date |
|---|
| Prepared by (DevOps) | | | |
| Reviewed by (QA / Security) | | | |
| Approved by (Engineering lead) | | | |
Notes and justifications (required for any Fail or N/A):
Using this checklist well
- Start it at the beginning of the release, not the night before.
- An item marked N/A needs a written reason. "Not applicable" is not a reason.
- The checklist is evidence, not a formality — attach the referenced reports.
- If the same item fails repeatedly, the process behind it needs fixing, not a
reminder.