← All resources

Is the product production-ready? A practical pre-launch checklist

What to review before launching a SaaS, CRM, mobile app or AI system: environments, security, monitoring, backups, releases and ownership.

Production is a set of responsibilities

Publishing is one moment. Readiness means safe releases, visible incidents and recoverable service.

01ReleaseBuild, config, migrations and rollback
02VisibilityErrors, latency, logs and alerts
03ProtectionAccess, secrets, backups and data
04OwnershipIncident owner, runbook and support

Test restoration, not only backups

A short failure rehearsal often finds more than a long checklist.

01Find riskWhat can stop the critical journey
02Trigger failureDowntime, bad config or dependency error
03RestoreRollback, backup and manual procedure
04DocumentOwner, runbook and next action

Production is not a publish button

Ask where the product runs, who changes configuration, how a release moves and what happens when it fails.

Use separate environments, secret management, access control and a repeatable release procedure for SaaS, internal CRM and AI systems alike.

Make the critical path observable

Logs should explain what happened without leaking secrets or unnecessary personal data. Metrics expose latency, errors and load; health checks show whether the service is available.

An alert without context becomes noise. Include version, environment, operation and a recovery reference for critical incidents.

A backup is not a restore

Verify that backups run, are accessible and can be restored. Define acceptable data loss and downtime.

Rehearse databases, files, secrets, queues and external dependencies that affect recovery.

Access and security

Every access needs an owner, lifetime and revocation path. Separate development, test and production rights, protect sensitive accounts and keep keys out of the repository.

Review personal data, admin audit, upload limits and expired sessions as part of the user journey.

Releases must be reversible

Review migrations, API compatibility and rollback before release. Use a limited rollout or manual approval for risky changes.

A release is not ready if only its author knows how to undo it.

Handover is part of the result

Deliver environment maps, release instructions, integration owners, access ownership, backup procedures and known limitations with the source code.

Agree who watches incidents, makes urgent decisions and plans the next iteration.

Readiness is a tested recovery journey

Before launch, the team should know how failure is detected, who receives the signal, what happens first and how much data may be lost. A backup without a restore test is not proof of readiness.

Test database restore, secret rotation, rollback, external API degradation and queue recovery after restart. Each scenario needs an owner and a short runbook.

Security and access belong to operations

Remove test keys, restrict service-account permissions, audit sensitive actions and define log retention. Verify that personal data does not leak into traces or notifications.

Production access should be individual and revocable without downtime. Separate deploy, data-read and administrative permissions so an incident cannot become an uncontrolled change.

Go-live needs a focused observation window

Do not turn monitoring off after launch. Compare latency, errors and load with the baseline, and track manual workarounds and support questions.

Define success and stop criteria in advance. If metrics degrade, the team should know when to roll back and when more context is needed.

Readiness starts with ownership boundaries

Assign an owner to every critical contour: application, database, queue, integration and support. The owner does not have to fix everything personally, but owns the signal, runbook and recovery decision.

Review access separately for development, staging and production. Keep permissions minimal, audit emergency accounts and revisit them on a schedule.

Test recovery in practice

A backup is real only after a restore in an isolated environment. Measure database, file and worker recovery time and record the acceptable data loss.

Make degradation visible: what happens when payment, a queue or an external API is unavailable? A clear failure is safer than an endless spinner and duplicate commands.

A release should be reversible

Prepare migrations, feature flags and rollback steps before publishing. When a schema cannot roll back with code, use a compatible transition, switch reads and remove the old field later.

Review facts after launch: errors, latency, queues, cost and support requests. Production readiness is a repeatable loop, not a one-time checkbox.

Readiness is measured by recovery, not checkboxes

Test rollback time, database restore and queue redelivery. The team should know which actions are safe without a developer and where the current runbook lives.

A degradation drill is more valuable than a perfect smoke test: disable a dependency, fill disk or delay a webhook and observe whether the next action is clear.

Hand over context, not only source code

Handover includes access, environments, alerts, backups, constraints and known trade-offs. Without it, a new owner receives code but no safe way to change it.

Run a joint incident review or restore exercise. It exposes gaps that polished documentation often hides.