Porting of Legacy Software Applications
New technologies widen possibilities of software applications and create new standards for information visualization. Systems designed according to old concepts and standards handle tasks they were developed for, but they may miss some new possibilities (for instance, no WEB-interface), or their user interface may differ from modern standards of friendly GUI, or they may be implemented with use of exotic programming languages, which seemed to be promising some time ago. To make existing software application competitive, sometimes it is necessary to port it under new technologies and to expand its functionality.
We have a great experience in porting of software applications. Our help in software porting can prevent customer from hiring new employees, or drawing existing personnel from implementation of current main tasks.
During porting of legacy software application we usually follow the described below workflow.
- Installation. In some cases installation of software application is a sophisticated task, or Installation Guide is missing. In this case customer's specialist may visit us to install the product, or our specialist may be trained onshore.
- Training. Very often User Guide does not describe knowledge domain, or simply is missing. So, complicated cases also need direct contacts with customer, onshore training.
- Analysis, selection of technology. Next, we analyze existing software application and customer's requirements on expanding of functionality, select new technologies to be used during implementation of the new version of software.
- Estimation and planning. Project specification is developed. Work time is estimated and planned.
- Design. New version of software is designed according to the specification.
- Reengineering. In some cases it is necessary to reengineer existing system (or its parts). For example, to find such components of the existing system that cannot be modified during porting (for instance, database that is used by other systems cannot be re-designed).
- Implementation. At this stage new version of software is implemented according to the selected technology and project specification.
- Testing. This stage usually includes test plan and test samples development, manual or automatic testing.
- Maintenance. It includes further modification of the software application, expanding its functionality according to customer's needs.
You can find such kind of projects in our Portfolio.