Migration Program
Moving applications, data, or infrastructure from one environment to another without breaking the business that depends on it. A reference on how migration programs are scoped, sequenced, and landed, and where they go wrong.
What a migration program is
A migration program moves a body of applications, data, or infrastructure from one environment to another. The destination is usually the cloud, a new data platform, a different data center, or a consolidated stack after an acquisition. It is a program rather than a project because the work spans many systems and teams that each own a piece, and the benefit, lower cost, more elasticity, a retired legacy platform, only lands when the portfolio moves together. The hard part is almost never the single move. It is sequencing dozens of interdependent moves so the business keeps running through every one of them.
The defining trait of a migration is that the target outcome is known and the value is mostly defensive. You are not inventing a new product. You are relocating something that already works, and the bar is that customers should not notice. That makes correctness, reversibility, and proof of parity more important than speed.
When you would run one
Migration programs get triggered by a forcing event more often than by ambition. The common ones are a data center lease ending, a vendor end-of-life or end-of-support date, a cost mandate to leave expensive hardware, a regulatory or data-residency requirement, or the integration of an acquired company onto the parent stack. The clearest signal that you need a program and not a project is that no single team can finish the move alone, and a slip in one team cascades into others.
Key characteristics and how it differs
The framework most teams anchor on is the 6 Rs, popularized by AWS, which assigns every application a disposition rather than treating the whole estate the same way.
| Strategy | What it means | When to use it |
|---|---|---|
| Rehost | Lift and shift with no code changes | Deadline pressure, low-value or stable apps |
| Replatform | Lift, tinker, and shift (for example, to a managed database) | Sound architecture that benefits from managed services |
| Rearchitect | Redesign for cloud-native patterns | Strategic, high-scale apps worth the investment |
| Repurchase | Replace with a SaaS product | Commodity systems like CRM, HR, or email |
| Retire | Decommission | Unused or redundant applications |
| Retain | Leave in place for now | Regulatory, latency, or dependency constraints |
What separates a migration from a build program is reversibility. Every wave needs a documented and tested rollback before its cutover window opens, because the failure mode is not a missed feature, it is an outage on a system that worked yesterday. It also differs from a pure infrastructure program in that the unit of work is the application and its data, not the platform, which is why dependency mapping is the central planning artifact.
Typical phases
Most migration programs move through a recognizable sequence:
- Discovery and inventory. Catalog every application, its data, and its dependencies. The dependency map you build here decides the order of everything that follows.
- Assessment and disposition. Score each workload against business value and technical fit and assign it one of the 6 Rs.
- Wave planning. Group applications into waves by dependency cluster so systems that talk to each other move together. Each wave runs assess, migrate, test, cut over, optimize.
- Migration execution. Run the waves, often with parallel tracks for rehost (fastest), replatform (medium), and rearchitect (a separate, longer timeline).
- Validation and cutover. Prove parity, run the go or no-go, open the cutover window with a rollback ready.
- Optimization and decommission. Rightsize and tune after the move, then retire the old environment so you actually capture the savings.
Core roles and stakeholders
A migration program leans on a migration or cloud architect for disposition and target design, application and service owners who know their systems and own the cutover decisions, infrastructure and platform engineers, a data engineering team for the data moves and reconciliation, security and compliance for the new environment, and finance, who care about the cost case and the date the old environment can be switched off. The program manager owns the wave plan, the dependency map, the cutover calendar, and the running risk picture. The decommission date is the one stakeholders forget, and it is where the financial benefit lives.
Common artifacts and tools
The program runs on a small set of living documents. A charter sets the scope, the in-scope and out-of-scope estates, and the decommission target. A wave roadmap sequences the moves so dependency clusters travel together. A RAID log tracks the assumptions and cross-team dependencies that migrations generate constantly, and a risk register scores the things that could cause an outage. A RACI matrix settles who actually owns each cutover decision, and a status report keeps executives current on waves complete versus waves remaining. Before the first wave, a pre-mortem surfaces the cutover failures people are quietly worried about.
Common risks and pitfalls
- Incomplete dependency mapping. The single most common cause of a failed cutover. A hidden integration that nobody documented takes down an unrelated system.
- Rollback as a slide, not a tested procedure. A rollback plan that has never been exercised is a hope, not a control.
- Lift and shift everything. Rehosting the whole estate is fast but captures almost none of the cloud benefit, so the cost case never materializes.
- Never decommissioning. Running old and new in parallel forever doubles cost and erases the business case.
- Data integrity gaps. Without reconciliation, you discover after cutover that records were dropped or duplicated.
Success metrics and what done looks like
A migration is done when the workloads run in the target environment at parity, the old environment is switched off, and the savings or capability the program was funded for is real. Useful measures include percentage of the estate migrated and decommissioned, cutover success rate and number of rollbacks, unplanned downtime during cutovers, data reconciliation accuracy, and run-rate cost before and after. The trap is declaring victory at migrated rather than at decommissioned. Until the old thing is off, you have added cost, not removed it.
Related reading
For the discipline underneath every program type, see the complete guide to program management. Migrations live and die on cross-team coordination, which is the subject of Managing Dependencies Across Eight Engineering Teams, and when a cutover slips you will need escalation paths with teeth. Compare this with the related infrastructure and platform program, and for the vocabulary, the program management glossary.
Written by Arsenii Samoilov, a Senior Technical Program Manager with 19+ years at Intuit, Atlassian, Adobe, Salesforce, Roku, and Apple. Standing up a program like this? Get in touch.
Browse all program & project types →