In-place Modernization (Strangler Fig) of Mission Critical Legacy Software

  • Reduced risk of security threats and lack of ongoing support
  • Stable support for the future
  • 0 down time during or after modernization

Client – a logistical services firm serving the U.S. Military Commissary System

Problem

Our client had developed a custom, in-house order processing system to manage its complex operations with the U.S. Department of Defense and major grocery manufacturers.

While the system performed reliably for decades, it was originally built over 30 years ago by an internal team that has since dwindled to a single staff member nearing retirement. Compounding the issue, the system was built on outdated platforms and programming languages that are no longer supported, creating both security vulnerabilities and operational risks.

Solution

Over the course of 20 months our team used the Strangler Fig approach to modernize the application in place

The system was modernized to a well-supported development stack, using React.Js for the front end, and C#.Net for the API to handle the business logic and interface with the Microsoft SQL server database.  This improved the stability of the application, reduced security risks, and allowed the staff member to retire knowing the system is fully supported moving forward.

Results / Outcomes

  • Fully modernized application
  • Improved User Interface
  • 0 down time during or after modernization
  • Reduced risk of security threats and lack of ongoing support
  • Stable support for the future

Capabilities Demonstrated

Overview

This application provides:

Legacy Application Code Review

Our team, familiar with Classic ASP, did an in-depth review of the legacy system functionality and code base.  We documented all critical system functionality and reviewed processes with the client’s team. 

“During the review of the code, we uncovered older functionality, data structures and processes that were no longer needed and cleaned them up. This helped eliminate outdated functions, reduce the size of the database and clarify support requirements.”

Once we understood the scope of the project, we devised a plan for in-place modernization with the aim of fully updating the API and front end to a modern stack, while maintaining critical business operations without downtime or errors.

Development

We started the redevelopment by working with our client’s team to identify the least-used features of the application, and reviewing the functionality to ensure we fully understood what functions the new system needed to perform. 

We analyzed the legacy code to ensure it aligned with the staff’s guidance, and our team rewrote the system one module at a time from least impactful to most. 

Testing

As each module was developed, our team would perform thorough QA (Quality Assurance) testing to make sure the new code was performing as desired. 

When the modules passed internal QA, they were handed over to the client’s team for UAT (User Acceptance Testing).  When the client identified issues or concerns, they provided feedback via email our support ticketing system. 

Once the module met the client’s satisfaction, it was scheduled for deployment into the production environment. 

Launch and Support

After each deployment, our team would monitor the application’s performance, and hold “office hours” where client staff could join a remote session to provide any feedback, questions or problems.

Our team continues to provide support for the newly modernized application with an annual support agreement.

Technologies

Need your business software modernized?