Maintenance and Support of Software

After software development has been finished, consumers start working with the application. At that time some hidden errors may be found, consumers may suggest new functionality. Sometimes it is necessary to adjust software application according to consumers' needs. Software continues its evolution, and expenses grow. Moreover, former software developers may be busy with other project or even quit. When the amount of changes is sufficient, it becomes beneficial to outsource maintenance.

Maintenance and Support Workflow

During software application support/maintenance we usually follow the described below workflow.

  • Installation. In some cases software application installation 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.
  • Estimation and planning. Work time is estimated and scheduled.
  • Reengineering. In order to fix errors or widen functionality of the existing system, it is necessary to reengineer the system (or its parts). This work is performed only once, and results of reengineering can be used for further requests. However, if project documentation and source code comments are missing, reengineering efforts are sufficient.
  • Implementation means modification or expansion of application's functionality, bugs fixing.
  • Testing. Test plan and test samples development, manual or automatic testing.

Our maintenance and support projects are described in portfolio.