Our customer is a Nordic market leader in human resource and financial resource management solutions providing services to over 12 000 clients in Nordic countries.
The customer develops a payroll system, which automates calculations of salaries, salary accumulators, taxes, pensions, social insurance contributions, and trade union payments.
The system also produces a large number of documents and takes data from various software systems, such as human resource management and time & attendance systems.
The main parts of the system were created in the 1990s using client-server architecture. It is difficult to scale this type of application and costly to run it as a service in cloud. The customer decided to renew the system by creating a web user interface instead of a desktop application. We defined the following goals:
The operators of the application input massive amount of data monthly (working hours for every employee, sick leaves, vacations, days off, etc.). They have been using the system for many years and have developed certain habits of keyboard input and hotkeys usage. One of the challenges was to create new modern UX and, at the same time, leave the most used parts of user interface “as is” to keep the way users work with the application.
Due to strict requirements for the client UX, it was decided to perform a “face-lift” of the system by changing the client code from Gupta/Centura to Silverlight.
Firstly, we implemented common components of the system, which allowed re-using them during the migration and thus reducing its cost. Then we migrated the UI form-by-form.
We changed the mechanism of payroll and data archiving. In the old system, the processes were serial: an operation for an employee ran after an operation for another employee was completed. In the new system, we used parallel processing. Such re-design improved performance of the processes from hours to minutes.
We redesigned, refactored and optimised the reporting part of the system. The “old” reports were implemented with the native Centura report engine. We moved reporting to SQL Server Reporting Services. Most time-consuming reports were rewritten to SQL stored procedures. That improved reporting performance in most cases.
The “old” system took the data from various databases, such as human resources management and time & attendance systems, via file export-import. In the “new” system, the file approach was changed to service-based routines, which integrated different systems into one suite.
The “new” system was also integrated with Identity Framework, which was developed by another Arcadia team.
We implemented the functionality which allows flexible adjustment of the keyboard hotkeys, so that the experienced users would feel comfortable in the new application and, at the same time, new users could adjust the input scheme conveniently.
The customer got a renewed web-based application with modern UI and possible cloud deployment scenarios, which resulted in growth of business.
Users of the application benefitted from improved UX and better performance; in many cases, performance increased dramatically.