Development of GAMP4-Compliant Business Process Modelling Software
About Our Client
The Client is a company providing high-tech services in all sectors of the economy, including complex consulting, major project management in the fields of business process building and reformation, IT infrastructure and telecommunications space creation, as well as conducting outsourcing in various fields.
Challenge
The Client turned to ScienceSoft to refactor and stabilize a business modeling tool that allows its users to develop full-scale financial and economic models.
The solution was aimed at companies from various business domains; therefore, it was a universal modelling tool.
It's important to note that neither the Client nor the managers in the organizations using the tool are IT specialists, so it was essential for input and output to be handled in a consistent and easily recognizable way.
Solution
To begin with, ScienceSoft’s custom software development team created several project plans, reflecting possible decision ways for the Client to go on with his software, using the wealth of knowledge acquired during the initiation phase.
ScienceSoft’s team successfully created the required project plans and presented them to the Client. The Client had chosen continuous refactoring over parallel refactoring and new software development, seeking to maximize gains out of existing investment, while reducing integration overhead.
Planned refactoring of the existing functionality was held according to the accepted processes and procedures. In accordance with the GAMP4 specification, at the implementation phase, the following additional procedures were established:
- Unit-testing: Refactoring of all pieces of functionality began with unit-test creation, to validate the correct behavior of the refactored code and rapid discovery of errors during development.
- Code review: All changes in the source code were checked crosswise. In other words, developer 1 checked the code of developer 2 and vice versa. In such a way, they achieved the high quality of the code, integration of the team's knowledge about the system, and close cooperation of the team members.
- All sources (as all other data in the project) were collected and shared at a dedicated SVN server. Each specialist at the project uses a copy of data from the SVN server.
- They commit their own changes and synchronize (update) their own copy with other people's changes through the SVN server.
- At the implementation phase, the testing team was developing and updating test plans and test cases.
At the integration stage of the development, the integration of the new functional system with the existing one was carried out for all iterations, excluding the first one. The Integration Server with the installed application CruiseControl was used for that. It allowed tracking the changes in the integration status automatically.
Each iteration of refactoring concludes with the deployment phase. Refactored code was stored on an SVN server. In this phase, various support and recommendation documents are created. The production build was presented to the Client, and after its acceptance, was used in a real business environment.
Results
Thanks to the tight cooperation between ScienceSoft and the Client, a new financial and economic modelling system was successfully launched to the market.
The solution significantly facilitated data analysts’ work. The system allows data analysts to build complex analytic and predictive models that help understand the current situation and uncover future possibilities.

Technologies and Tools
Technology domains: Software Architecture, Windows Forms, Windows Services,
Technologies & tools: .NET Framework 3.5, Entity Framework
Language: C# 3.0
Development processes: ISO9001, GAMP4