Modernization of Business Process Modelling Software
A Russian company providing high-tech services in all sectors of the Russian economy, including complex consulting, major project management in the fields of business-process building and reformation, client IT-infrastructure and telecommunications space creation, as well as conducting outsourcing in various fields.
The Customer 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 worth mentioning that the Customer and its clients’ managers are not IT specialists and it was crucial that input and output was handled in consistent and well-recognized manner.
To begin with, ScienceSoft custom software development team created several project plans, reflecting possible decision ways for the Customer 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 Customer. The Customer 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 customer, and after its acceptance, was used in real business environment.
Thanks to tight cooperation between ScienceSoft and the Customer, 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