On this page
- Quick read
- Readiness check
- Record the migration state before the handoff
- Keep the rollback path executable
- Name the next decision and owner
- Test the handoff with a second engineer
- Freeze unrelated schema changes
- Verify the destination after the handoff
- Review the handoff after the window
- Role brief
- Frequently asked questions
- Sources
Is the handoff ready?
Use these checks before access expands or the first ticket begins.
State
Ready: Migration version and application version are recorded for each environment.
Needs work: A note that says the migration is done without naming the app version.
Rollback
Ready: Commands, backup location, and duration are tested.
Needs work: A down script that has never been run.
Decision
Ready: The next question, owner, and deadline are written.
Needs work: A migration waiting for an unnamed approval.
Verification
Ready: A destination query and its result are attached.
Needs work: A status label with no observed output.
Record the migration state before the handoff
A migration handoff should begin with the current state of the schema, not a summary of what the engineer intended. Record the migration version applied to each environment, the pending scripts, and the checks that have run. Note the exact commit and the database snapshot used for the last rehearsal. The next engineer should be able to see whether the change is half-applied, fully applied, or still only planned.
Separate the schema state from the application state, because a migration can be applied before the code that depends on it is deployed. Record which application version expects the new schema and whether that version is live. A handoff that says the migration is done without naming the application state can cause a deploy to fail. Use one shared record for both states.
Keep the rollback path executable
A rollback plan is only useful if the next engineer can run it without reconstructing the original environment. Write the exact commands, the backup location, and the expected duration. Test the rollback in a staging copy and record the result. If the rollback depends on a person or a credential, name them and confirm availability before the handoff.
Distinguish a reversible migration from one that destroys data. A column drop or a type change may not be reversible without a backup, so the handoff should state the backup time and the retention period. Do not describe a destructive change as reversible just because a down script exists. The reviewer should see the data consequence in plain language.
Name the next decision and owner
The handoff should end with the next decision, the person who will make it, and the time by which it is needed. The decision might be to proceed to production, to run a second rehearsal, or to pause for a data check. Write the question in one sentence so the next engineer does not have to infer it. A migration that waits for an unnamed approval is a migration that will be rushed later.
If the decision requires a business owner, include the evidence that owner needs. A schema change that affects reporting may need a finance review, while a change that affects access may need a security review. Record the review status and the contact. The next shift can then follow up with the right person instead of guessing.
Test the handoff with a second engineer
Before the handoff, ask a second engineer to read the record and explain what they would do next. If they cannot state the current version, the rollback command, and the next decision, the record is incomplete. Fix the record before the original engineer goes offline. The test should use the same systems the next engineer will actually use.
Run one dry-run command from the record in a non-production environment and confirm that the output matches the note. A command that works on the author's machine but fails in the shared environment is not a handoff. Record the result of the dry run and the time it was performed. That evidence gives the next shift confidence to act.
Verify the destination after the handoff
The receiving engineer should verify the destination state rather than trusting the note. Check the migration table, the schema version, and one application query that depends on the change. Record the verification time and the result. A handoff is not complete until the next person has observed the state for themselves.
If the verification fails, stop and return to the last known good state. Do not attempt a second migration on top of an unverified first one. Record the failure, the rollback action, and the owner who decided to stop. The record should make the recovery path obvious to the next person.
Review the handoff after the window
After the migration window, review the handoff record with both engineers. Ask which field was most useful and which was missing. Check whether the rollback was tested and whether the destination verification caught anything. Record one change to the template for the next migration.
Compare the actual duration with the estimate and the actual data impact with the plan. A migration that took twice as long may indicate an untested dependency rather than a slow engineer. Update the estimate method and the rehearsal checklist. The next handoff should be easier to verify, not longer to read.
Copy-ready brief
Put the operating agreement in writing.
The engineer records state, rollback, and evidence before going offline.
The client reviewer confirms the data consequence and the release decision.
The client technical owner runs or approves the production migration.
Frequently asked questions
Who should own a migration handoff?
The engineer who started the change owns the record until a named receiver confirms the state and the next decision.
Is a down script enough for rollback?
No. Test the rollback in a staging copy and record the backup, duration, and any data loss.
Can unrelated schema changes continue during the window?
Only with the migration owner's review and a recorded decision. A freeze is the safer default.
Sources
- NIST Secure Software Development Framework
Authoritative guidance used to frame this field guide.
- CISA Secure by Design
Authoritative guidance used to frame this field guide.
- OpenTelemetry documentation
Authoritative guidance used to frame this field guide.
