Home
Case study
Support and improvement of the CRM system of a financial organization

Industry

Financial services

Location

USA

Platform

.NET

Support and improvement of the CRM system of a financial organization

ABOUT THE CLIENT

Our client (NDA) is a financial company specializing in the provision of financial services. Thanks to its commitment to improving customer service and shaping the future of finance, as well as the timely implementation of industry standards, this institution has become an influential player in the financial world, respected by both customers and competitors. The client asked us to support the correct operation of their custom ERP solution, which is focused on internal employees and partners. It includes a Sales subsystem with 3rd-party platforms integration, a Reporting&Accounting system, a Payments system, a Document Management System and a CRM system, which was the main work area.

PROBLEMS AND CHALLENGES

Since the previous stages of project development and support were delegated to freelance developers, this decision led to the following problems over time:

  • Administrative debt (bugs)
  • Performance issues
  • Technical debt (outdated libraries, lack of documentation, unreadable code, which causes difficulties making changes and adding new functionality, etc.)
  • Lack of a correct and efficient development and testing process

WHAT WAS DONE

Code refactoring

The project started with fixing critical bugs and developing functionality that the client had long wanted to implement, but for which freelancers lacked resources. In the course of bug fixes and new functionality development, we partially refactored particularly critical areas, making the code base more maintainable. Refactoring is a gradual process. Currently, the refactoring process is ongoing, with some code already released, some waiting for the next release, and some still in the pipeline. The team plans further work to eliminate technical debt for 4 more modules. Depending on the module, the refactoring process is either presented as a separate "epic" or feature, or it is carried out through gradual code improvements while performing other tasks or fixing problems with a particular module.

Performance optimization

Optimization, like refactoring, is an iterative process. As the number of users and data grows and the complexity of business logic increases, new problems are identified and promptly eliminated.

 The tasks also revealed potential system performance issues that would manifest themselves over time, so several solutions were implemented for particularly complex parts of the project to reduce the risk of performance-critical situations in the future. 

These optimizations allowed the system to efficiently handle up to 500 simultaneous users, although the number seems insignificant, previously the system crashed when 10-20 users were on the site at the same time.

If it takes a long time to fix the problem, the next iteration of the project will address the next possible problem.

Functionality

The platform has been updated a dozen times to ensure compliance with state legislation governing the financial sector, which is constantly changing. This included automating the generation of loan disclosure documents in four states, constantly updating various parts of contracts, fixing a large number of security issues, and adding two-factor authentication based on various algorithms, including time-based and one-time passwords, etc.

The team also takes into account current trends in technology development, because at this stage the client has requests for new functionality, which includes adaptation to changes in the acceptance and processing of data by banking institutions as well:

  • Adding new documents and updating old ones
  • Updating and adding new integrations
  • Automation of the application processing process
  • Adding new reports and making changes

Fixing bugs

Critical errors were identified and fixed to ensure the system's stable operation, because at the start of the work, the client reported such problems almost daily, and now bugs in production (except for major releases) occur once or twice a month. Moreover, half of these problems are administrative debts left by previous developers.

Here, too, the difficulty lies in the lack of documentation, which in some cases makes it unclear whether certain system behavior is a feature of business logic or a bug.

Overall, this process involved analyzing and fixing problems in the code, which led to an increase in system reliability, because now

  • Unobvious logic is documented (which at first glance seems to be a bug, but it is not)
  • Variable logic is documented (when, depending on small changes, the behavior of the portal changes very much), decision tables and variable cases are created to increase project coverage while minimizing testing costs 
  • Frequently recurring problems are documented to draw attention to such places in the testing process

RESULTS

NetLS developers have solved 1100 tasks and bugs over 2 years of cooperation, involving 4 NetLS specialists, which has yielded positive results for the client, namely

  • Generated application documents comply with regulatory requirements
  • The site is available for users with an Uptime of over 99.7%.
  • Payments are processed through ACH Credit using NACHA files for one bank and through the payment solution provider's own XML protocol for another bank. The team is working on adding the ability to process payments through a third bank using NACH files.
  • Critical errors are fixed within one business day, and non-critical errors are fixed within 1 week.
  • User requests (both internal and external), depending on the priority, are fulfilled within 1-3 iterations of the project

Currently, the team continues to work on this project, and the platform works correctly and is available to all employees and partners of the company. 

The project is at the support stage and our developers are scaling this workspace in proportion to the company's development.

This case study proves that the NetLS team can handle tasks of any complexity with high quality. Do you have a similar project? Calculate its approximate cost in our calculator.

TECHNOLOGIES

Advice to students of Precarpathian University from CTO

The Precarpathian National University is our partner in growing software engineering specialists. An educational lecture about the experience and advice of the CTO of NetLS Software Development helps students learn more about their specialty and prepare for professional challenges.