Choosing Between Rebuilding, Refactoring and Replacing Old Applications
Every organisation that has built or bought software over the past decade or two eventually faces the same question about its older applications. The system still works, mostly, but it’s getting harder to change, slower to support and more awkward to connect to everything else. Application modernisation is the decision about what to do next, and for most business applications it comes down to refactoring what you have, rebuilding it on a modern foundation or replacing it altogether. Choosing between those routes is a common starting point for the web application development for B2B and public sector organisations that Priority Pixels provides.
Each route has a different profile of cost, risk and time. None is right for every application, and the wrong choice can mean paying twice, once for the modernisation and again when it fails to solve the underlying problem.
Why Older Applications Reach a Decision Point
Applications rarely fail suddenly. More often the cost of keeping them running creeps up while their ability to support the business drifts down. The National Audit Office has reported that across government, the limitations of legacy systems and poor-quality data increase the cost of services, and the same pattern plays out in private sector organisations on a smaller scale.
The trigger for a decision is usually one of a handful of things. The framework the application was written in reaches end of support, a new requirement such as accessibility or a new integration can’t be met without major surgery, or the cost of each small change has become out of proportion to its value. Before choosing a route, it helps to assess the application against four questions.
Four questions
Assessing an Older Application
01
Does it fit the process
02
Is the code healthy
03
Is the platform supported
04
Is the data sound
An application that still fits the process and has reasonably healthy code is a strong candidate for refactoring. One where the process has moved on, the code is fragile and the platform is out of support points towards rebuilding or replacing. Most applications sit somewhere between those two, which is why the decision needs evidence rather than instinct.
Refactoring an Application You Want to Keep
Refactoring improves the internal structure of an application without changing what it does for users. It can mean upgrading to a supported version of the framework, replacing outdated libraries, splitting a tangled codebase into cleaner components, adding automated tests or moving onto modern hosting. The AWS guidance on migration strategies separates replatforming, where an application moves with a limited number of changes, from a full refactor that reworks its architecture, and the distinction is useful because the lighter end can deliver a supported, secure application with far less effort.
Refactoring is usually the lowest-risk route because users see little change and the work can be done in stages. Its limits are equally clear. If the application no longer matches how the business works, refactoring produces a better-engineered version of the wrong thing, and no amount of tidying fixes a data model that was designed for a different process.
Rebuilding When the Foundations Have Gone
Rebuilding means writing a new application that does the job the old one was meant to do, designed around how the process runs today. It keeps the knowledge of what the application is for while discarding the old code, the outdated architecture and the accumulated workarounds. A rebuild is also the natural moment to meet standards the original never considered, such as WCAG 2.2 accessibility, modern authentication and proper audit logging.
The cost and timescale are higher than refactoring because everything is built, tested and migrated again. Risk sits mainly in scope, since a rebuild invites every team to add the features they’ve wanted for years, and the discipline that keeps it on track is a written scope agreed before development starts. For public sector organisations, a rebuild is often the most practical way to bring an older internal system up to current accessibility expectations, and Priority Pixels builds every web application to WCAG 2.2 AA as standard alongside its wider accessibility work.
Replacing the Application Altogether
Replacement means retiring the application and moving its function elsewhere. That might be an off-the-shelf product that now covers the need well, or a feature within a platform you already pay for. Sometimes the right answer is to retire a function entirely because the process it supported no longer exists.
Replacing with a product can be quick to start and removes the burden of maintaining code, but it moves the risk into fit and flexibility. The organisation adapts to the product, pays licence fees for as long as it uses it and depends on the vendor’s roadmap, and the product still needs connecting to your other systems through systems integration. Government guidance on defining a purchasing strategy asks teams to understand the full cost of building or buying and the whole lifecycle of a product before choosing, which is sound advice for any organisation.
Whichever route you take, moving users and data from the old application needs its own plan. Phased migration, parallel running and data reconciliation keep the business working while the change happens, and they apply just as much to a rebuild as to a replacement. Our guide to modernising legacy systems without disrupting the business covers that migration plan in detail.
How the Three Routes Compare
Laid side by side, the trade-offs become easier to weigh. The table below compares the three routes on the factors that usually decide the matter for a mid-sized organisation.
| Route | Cost profile | Main risk | Timescale | Suits |
|---|---|---|---|---|
| Refactor | Lowest, can be staged | Keeping a poor fit | Shortest, in stages | Sound process and code |
| Rebuild | Highest upfront | Scope growth | Longest, in phases | Changed process, old platform |
| Replace | Lower upfront, ongoing licences | Fit and lock-in | Quick to start | Standard process a product covers |
Cost here means total cost over the life of the application rather than the initial project. A refactor that buys several more years of supported running may be better value than a rebuild, while a product with modest setup costs can become the most expensive option once licences, integrations and workarounds are added up. The Cabinet Office guidance on preventing technical debt and legacy recommends making money available for future remediation and upgrades whichever route you choose.
Making the Application Modernisation Decision
The decision is easier when it’s made on evidence gathered in a short, structured assessment. That assessment looks at the code, the platform, the data and above all the process the application supports, and it involves the people who use the system rather than only those who manage it. Platform support dates belong in it too, because under Microsoft’s Fixed Lifecycle Policy products beyond end of support only receive security updates through a paid extended programme.
A structured assessment usually follows four steps. Each one narrows the options until the right route is clear.
-
1
Map the process
Walk through how the application is used today, including the workarounds. Note where the process has moved on from the original design.
-
2
Assess the code
Review the codebase, dependencies and hosting for health and support status. Identify what can be kept and what can’t.
-
3
Check the data
Profile the data for quality and structure. Poor data affects every route, so it needs a plan either way.
-
4
Compare the routes
Estimate cost, risk and timescale for each viable option. Choose on whole-life value rather than upfront price.
Application modernisation doesn’t have to be a single project either. Many organisations refactor to buy time, then rebuild one area at a time once the priorities are clear. If you have an application approaching that point, Priority Pixels starts with a discovery stage that maps the process, the systems and the exceptions, then gives you a written architecture recommendation and a route for custom software development before any build is scoped.
FAQs
What is application modernisation?
It is the process of updating an older business application so it stays supported, secure and useful. The usual routes are refactoring the existing code, rebuilding the application or replacing it with something else.
Is it cheaper to refactor or rebuild an application?
Refactoring usually costs less upfront because the existing application is improved rather than rewritten. A rebuild can still be better value over the long term when the process has changed or the platform is out of support.
When should an application be replaced with an off-the-shelf product?
Replacement suits processes that are fairly standard and that an established product already covers well. The licence costs, integration work and loss of flexibility should be weighed over several years before deciding.