Skip to content
guide

Why a phased Jira migration can be the riskier choice

Most teams ask for a phased migration because it feels safer, but when spaces share links, roll-ups, scripts, and global apps, phasing splits one connected system into two broken ones. For instances like that, a single well-rehearsed cutover carries less risk, less coordination, and fewer surprises than moving in batches.

What the customer asked for

The customer came to us wanting a phased move of Jira and Confluence from Data Center to Cloud. Their reasoning made sense on paper. Move a few spaces at a time, keep disruption low, limit downtime, and give each business unit its own window and its own announcement.

I hear this request often. Phasing sounds careful. It sounds like the option a responsible team picks. But whether it is actually safer depends on how connected the instance is, and nobody had looked at that yet.

Why phasing looked safer than it was

Once we opened up the instance, the picture changed. The spaces were not separate islands. They were one system, and phasing would have cut it apart.

Connected spaces do not split cleanly

Teams had built cross-space links, planning boards, and roll-ups that pulled work from several processes into one view. Move half of those spaces to Cloud and the links point at a server that is still on Data Center. The roll-ups break. For weeks or months, people would work in two disconnected systems, and neither one would show the full picture.

Global apps hide their users

Several marketplace apps were installed globally. That means any space could use them, and nothing in the admin screens tells you which spaces actually do or how much they depend on the app. In a phased plan, every batch needs an answer to that question. Getting it wrong means a team lands in Cloud without a feature they rely on every day.

Some apps do not support phased moves

Not every vendor supports moving data in pieces. For those apps, each batch creates cleanup work in Cloud. You repeat that cleanup after every wave, and each round is a chance to miss something.

Test environments cannot predict field merges

This was the part most people underestimate. The Jira Cloud Migration Assistant can merge custom fields during a migration to cut down duplicates. Predicting exactly which fields will merge is hard, and a sandbox rarely matches production closely enough to tell you. With one cutover, you test against one known state. With several waves, every wave lands on a Cloud site that has already changed, so your earlier test results stop being reliable.

Two live systems means two freezes

A phased plan only works if both sides hold still. One new field on Data Center, or one configuration tweak in Cloud, can create a duplicate on the next wave. So you need a change freeze on both systems for the whole program, and you need to maintain both systems the entire time. In practice, freezes slip, and the gaps show up as duplicates and broken configuration later.

How we found it

None of this was obvious from the outside. We had to map the instance before anyone could make a real decision. The analysis took time, and that time is part of the lesson.

  1. We mapped cross-space links to see which spaces depended on each other.
  2. We inventoried scripts and traced which spaces they touched.
  3. We listed the apps in use and checked which spaces relied on each one, and how heavily.
  4. We checked each app's migration path, including whether it supported moving in batches.
  5. We worked with the customer to learn which business units used which spaces, and how they used them.

When we laid the results side by side, the answer was clear. Any way we grouped the batches, some teams would lose links, roll-ups, or app features for a stretch of time. The planning, analysis, and communication a phased plan required would have hit every team harder than one cutover.

The decision they had to make

We put the trade-off in front of them plainly. A phased migration would mean:

  • A large, ongoing investment in coordination and analysis for every batch.
  • Harder testing, because no sandbox would match the state of each wave.
  • A longer program with more chances for delay.
  • A higher risk of duplicate fields and drifted configuration.
  • Approvals and scheduling across several business units, each with its own dependencies.

Set against that, a single cutover meant one freeze, one test target, one communication plan, and one weekend where everyone knew what was happening. Once they saw the dependency map, they chose the single cutover.

When phasing still makes sense

Phasing is not always wrong. It can be the right call in a few situations.

  • The instance has few marketplace apps and little cross-space linking or reporting.
  • You want to start Cloud adoption with business units where disruption carries less risk, learn from those moves, and bring the most business-critical systems over last.
  • The organization is large enough that a single cutover is not practical, and the business units work mostly on their own.

The point is to decide from the dependency map, not from how the word phased sounds in a steering meeting.

What a single cutover still demands

A single cutover is not the easy option. It moves the risk into one window, so the preparation has to be serious.

  1. Map dependencies first, so you know what has to work on day one.
  2. Rehearse the migration against a copy of production and review how fields merged.
  3. Freeze configuration changes on the source ahead of the final run.
  4. Agree on a test plan with each business unit before cutover, not after.
  5. Send one clear communication plan that covers what changes, when, and who to call.

Where this connects to identity and agents

The hardest question in this engagement was simple: who uses what, and how much do they depend on it? Nobody could answer it for global apps or scripts that had quietly run for years with broad access. That same question sits at the center of governing automation and agents. If you cannot say which scripts and apps act on which spaces, and on whose behalf, you cannot govern them in Cloud either. A migration is the best moment to build that inventory and give every piece of automation an owner.

Questions we get

Is a phased migration safer than a single cutover?
Only when spaces are truly independent. If spaces share links, roll-ups, scripts, or global apps, phasing splits one connected system into two and usually adds risk.
When does a phased migration make sense?
When the instance has few apps and little cross-space linking, when you want to start with lower-risk business units and move critical systems last, or when a large organization has business units that work mostly on their own.
How do we know if our instance is too connected to phase?
Map cross-space links, script usage, and which spaces rely on each app. If most batches would break a link, a roll-up, or an app feature, a single cutover is likely the better plan.
Why can't a sandbox tell us exactly how custom fields will merge?
A sandbox rarely matches production exactly, and in a phased plan each wave lands on a Cloud site that has already changed. Earlier test results stop matching what the next wave will do.
Do we need a change freeze during a migration?
Yes. In a phased plan you need it on both Data Center and Cloud for the whole program. A single cutover needs a shorter freeze on the source before the final run.
What happens to marketplace apps that don't support phased migration?
Each batch leaves cleanup work in Cloud, and you repeat it after every wave. Check each app's migration path before you choose a strategy.

Get an agent readiness assessment

Fixed scope. You get a findings report across identity, platform, and governance, an ownership gap analysis, and a sequenced plan for closing it.