Project Overview

Aptos owned a large retail system that was written in ASP Classic.  They were in the process of building a full replacement but that system would not be complete for another 18 months.  We were brought in to maintain their current system and provide small enhancements while the in-house team was dedicated to building the replacement system.


With the replacement system still being developed our main goal was to keep the existing system running according to the SLA they had signed with their customers.  However, the timeline for the new system was long enough that they could not refuse to make enhancements to the existing system for such a long time.  Our secondary goal was to implement necessary features in such away that they would easily be migrated to the new system when it was ready.

We combined our development team with the team building the new system so we could share technical information.  We then worked with the product owner to decide which features were important enough to implement in the legacy system, knowing they would need to be implemented again in the replacement.

Technical Details

The legacy system was written in a combination of ASP Classic and ASP .Net 3.8 using MVC.  Since the system would eventually be discarded we made no effort to update the technology, only add new features when absolutely necessary.

When a new feature was identified, our team would work with the team building the replacement system to see how they wanted to implement the feature.  We would then reverse engineer that approach to fit in the legacy system in such a way that user training would be minimal when migrating to the replacement.

Also, we were responsible for maintaining the legacy system uptime agreements and handling any emergency production issues that arose.

Since the legacy system was marked for removal, we did not spend any time or budget on updating the existing tech stack.
The replacement system was designed to use a document database so we kept the legacy system in MS SQL 7 to avoid migration costs.
Though we wanted to avoid unnecessary improvements on the legacy system, this was a public facing application so some security updates were required.


In placerat sit amet tellus quis tincidunt. Etiam a erat in erat bibendum vulputate sed ac ligula. Mauris nec sapien pulvinar, molestie dolor ut, pellentesque odio. Vivamus dictum, quam quis facilisis mattis, purus ante tempus libero, eget luctus tortor risus ac purus. Quisque feugiat porta dolor eget ullamcorper. Donec bibendum consectetur sodales. In interdum vitae felis eu pretium.

  • Minimal Distractions – Our team managed all aspects of maintenance and occasional development, releasing the in-house team to focus on developing the replacement system.

  • Gradually Decreasing Expenses – As we neared the end of the project, feature requests for the legacy system became more infrequent, resulting in reduced expenses for the client.

  • No Unnecessary Training – The internal team had little experience in managing the legacy system.  Bringing in our team allowed the customer to refrain from teaching the existing team how to manage technology that was destined to be removed.

Related projects