Detaching a Specialty Insurance Product from a Monolith CPP System

App migration without altering of the existing business logic
Customer location
Project duration:
  • 5 months

Client and Business Goals

Our client is an industry-leading insurance carrier in the United States. The client had their own multi-module Commercial Package Policy (CPP) system, which generated forms, stored quotes and policies information in its databases. Each module was responsible for its insurance type: from machinery and equipment to real estate. Over time, due to the excessive number of modules, the CPP had grown into a cumbersome and difficult to maintain system. Having analyzed all pros of the monolith to microservices migration, the client decided to alleviate maintenance of the entire CPP system and detach the agricultural machinery insurance module from the CPP. To simplify the transition, the customer requested to leave all the data in the CPP database and not to conduct refactoring/enhancing of existing business logic and workflows.

The client needed a partner with good practical knowledge in monolith to microservices migration and insurance domain knowledge, to tackle the task fast and qualitatively. Symfa has a proven track record in providing legacy modernization services, which convinced the customer to sign the contract with us.


As per the client’s request, we transformed the module into a separate independent app, without changing its business logic. To do that, we separated the code and created a new entry point to the module. This allows users to enter the system directly, via the autonomous website bypassing logging in the CPP.

The new application is fully independent from the CPP system, while continuing to communicate with it. The app has its own class library that contains specific business logic and rules. It handles logins and accepts traffic from the agricultural machinery dealer portal, while the CPP app is still being used for forms generation.

The new application’s data is stored in the same databases as CPP, though its specific data access is removed from CPP’s code base. Batch applications can still handle policies through direct database access, or by referencing the MVC library.
Upon a separate request from the customer we optimized the quotes filled in by insurance agents. When the user logs in into the system and enters data in the quote to gain a preliminary contract, some points are filled in automatically. We amended these quotes to be compatible with the US legislative standards and peculiarities.


  • Visual Basic
  • WebForms
  • .NET


Our team fulfilled their obligations and delivered the results within the agreed-upon time frames and in compliance with the requirements provided by the business analyst from the customer’s side. By transforming the module of the complex CPP system into a separate application, we helped the client fix the issue with the entire system maintenance and tailor it to the legislative requirements of the United States.

Latest projects


Contact us

Our team will get back to you promptly to discuss the next steps