"Never touch a running system" is probably a favorite saying that managers often use as their experience shows that in fact investments into software modernization are rarely cost-effective. Indeed, a working information system that performs all necessary tasks should be a great asset for any company.
Unfortunately, a rapid development of information technologies often makes the program owners optimize or modernize programs that are productively used.
Upgrades of operation systems and standard products, introduction of new hardware devices and compatibility issues with third-party providers - this is a non-exhaustive list of reasons that could force migration to new technologies and platforms and modernize the software currently used.
Often trivial performance problems caused by increased data amounts oblige to rewrite the most part of the program code migrating the program to a more up-to-date data base.
If the software used is well-documented, the migration to a new platform will rarely cause any difficulties. Such projects attract most developers und they enjoy working with them.
The investments into modernization of a working software can often be as high as development costs of a new system if there are no necessary technical documents. Cost saving or any overspending throughout all phases from analysis up to refactoring may depend on the planning of such projects which requires particular expertise and skills.
Here you´d better trust experienced programmers to perform code reverse-engineering and refactoring.
Our company specialists have already refactored and migrated several large projects to modern .Net platforms. During modernization, we refactor and improve system performance as well as user interface, if necessary.