When you go to “Accept all” click, you agree to the storage of cookies on your device to improve navigation and support our marketing efforts. For more information, see our privacy policy.

Publications

Experiences, insights and more

Career portal

Vacancies

Project A

Anonymize texts and files

RESA

Transferring data to your SAP system

Ensuring functionality in modernization projects

Who doesn't know that in-house development that has grown over many years is to be modernized and made future-proof, but how do we ensure that...

Author

Roland Westphal

Reading Time

5 minutes

Category

Microsoft

Updated on

30.8.2024

Problem case

Who doesn't know that in-house development that has grown over many years should be modernized and made future-proof, but how do we ensure that the functionality has not suffered after the modernization and, in the worst case, that errors occur in established processes.

There can be various reasons for modernization:

  • The previous use of outdated development environments and frameworks that are not being actively developed
  • The mountain of technical debt has grown so much that adjustments and expansions can only be carried out in the old tech stack
  • The concentration of process knowledge and software logic on a few developers, in the worst case even individuals

Approaches to solutions

Experience shows us that various prevention strategies and test scenarios lead to success here and guarantee a relaxed migration that can be managed at any time.

Avoiding a Big Bang Transition

One of the most important points is that you should avoid making a Big Bang changeover at all costs, as this will allow you to immediately remove the next evenings and weekends from your private planning. The identification of modules and components is the decisive factor here for defining a manageable number of partial migrations.

Parallel operation

A proven method for ensuring functionality during modernization is parallel operation. The old and new versions of the software are operated at the same time. This approach allows both systems to be used and compared in parallel to ensure that all functions work as expected. The advantages of parallel operation are:

  • Direct comparison of results and performance of both systems
  • Ability to gradually convert users or modules
  • Lower risk, as the old version can be quickly reverted to in case of problems

Automated testing procedures

Automated testing plays a central role in ensuring functionality during modernization projects. By using continuous testing methodologies, the integrity of the system can be guaranteed and thus also enable smooth migration. The following aspects are taken into account through automated tests:

  • Quick identification and correction of errors
  • Ensuring that new changes don't interfere with existing features
  • Ability to run extensive test cases regularly and consistently
  • Reduction of manual testing effort and thus time savings

From our experience, integration tests have primarily proven to be indispensable here. Among other things, real business transactions are tested and compared with previous results from the old system. By using in-memory databases, good performance can be achieved with a large number of test cases, which also contributes to a very high level of code coverage.

Case study

A recent case involved the complex calculation and creation of machine programs for the textile industry. Thanks to the strategy described above, we were able to carry out a successful modernization. In the first step, the previous code base was divided into modules, which was achieved professionally by dividing it into different product groups. This ensured that a migration could take place gradually for each product group.

The generation of a variety of machine programs by the old system provided us with a large amount of test data that we could use to feed our integration tests; the aim was to achieve code coverage of the decisive modules > 95%.

Following the go-live of individual product groups, parallel operation ensured that new machine programs, through comparison with the old system, are calculated correctly even in the modernized software. In fact, there has been no error since go-live that has led to an adjustment of the modernized code. In this respect, we can certainly speak of a successful modernization and there is therefore nothing standing in the way of further development with the latest tech stack.

Roland Westphal
Director Microsoft
Interest aroused? Tell us about your use case and we will provide you with the right solution.
Contact
Table of Contents

News

News
Apply now
We are looking for new employees in Data Science, IT Management, Microsoft and SAP
Start your career
Apply now
We are looking for new employees in Data Science, IT Management, Microsoft and SAP
Start your career