Development of GAMP4-Compliant Business Process Modelling Software
About Our Client
The Client is a company providing high-tech services in all sectors of 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, 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 wealth of knowledge, acquired during initiation phase.
ScienceSoft team successfully created the required project plans and presented it 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 the development.
- Code review: All changes in source codes 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 knowledge about the system, close cooperation of the team members.
- All sources (as all other data at the project) were collected and shared at dedicated SVN server. Each specialist at the project use copy of data from SVN server.
- They commit own changes and synchronize (update) own copy with other people changes through the SVN server.
- At the implementation phase, 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 integration status automatically.
Each iteration of refactoring concludes with Deployment phase. Refactored code was stored on an SVN-server. In this phase, various support and recommendation documents are created. Production build was presented to the Client, and after its acceptance, was used in real business environment.
Results
Thanks to 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 helps understand 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