DEV Community

Cover image for Migrating a critical module without pausing delivery: how I did it
Amine Affif
Amine Affif

Posted on

Migrating a critical module without pausing delivery: how I did it

A critical scheduling module ran on Vue. It had to move to React, and the product couldn't stop for three months.

The obvious approach is to rebuild everything and switch over in one go. It's also the riskiest: if something breaks on the day, there's no way back.

We did something else. Both versions stayed usable in parallel for three months. We could move a user to the new one, then bring them back to the old one, without losing their context.

The real technical problem was state. Filters, period, position on the screen: all of it had to follow the user in both directions, from the old version to the new one and back. If the state doesn't carry over, the user sees the seam, and stops trusting the new version.

That means keeping the transfer alive for the whole migration. In exchange, there's no single risky switch-over, and no freeze on delivery.

The project also included bulk actions and nine languages. There were eight of us, and the project ran for three months.

A user who switches versions without losing their filters has nothing to wonder about. That was the goal.

Amine Affif, full-stack developer in Paris. amineaffif.com

Top comments (0)