Home/Free tools/Rewrite vs refactor scorecard

// Free tool

Rewrite or refactor? Score your legacy application

The rewrite vs refactor decision turns on three questions: is the system still worth keeping, how much does it hurt today, and how fragile is it underneath? Answer 21 statements about one system and get a recommended path (maintain, modernize page by page, replace incrementally, replace or retire) with the scores behind it. Every formula is on the page, and nothing you type is sent anywhere unless you choose to send it to us.

Loading the Rewrite or Modernize? Legacy App Scorecard… If nothing appears, please enable JavaScript.

// How it works

How the rewrite vs refactor scorecard works

The scorecard sorts 21 statements into five areas and scores each answer: Not true 0, Partly 1, Mostly 2, Fully true 3. “Don’t know” is left out of the math and listed in your report under “To find out”.

  • Value (4 statements): is it still worth keeping?
  • Pressure (5): how much does it hurt the people using it today?
  • Technical risk (5): how fragile is it underneath? Unsupported platform, code only one person understands, no staging copy, security updates you can’t apply, untested backups.
  • Data (2 scored): do you know where its data lives, and is it reasonably clean? A third statement, whether other systems or reports read its database directly, only raises a flag.
  • Readiness (4): are you set up to change it?

The formulas

  • Area score = average of your numeric answers ÷ 3 × 100, so each area runs from 0 to 100.
  • If fewer than half of an area’s statements have a numeric answer, the area counts as 50 and shows “not enough info”. When that’s Value, Pressure or Technical risk, the result is labeled “Provisional path”.
  • Urgency = ½ Pressure + ½ Technical risk.

Five paths, checked in order

The first rule that matches wins. White ticks on the bars mark the thresholds.

Recommended path
When the scorecard picks it
1. Maintain & stabilize
Value 50 or more, Urgency under 40
2. Modernize in place, page by page
Value 50 or more, Urgency 40 or more, Technical risk under 60
3. Replace incrementally
Value 50 or more, Technical risk 60 or more
4. Replace (rebuild or check off-the-shelf)
Value under 50, Urgency 40 or more
5. Leave it or retire it
Value under 50, Urgency under 40

Because rule 1 comes first, high technical risk with little pressure still gets Maintain & stabilize, plus a “stabilize first” note. Data and Readiness never change the path. They trigger notes:

  • Readiness under 40: put an owner, test users and a phased budget in place first.
  • The database statement at Partly or above, or Don’t know: map what reads the database before changing it.
  • “Only one person understands the code” or “no staging copy” at Mostly or above: start with a code and access review, using our software handover checklist.
  • Phone use at Mostly or above: a note linking to mobile-friendly retrofits.
  • Top risks: up to five statements weighted 2 or more. The weight is your answer for Pressure and Technical risk, and 3 minus your answer for Data and Readiness. Ties go to Technical risk, then Pressure, Data and Readiness.

Neither system type nor technology affects the scores. System type labels your summary; technology also adjusts the notes and reading links, and picking Classic ASP adds our Classic ASP migration page.

Worked example (hypothetical)

Example (hypothetical, not client data): an internal scheduling app. Value answers 3, 3, 2, 3 average 2.75, and 2.75 ÷ 3 × 100 = 91.7, shown as 92. Pressure answers 2, 1, 2, 1, 1 give 46.7 (47). Technical risk answers 1, 2, 1, 1, 1 give 40. Urgency = ½ × 46.7 + ½ × 40 = 43.3 (43). Rule 1 fails, rule 2 matches: Modernize in place, page by page. “Only one person understands the code” was Mostly true, so the report opens with a code and access review.

Why three of the paths keep the old system running

A big-bang rewrite rebuilds years of business rules and switches everyone over at once. Edge cases are where it goes wrong: a price for one customer group, an approval that skips a step for small orders. Some may live only in the old code, and they’re easy to miss until the new system gets them wrong. Keeping the old system running while you change it helps keep a missed rule to one page or module.

A rewrite is the right call when the business rules have changed so much that little is worth keeping, or the platform can’t be secured or hosted any longer. The first shows up as Value under 50, and with Urgency 40 or more the scorecard recommends Replace. The second shows up as high Technical risk, which for a still-valuable system points to replacing it module by module. Our legacy application modernization page covers the options, from stabilizing a system to a planned rebuild.

Assumptions and limits

  • Scores come only from your answers: no benchmarks, and no cost or timeline estimates.
  • Statements in an area carry equal weight. The thresholds are judgment calls built into this tool, not an industry standard.
  • It can’t see your code, and a look at the code and hosting can change the answer.
  • Your answers stay in this browser. Copy share link keeps them after the # in the link, never in the query string. For more, see our free tools.

// In practice

What page-by-page legacy modernization looks like

Page by page means modernizing an existing system one screen at a time instead of replacing it all at once.

That’s how we’re modernizing Amusement Advantage’s existing contractor portal: page by page, so contractors can register, find and apply for assignments, check status, update info and upload photos from their phones. The portal serves a network of 60,000+ contractors. Each page is tested on a staging copy before production, and we provide ongoing maintenance.

// FAQ

Rewrite vs refactor: common questions

When is rewriting software from scratch the right call?

When the business rules have changed so much that little is worth keeping, or the platform can’t be secured or hosted any longer. In the scorecard, Value under 50 with Urgency 40 or more recommends Replace. Even then, moving over module by module with old and new side by side often carries less risk than one big cutover.

Can we mix both approaches?

Often that’s the best answer: modernize the screens people use most while replacing the riskiest modules one at a time, with old and new running side by side. The scorecard gives one path per system, so if two parts of a system are in very different shape, score them separately.

What if the original developer is gone?

If no one left understands the code, mark “Only one person, or no one, understands the code” as Fully true. Your report then adds a code and access review under “Before you start”: confirm you have the source code, the hosting and database logins, and a copy you can safely test on. Our software handover checklist lists what to collect, and software project rescue covers what comes next.

How do we modernize without disrupting users?

Keep the old system running, replace one page at a time, and test each new page on a staging copy before it reaches users. The Readiness statements check whether you’re set up for that: users who can test new screens as they ship, and old and new running side by side for a while. See how to modernize an old web application.

Does an old platform like Classic ASP mean we have to rewrite?

Not automatically. The technology you pick isn’t used in the score; it only changes the notes and reading links. An unsupported platform counts through Technical risk, and for a system that’s still valuable, Technical risk of 60 or more points to Replace incrementally (or Maintain & stabilize when pressure is low), not one big rewrite. See Classic ASP migration and our guide to Classic ASP end of life.

Does the scorecard save my answers?

No. It runs in your browser and doesn’t save your answers. To keep them, use Copy share link: your answers go after the # in the link, never in the query string. Send results to an engineer opens our contact form with your summary and answers in the message box, and nothing reaches us unless you send that form.

// Bring us in

Tell us about the software your business runs on.

A new build, a system that’s hard to use, a stuck project or a prototype that needs to go live. An engineer, not a salesperson, will get back to you.

202-88-MAGIC · or email info@effortlesspresence.com