Release process
This page describes how we ship software to customers. It applies to all projects unless the SOW or customer agreement says otherwise.
Cadence
| Environment | Frequency |
|---|---|
| Development | Continuous, on every merge to main |
| Staging | Daily build |
| Production | Scheduled release, normally every second Tuesday |
Production releases avoid the last two working days of a month, because customers close their books. Check Company holidays 2026 when planning.
Release steps
- Cut the release. The release manager creates a
release/<yyyy.mm.dd>branch, see Branching strategy. - Verify scope. Check every ticket against the definition of done.
- Run regression tests on staging and record the result.
- Customer notice. The project manager gives the customer at least 3 business days' notice of the release, with release notes.
- Approval. The delivery manager approves the go-live. For fixed-fee milestone releases the customer's acceptance follows, see Deliverable acceptance.
- Deploy using the pipeline. Never deploy by hand.
- Smoke test production and watch dashboards for 60 minutes.
- Announce completion in the project channel.
Go and no-go checklist
| Check | Needed for go |
|---|---|
| Tests green on staging | Yes |
| Release notes sent | Yes |
| Rollback plan written | Yes |
| Backups verified | Yes, see SOP-IT-002 |
| Security scan clear of critical findings | Yes |
| On-call engineer named | Yes |
Rollback
If smoke tests fail, roll back using the documented plan:
# roll back to the previous tagged release
./deploy.sh production --release previous
Then open an incident. A failed production release that affects customers is treated as an incident under SOP-001: a P1 must be acknowledged within 15 minutes and a bridge call opened. See Report an incident.
Backups
Daily backups are kept for 35 days and restores are tested every quarter under SOP-IT-002. Confirm a recent backup exists before any release that changes data structures.
Emergency releases
Emergency fixes may skip the customer notice period if the customer agrees. The delivery manager (Maya Torres for most programmes) must approve, and the change is documented afterward.
Post-release
The team reviews the release in the next retrospective and updates the wiki if the process needs improving.
Owner: Daniel Okafor - Last updated: 2026-05-06