Neglecting key IT systems leads to similar consequences as neglecting your body. Bad diet, no exercise, fatigue – at first glance, it’s hard to see what condition you’re in or notice the lurking symptoms of disease. On a day-to-day basis your body functions “almost” normally. However, the layers of abuse start to disrupt your body’s normal functioning.
Similarly, failure to care for an IT system leads to problems with efficiency, fast operation and growing technology debt, which often results in stunted system development, making it harder to meet business needs. And in the end, you have to seek the help of a professional who will look at the system holistically, recommend the necessary tests and give you recommendations for action. You need Legacy System Transformation.
A leader in the financial services sector, the client operated entirely based on sales via an e-commerce platform. Products were offered to customers on a 24/7 basis with prices changing in real-time, depending on multiple variables. The system was developed by a third-party supplier selected a few years back.
In consequence, the system was burdened with significant technology debt. It had an extensive and complex architecture and used multiple technologies. It was characterized by poor code quality, inconsistent naming of variables and methods, and numerous code blocks exceeding 2000 lines – just to name a few of the issues.
From a business perspective, the platform must mirror complex logic, which unfortunately was dispersed over multiple components and data bases. And, the communication across system components was not unified.
The highly dynamic development of the industry coupled with increasing customer and business expectations necessitated changes in the system. These, in turn, translated into further functionalities, introducing modifications and improvements. The increasing chaos in the system resulting from poor-quality development work prevented its being updated. Each new development instance was implemented as a separate component. This approach made the architecture even more complex, which led to further difficulties with diagnosis of problems and errors.
Moreover, the DevOps methodology, which ensures quality, had not been employed in the course of the system’s development and maintenance. Furthermore, there was no Backup and Recovery policy for a system based on several databases and using three different engines. Problems were exacerbated by the lack of automatic tools for monitoring system operation and performance.
The “patient’s” condition was quite severe. Furthermore, nobody could give a proper diagnosis since it was impossible to establish what was wrong and what operating parameters were affected.
The previous supplier, grasping the scale of the problems, had withdrawn, terminating the contract for maintenance and further development of the system. The client’s situation was suddenly critical: The system in question was critical – responsible for generating the majority of the company’s revenue.
At this difficult moment, the company turned to Unity Group, asking for support. Our experts, understanding the gravity of the situation, stepped in, getting down to work right away.
Having examined the state of the client’s system, a series of Pre KT Sessions (pre knowledge transfer) were planned with the former supplier who was responsible for the system. The collected information was used to prepare a Proof of Concept project and Due Diligence transition of system maintenance and development from the previous supplier to the Unity Group.
First, with the help of the former supplier, we reinstalled the system on our infrastructure in MS Azure. Then, we conducted a detailed audit of the code, system architecture and databases, at the same time creating a road map for refactoring and optimization based on the client’s business needs priorities.
Then, we executed the next steps of the project:
1. The installation of the system on infrastructure compatible with the client’s production environment
2. Conducting system performance tests in a production version and confirming the efficiency of the system installed by our specialists
3. Conducting penetration tests and indicating areas for improvement
4. In cooperation with the client – the preparation of a detailed risk analysis related to the transition, which confirmed that it could be successfully undertaken
5. Preparing an offer for the transition along with a transition road map of subsequent actions, specifically:
a) transition plan, including optimizing and refactoring the highest-priority components
b) execution of a system optimization and refactoring project in order to be able to launch the SLA contract for the system and start working in accordance with DevOps methodology
c) offer for system maintenance services upon completion of the transition process (2 months) and refactoring and optimizing (6 months)
The client’s positive evaluation of both the effects of our work and the quality of cooperation led to the signing of subsequent contracts. Not only have we become a partner in the transition and refactoring project, but also in a series of system expansions and maintenance of new IT systems.