Our customer creates data management solutions for content-critical businesses. While they were working on a new cloud-based platform, they needed an experienced team of backend software developers with data management skills to support their legacy software. The Apriorit team has a lot of experience developing and supporting custom data management systems, so we were glad to help.
During this project, we improved customer’s legacy software for data management and end users’ satisfaction with it, implemented new features for better supportability, and helped the customer prepare users for migration to a new platform.Download a PDF version of this case study
Our customer is a US-based company that develops solutions for storing, sharing, and transferring data. They have more than 17,000 clients around the world that work in the media, construction, financial, life sciences, recreation, and other industries. For these clients, the ability to manage data securely and efficiently is crucial.
When the customer approached us, they were supporting a containerized Linux-based legacy solution for synchronizing data between local and cloud file storage. However, they wanted to focus on developing a new cloud-based platform.
That’s why they were looking for an outsourced development team that could take over maintenance of the legacy system and solve several legacy system modernization challenges:
To solve the challenges of this project, we formed a team that included a project manager (PM), several expert backend software developers, and QA specialists.
Our project manager (PM) ensured that our development team worked in sync with the customer’s teams, which were distributed across several countries. The PM implemented elements of Scrum and Kanban methodologies in the workflow and organized two-week sprints and weekly meetings with the customer’s managers and other team members. This approach improved the project’s visibility for our customer, kept the customer’s team up to date on our activities, and helped us prioritize tasks within sprints.
Our team works hand in hand with the customer’s development and support specialists in order to improve user satisfaction with the legacy software.
During our cooperation, we helped the customer keep end users satisfied with the legacy software by fixing issues reported by end users and developing custom features that users requested. As a result, we reduced the number of escalated tickets and reached the fewest user complaints ever for this project.
Our support for this software allowed the customer to focus on building a new cloud-based platform, since their developers didn’t have to spend time on bug fixes and legacy software system modernization. Finally, our customer rolled out a new product and ensured smooth migration to it. Since they were satisfied with our services, we continued our partnership after the release.
During this project, our main tasks were fixing bugs in the legacy system and processing escalated tickets — issues reported by end users that the customer’s support team was unable to resolve.
Working with our customer’s outdated system was challenging because of the great amount of undocumented legacy code. Over the years, the software had been developed by different teams using three languages: Python, Golang, and C.
We needed to sort out all the legacy code to fix current issues and simplify future support activities. To do that, we:
Thanks to refactoring, we improved the software’s performance, reliability, and supportability and resolved numerous escalated tickets.
We had to handle two types of escalated tickets: requests to fix existing functionality and requests to develop new functionality.
To solve existing issues, we refactored and reworked code. By the end of the project, we had reduced the number of escalation tickets to the lowest rate ever for this software.
Some end users requested adding custom features to the product in order to simplify their work. We implemented many custom features, including:
Though we were working on legacy software, fixing bugs and implementing new features called for frequent software updates. Since updating this software was a time-consuming process, we discussed several improvements with the customer.
We needed to improve the software’s supportability to help end users with their requests and simplify maintenance. That’s why we implemented the following changes:
With the help of Apriorit’s data management and processing specialists, our customer ensured efficient support of their legacy software while concentrating on developing a new platform. We put all our efforts into making sure that end users had a flawless user experience when working with the legacy solution.
As a result of our cooperation, our customer was able to smoothly migrate to their new platform while keeping all end users.
Working on your own data management software? Benefit from our experience and skills!
Our customer is a manufacturer of virtual reality (VR) equipment used for industrial purposes. They wanted to create a new device and needed a team with expert driver development skills to develop the drivers for it.
A US-based healthcare center asked us to develop a robust AI-based system that could track ovarian follicles across video frames, detect them in ultrasound images, and measure them.
Our client wanted to create an enterprise MDM solution for securely managing Android tablets. The Apriorit team developed a custom MDM solution with enhanced data security and an admin panel for centralized management of all tablets connected to the client’s system. This allowed our client to deliver their services to Android users and maintain the needed level of data security.
Our client is a large US-based provider of property management software who had a monolithic SaaS platform written in Ruby. To attract new customers, optimize platform maintenance costs, and make it easier to implement new features, they decided to improve the platform design and replace their monolithic solution with a flexible solution based on microservices.
Our client is a US-based SaaS vendor that provides a cloud platform for gathering, consolidating, analyzing, and presenting data received from user devices.
The platform collects information from monitored mobile devices and desktops using installed agents and provides users with web-based dashboards to track geolocations, online activities, sent and received data, and other details.
Apriorit was hired to enhance our client’s existing solution by gradually improving its performance while extending its functionality and scalability.
Our client is a cybersecurity services provider offering SaaS solutions for detecting and protecting against known vulnerabilities and zero-day exploits. They wanted to enable delivery of their services via the Internet Content Adaptation Protocol (ICAP). The Apriorit team researched possible approaches to creating an ICAP server for sanitizing files that our client can use to extend the possibilities of their proxy servers and build such a solution.
Our client is a US-based company that provides cybersecurity solutions for IT companies. While working on a network security analysis solution, they approached us with the task of Windows USB WiFi driver development.
A medical transportation company had previously developed and maintained a customer relationship management (CRM) system with the help of an outsourcing team. When they required developers with deeper expertise, they contacted Apriorit.
Our client is a US-based provider of data backup and recovery solutions for mobile devices and computers. They initially developed software for Windows but then decided to make it cross-platform and develop versions for macOS, iOS, and Android.