Specialist technology and software for state and local government info@hqt.orgCommunitiesGlossarySearch

Software Development

Legacy Application Modernization

Moving aging applications and databases to supportable platforms without losing what works.

What this covers

Many agencies depend on applications written years ago in languages and platforms that are hard to staff and support. Modernization replaces or re-platforms those systems while preserving the business rules embedded in them.

Typical activities

  • Application portfolio assessment and prioritization
  • Reverse engineering of business rules from code and data
  • Strategy selection: rehost, refactor, rewrite, or replace with a product
  • Database migration from end-of-life platforms
  • Incremental replacement using the strangler pattern to reduce risk
  • Parallel running and reconciliation before cutover

What you receive

An assessment and strategy, a modernized application with documented business rules, migrated data with reconciliation records, and a cutover plan.

Considerations for public agencies

Legacy systems often encode statutory rules, fee schedules, and historical exceptions. We document those rules explicitly so the modernized system is auditable and future changes are easier.

Signals that modernization can no longer be deferred

The signals are usually operational rather than technical.

  • The vendor or open source community has stopped issuing security patches for the runtime, database engine, or operating system the application depends on, and the agency renews security exceptions to keep it running.
  • Knowledge of the code sits with a small number of people, and their departure would leave no one able to change it safely.
  • Routine changes, such as a fee schedule update or an added reporting field, are estimated in months and described as risky.
  • The application cannot authenticate against the agency identity provider, or cannot produce an audit trail that satisfies a records request.
  • The application cannot meet the accessibility standard that applies to it. Under Title II of the Americans with Disabilities Act, a federal rule sets a technical standard based on the Web Content Accessibility Guidelines for state and local government web content and mobile applications, with compliance dates that vary by entity type and size.
  • Other systems obtain the application's data through scheduled file transfers because there is no interface they can call.

These matter more together than separately. When several appear at once, the question is usually not whether to act but how much of the system has to change and in what order.

What the agency needs to supply

An assessment is only as good as the material it starts from. Confirm before work begins that the agency can produce:

  • Source for every component still in use, including batch jobs, scheduled reports, and utilities that run outside the main application.
  • Database schemas and a restored copy of production data. Rules the code does not state are often visible only in the data.
  • A list of everything that consumes the application's output, including reports and spreadsheets kept by program staff rather than by IT.
  • License and support terms for embedded components such as reporting tools, form engines, and runtimes, since some cannot be re-hosted without renegotiation.
  • Time from the program staff who can say whether an unusual rule reflects statute, local policy, or a workaround that outlived its reason.

Program staff attention is the scarcest input and the one most often left out of the plan. Name those people and secure their supervisors' agreement before the schedule depends on them.

What to require in the solicitation

  • Make the catalog of recovered business rules a named deliverable with its own acceptance criteria, due early rather than at closeout.
  • Require written reconciliation criteria before any data is migrated: record counts, control totals, a stated tolerance, and how a difference outside it will be explained and approved.
  • Require a rehearsed rollback for each cutover, a go or no-go decision point, and a named agency decision maker.
  • Require source, infrastructure definitions, pipelines, and tests to build from a clean checkout on infrastructure the agency controls. A modernization the agency cannot rebuild has traded one dependency for another.
  • Ask bidders what will be running in production at the end of each increment. A plan that reaches production only in a final phase concentrates risk where the budget has least room left.
  • If the proposal replaces the application with a commercial product, require the bidder to state which current rules the product will not support and how each gap is to be closed.
  • Set license and data terms so that schema changes and extracts of the agency's own records are not billable events.

Measuring whether it worked

Take a baseline while the old system is still running, then measure the same things after stabilization rather than at go-live.

  • Elapsed time and staff effort for a representative small change, using comparable requests before and after.
  • Security exceptions and unsupported components attributable to the system.
  • Manual workarounds retired: re-keying between systems, shadow spreadsheets, and side databases built around the old system's limits.
  • Availability and error rates on the interfaces other systems depend on, compared with the file transfers they replaced.

Expect some of these to look worse in the weeks after cutover, and judge the result once the workarounds have been retired.

Working with HQT on this

HQT scopes this kind of work as a fixed-price or time-and-materials engagement with a written statement of work, named staff, and a defined acceptance process. We are candid about what we can take on and prefer a well-run project to an oversized one. Contact us to discuss a requirement, a draft scope, or an upcoming solicitation.

Frequently asked questions

Should we rewrite our legacy application or replace it with a commercial product?

It depends on how much of the system's behavior is specific to your jurisdiction. Where the process is largely the same across agencies, a configurable product is often a reasonable fit, provided you know before award which of your current rules it will not support. Where local ordinance, fee structures, and long-standing exceptions drive the behavior, the cost of configuring around them can exceed the cost of rebuilding. Compare both paths against the same recovered set of rules rather than against a general impression of the system.

How do we modernize a legacy system without disrupting daily operations?

Move in increments small enough that any one of them can be reversed without stopping service. While the old and new systems both run, decide which one owns each piece of data and avoid writing the same record in both, because divergence between them is the failure that is hardest to unwind. Schedule each cutover away from the dates the program lives by, such as filing and renewal deadlines, fiscal year end, and election calendars. Rehearse the rollback for each increment rather than describing it.

What happens to our historical data during a legacy modernization project?

Historical records stay subject to the retention schedule that already governs them, because changing the system does not change the agency's records obligations. Agree the reconciliation criteria in writing before migration starts, including record counts, control totals, and how any difference will be explained and approved. Where the old data model cannot be represented in the new one without loss, the difference should be documented and accepted by the program owner rather than resolved quietly by the implementer. Keep the migration mapping and a readable copy of the source data so a later audit or records request can be answered.

Can a legacy system be modernized if nobody understands the original code anymore?

Yes, and it is a common starting point. Rules are recovered from source, stored procedures, batch jobs, interface specifications, and the production data itself, then confirmed with the program staff who know what the system is supposed to do. Where no one can explain a rule, the choice is to reproduce it as it stands or change it deliberately, and that decision belongs to the program owner rather than the implementer. Plan for this recovery work to take a larger share of the schedule than writing the replacement code.

How long does legacy application modernization take for a state or local agency?

Duration depends on the number of business rules, the quality of the data, and how many other systems consume the application's output, so any figure offered before an assessment is a guess. Ask instead that the schedule be expressed as increments, each ending with something running in production, so progress can be judged early and scope adjusted while the budget still has room. Agency-side steps affect the date as much as development does, including security review, identity onboarding, hosting approvals, and the availability of program staff for rule review.

Get in touch

Have a project or a solicitation coming up?

Talk with an HQT engineer. We respond to agency, corporate, and partner inquiries promptly.