Wednesday, September 13, 2023

How to transform Legacy Software into up-to-date software

How to transform legacy software in to up-to-date software.

You have to follow these steps, I will explain the steps later:

  1. Evaluate the state of the current software

  2. Improve the Understanding of the software

    1. Generate missing documentation and charts

    2. Improve logs and error messages

    3. Use better names in the code

    4. Simple refactoring

    5. Simple test improvements

  3. Managing the expectation of the lower management

  4. Building the test fence and closing the gaps: encase the code with test

  5. Refactoring as long as you need it to achieve your view of up-to-date software

Well, lets look into some of steps above.

Point 1: Evaluate the state of the current software means talk with customers, testers, developers with every body that has a stake in the software. Analyze the errors related with the software. Analyze the reasons for the errors. What are the risks. These five point gives you an raw overview and scope.

Point 2: Improve the understanding of the software means change the software to improve the understanding without changing the programming logic.

Point 3: Manage the expectations of your management. This is important because managers are often no programmers. It’s hard for them to understand why it is so important to transform the legacy code into maintainable code. It’s important that every body understand that you have tp spend some time now to save a lot off time in the future. It should be clear that if you don’t transform the software then you stuck in the future and the software is dead.

Point 4: Test are part of the product. Software without test are not software. Legacy software has often bad, useless and sometimes misleading test. Remove them makes the following refactorings much easier. But fence the software with test and close all gaps. This tests are the cornerstone of your software transformation. The test specifies the the behavior of the software.

Point 5: Just do it. Now you have the knowledge, the support of the management and the tests. Let’s do the refactorings.

No comments:

Post a Comment