Skip to main content
In this lesson I share practical lessons learned from migration projects that can help you save time and avoid common pitfalls. Migration is often the most challenging phase of a project. Deadlines, a steep learning curve, parallel workstreams, production incidents, training, reporting, and legacy orchestration can quickly overwhelm teams if not managed. Below are the key takeaways I wish I’d applied sooner — phrased as concrete actions you can adopt immediately.
  • Allow for a bigger delivery window
    Add contingency—days or even weeks—beyond your optimistic estimate. Even with careful risk mapping, unexpected problems will surface. Build buffer into your schedule, include time for discovery spikes, and explicitly define rollback and mitigation plans before you start.
  • Prevent migration scope creep
    Maintain a documented migration scope and an explicit inventory of systems, services, and observability components to migrate. Assign an owner for each item and use a checklist with clear acceptance criteria so nothing gets left behind. Regularly confirm scope with both engineers and their managers.
  • Escalate crucial issues early
    If you hit blockers outside your team’s control, escalate immediately. Engage management to resolve cross-team dependencies, resource constraints, or organizational blockers. Let managers handle political negotiations so engineers can focus on execution.
  • Provide and maintain visibility
    Share regular status updates (progress, blocked items, risks) with stakeholders and managers. Provide dashboards or tracking boards so everyone sees the same information. Proactive visibility reduces miscommunication and prevents last-minute surprises.
The image lists four learned lessons: allowing for bigger delivery time, ensuring migration control, escalating crucial issues, and providing visibility, each with a brief explanation.
Keep stakeholders posted on progress and on items blocking you. Frequent, concise updates reduce friction and help managers prioritize or resolve issues that impact delivery.
LessonWhy it mattersPractical steps
Allow for a bigger delivery windowUnforeseen technical and organizational risks are common in migration workAdd contingency time, plan discovery spikes, and document rollback strategies
Prevent migration scope creepUntracked components create post-migration firefights and gapsCreate a migration inventory, assign owners, and use acceptance checklists
Escalate crucial issues earlyCross-team dependencies can block progress and delay go-livesEscalate blockers to managers immediately and track resolution SLAs
Provide and maintain visibilityLack of shared context breeds confusion and last-minute issuesUse dashboards, regular status updates, and an agreed-upon escalation path
A consistent communication strategy—regular updates, clear owners, and a documented scope—resolves most common migration problems before they escalate.
Action checklist (quick reference)
  • Define migration scope and inventory before kickoff.
  • Assign owners and acceptance criteria for each component.
  • Build contingency into timelines and plan rollback paths.
  • Establish an escalation path and involve management for cross-team issues.
  • Publish a single source of truth (dashboard or tracking board) and send concise, regular updates.
Further reading and references That’s it — these are the core lessons learned from migration work. With good planning, disciplined communication, and clear ownership, most of these issues are avoidable. I hope you found this useful.

Watch Video