Describe what is failing

A migration proposal should explain what someone can no longer do safely. 'Our framework is old' leaves too much open. 'We cannot deploy a security fix without rebuilding three applications by hand' gives the team a problem it can investigate. Write down a recent example, the people involved, and the work required to get through it.

That distinction changes the options. A shared build script might remove the immediate risk. A framework upgrade might still be necessary, but now it has a specific job. Agree on what improvement would count before choosing the implementation: for example, another engineer can release and roll back a patch using the documented process.

Ask the people who will operate it

For a deployment change, bring in someone who carries the pager and someone who maintains the build. Ask them to walk through a failed release. Which credentials do they need? Where would they look for logs? Who can restore the previous version? These questions tend to expose missing work faster than a presentation of the proposed architecture.

Write each unresolved question beside a named owner. A concern recorded as 'the platform team will handle this' can disappear between teams. A short decision note should explain the choice and the cost being accepted, with links to the work that remains.

Choose a pilot that can fail usefully

Try the change on one path that includes the difficult dependency. If the risk is session compatibility during an upgrade, a public page with no login proves little. Choose a small authenticated flow and run old and new versions against the same expected behavior.

Before starting, decide how to restore the previous path. Code rollback alone may be insufficient after a data migration. Check whether the old application can still read newly written records. If it cannot, the rollout needs a different sequence or a tested recovery procedure. Stop the pilot when that recovery path fails, even if the new screen looks correct.

Put migration work on the schedule

Name the product work that will move to make room. An initiative with no allocated time usually becomes evening work for its most committed engineer. The resulting schedule hides both its actual cost and the lack of backup.

Have a second engineer perform a deployment using the instructions. Let that person correct the instructions where they get stuck. Repeat with a rollback. This is a better handover check than asking whether everyone has read the document.

Finish the removal work

After the new path has handled ordinary releases and a recovery exercise, review the original failure. Can someone else now ship the security patch? If the answer still depends on finding the person who wrote the migration, there is more work to do.

Give the old deployment job, temporary compatibility code, and duplicate alerts removal tickets with owners. Keep any fallback that still has a clear purpose, with a date to revisit it. Otherwise the team inherits two systems to maintain and the migration quietly increases the workload it was meant to reduce.

← Back to articlesSend me a note ↗