Modernising a legacy in-house app: maintain, rewrite or migrate to SaaS

· 8 min read · SilverData team

Almost every Polish company with 15 years on the clock has some application that everyone is a little afraid of. The owner's cousin wrote it in Access in 2011. Or an external freelancer built it in WinForms in 2014. Or "that intern lad". It works. It runs the business. And for a long time now, working around it has been taking more effort than actually working in it.

This piece is about a decision most SMEs put off about five years too long: what to do with that app. Each of the three paths — maintain it, rewrite it from scratch, or replace it with off-the-shelf SaaS — has a moment when it's the right call, and a moment when it's a mistake.

Signs the old app is starting to cost you

Nobody wakes up one morning thinking "today we rewrite our warehouse system". The moment arrives quietly, as a string of small symptoms. If you recognise three of these in your business — this topic is real.

If you keep delaying a simple change because "Maciek said don't touch this" — that's the moment. The app stopped serving you; it now dictates what you're allowed to do.

Three paths: maintain, rewrite, migrate

In SME reality there are exactly three sensible answers. There is no fourth, even if consultants sometimes try to sell hybrids.

Each path costs differently and gives you something different. The choice is not a matter of taste — it's a matter of how much your process differs from the rest of the market, and how much that app is genuinely your competitive edge.

When maintenance and a light refactor make sense

Short answer: when the app works, is relatively simple, and is unlikely to change much in the future. Typical case: a small Access register with two tables and three forms, used by two people in accounting. Rewriting that on .NET would be overkill.

Refactor makes sense when:

In this scenario you invest once in a proper tidy-up: source control in Git, a test database copy, a prioritised list of known bugs, and one or two fixes that hurt the most. Cost: typically 60-150 hours of work. Result: peace and quiet for the next 2-3 years.

When a rewrite makes sense

Typical case: the app is the operational core of the business and it differentiates you from competitors — because it does something no off-the-shelf system does the way you do. Examples: a custom configurator in a metalwork shop, an in-house bonus calculation system for sales reps, a route planning tool for contract logistics.

A rewrite makes sense when:

One of our clients — a 24-person packaging factory near Konin — had a production planning system written in Access by a former employee back in 2013. The application ran on one specific computer in the workshop, because "that's the only one it would start on". Shift managers couldn't use it from their own laptops, planners had to walk to that one workstation, and twice a week the app would freeze and lose the last 20-30 minutes of work. After a 6-week project (~220 hours of work, roughly 65 000 zł) we rewrote it on .NET 8 with a SQL Server backend and a browser UI. After roll-out: access from any workstation in the company and from home, integration with Comarch Optima instead of retyping orders by hand, time to issue a shift production plan dropped from about 35 to 8 minutes. In the first three months the company recovered around 18 planner-hours a week.

When migration to SaaS makes sense

Typical case: your process doesn't differ much from the rest of the market, and someone already built a ready product for it — often better than what a small bespoke vendor would deliver. CRM, helpdesk, basic WMS for e-commerce, simple project management. Building your own software here is usually whittling at something that an off-the-shelf competitor will leapfrog in a month.

Migration makes sense when:

Remember: SaaS migration isn't "free" just because you're not writing code. The cost is a data migration project, process mapping, training, and — always — several things you'll need to rethink differently from how they used to be.

How to take a bite out of this without drowning

Whichever path you pick, the most common Polish SME mistake is turning modernisation into "one big yearly project". That's the surest way for everyone to forget what we started for after six months.

What works instead:

What next

If there's an app in your company whose name you don't say out loud out of fear — that's a fair sign it's time to look at it. The "maintain, rewrite or migrate" decision isn't taken on slides. It's taken after an hour-long conversation in which someone outside the company looks at the process and tells you straight where sensible ends and sentiment about ten-year-old code begins.

We do those conversations regularly for Polish SMEs. The first one is free and takes half an hour.

An old app you're not allowed to touch isn't a competitive advantage. It's debt whose interest grows every quarter.

← Back to blog