Custom Legacy Software Update – Support then modernize in-place – Case Study

  • Business Process Automation
  • Labor reduction
  • Increased throughput
  • Reduction in errors

Client – Custom chemical solutions manufacturer

“Before working with Keypress on these updates, the client was frustrated…

Their processes had become inefficient. They had to create external docs, work with spreadsheets, write things down, and jump through hoops to accomplish their day-to-day tasks.

They felt there must be a better way to work but weren’t sure how to get there.

After their systems were updated, they were thrilled with the problems that were solved and the process improvements that were implemented.  They were eager to continue to tackle more issues.”


Our client is in a niche market so traditional LIMS systems were not an ideal solution.  As a result our client had developed a custom LIMS system that supported many of their key functions. The custom system’s  functionality was limited. As they grew, their process inefficiencies were limiting production capacity.

Additionally, the client’s industry had undergone significant regulatory changes, requiring them to update processes and integrate with a 3rd party packaging compliance service to generate compliant documentation. 


The updated software automated critical processes. This allowed for increased production capacity and less manual efforts.  It tracked more of the information required by regulatory authorities and customers, and it expanded to improve processes in additional departments.

Results / Outcomes

  • Labor reduction
  • Increased throughput
  • Reduction in errors

Capabilities Demonstrated

Overview of the custom software updates – support, enhancements, modernization

The system enhancements spanned many years and were developed and deployed in multiple phases based on the client’s business priorities.

We’ve worked together over time to improve many aspects of our client’s operations, allowing them to dig into problems of interest.

A couple case studies highlighting specific pieces of software we developed over time:

  1. Custom Business Process Automation Software – integrating business systems to reduce manual labor and errors
  2. Custom Business Process Automation Software – Automating manual data entry & integrating with 3rd party software

What did the support phase involve?

When we took over support for the application it was fairly stable.  Our role at that time was to address any errors that occurred during daily operations as well as implement minor changes to functionality requested by the staff.  These included:

  1. expanded options for preset lists,
    1. additional reporting
    2. and modifications to the format and layout of system-generated product documentation. 

When errors or requests arose, we:

  1. Worked with the staff to understand what they expected from the systems
  2. Analyzed the source code to follow the logic. 
  3. Developed the code.
  4. Tested the changes
  5. Planned and oversaw client UAT (User Acceptance Testing).
  6. Deployed the software updates. 

During the process we created LOTS of backups!

What were the main risks in play with updating the software?

Due to the nature of the client’s industry the LIMS system must make precise scientific calculations.  When modifying the code we had to take additional care and perform extra QA to ensure these mathematical formulas returned the correct values in all cases.

The main steps we took to mitigate those risks were:

  1. We performed extensive manual and unit testing
  2. We performed UAT testing to ensure the formulas were accurate

How was the switchover for in-place development handled?

We were left with no backup resources, just the source code.

 The original developer had left and was inaccessible, and the remaining IT staff had no coding knowledge. 

We interviewed the staff to get an understanding of their expectation of how the system worked, we read through the code and identified what the system was doing, and then we rolled out upgrades in phases to  provide updates as soon as possible. Concurrently we rolled out changes that laid the groundwork for future enhancements.

What did the modernization assessment look like?

The modernization effort was implemented in phases based on the client’s pain points.

We interacted with various departments to obtain an understanding of what they were struggling with.

We identified their priorities, then performed walk-throughs and staff shadowing sessions to identify where improvements could be made.

We asked questions about parts of the process that were:

  1. complicated,
  2. repetitive, 
  3. and seemingly unnecessary. 

Eventually we made our way through all the departments.  We periodically reevaluate how the system is working for a department. Sometimes changes in other departments make new functionality possible, and sometimes new items rise to the top of the priority list once previous priorities have been resolved.

Technologies Leveraged

Need your legacy business software updated?