Company

Does a legacy solution bring real pain? Or there are just no right people who love it enough and keep it on a good level.

This is a very interesting and one of the most challenging cases. It’s all about huge and legacy e-commerce solutions that generate the client’s revenue and are used by huge amounts of people every day. This is a warranty renewal and recurring revenue optimization tool of the Support Warehouse (https://www.supportwarehouse.com) company. Support Warehouse – Experts in Enterprise technical support services.

Task

The main client’s requirement is to keep product maintenance on a high-quality level including new feature implementation and bug fixes. In this scope of this cooperation, we reported directly to the head of software development and collaborated with the internal engineering and QAs team. Our main duties were continuous improvement of the existing legacy code, fix the technical debt, and implementing new features and API including unit tests. Also, implement CI/CD pipelines to simplify the delivery and deployment process (that was, actually, absent at all)

Goals

  • Maintain the system and provide high-quality services
  • Implement new features without regression issues
  • Immediately fix bugs and deliver improvements into the production environment
  • Update existing documentation and keep updating it according to new changes
  • Simplify integration process between different developers

Challenges

  • Read and work within legacy code without updated documentation and without workable tests
  • Reverse engineering of the existing functionalities through the user interface and user guides and till algorithm and logic execution
  • Rework configuration approach (determine all properties hardcoded in code, saved in the database, and move them into property files)
  • Introduce Kanban process

Actions

  • Provided a dedicated team to work on a legacy enterprise system
  • Built test infrastructure to simplify development
  • Built CI/CD pipelines with multi-environment support
  • Improved existing codebase (migrated to the latest versions)
  • Proposed and implemented database structure improvements
  • Migrated the API from SOAP to REST
  • Updated documentation (especially with algorithms that was totally undocumented)
  • Introduced JIRA, Jenkins, and Confluence

Results

  • Platform performance was improved 17 times
  • Improved UI/UX and simplified platform usage
  • The changes delivery process become faster, robustness, and more predictable
  • Multinational development team improved cooperation process
Duration
24 months
Customer
IT support service

Industries
Information technology
Services
Development / Web | IT Support | Software Quality Assurance
Technologies
Java / Spring | Cloud / AWS | DB / MySQL