
A full rewrite of a WebForms application means a long period with no delivered value and a hard cut-over. We avoid both by applying the strangler pattern: new functionality is built on .NET 10 behind a routing layer, and traffic moves module by module while the legacy application keeps running.
What to move first
Start with the module that changes most often, not the one that looks most impressive. Every week spent modernising a page nobody edits is a week not spent reducing the cost of the pages your team touches daily.
What to leave alone
A stable page with no pending changes and no security exposure is not a priority. Moving it anyway just to finish the migration adds risk without adding value — leave it running until it genuinely needs to change.
Proving the migration
Each module that moves is covered by characterisation tests written against the old behaviour first, so the migration can be proved rather than hoped for. A shared authentication cookie lets both applications run side by side, so users never see two logins.
Related service: WebForms and .NET modernisation.

