GizmoxTS - Application Transformation is a Go? Keep Risk under Control Using These 8 Methods

Application Transformation is a Go? Keep Risk under Control Using These 8 Methods

Thursday, 28 December 2017 05:12
Congratulations! You’ve received a green light to modernize your old code base. Be it an application written in Visual Basic, PowerBuilder, .NET or Java, the transformed solution will be better in every way possible and will support platforms and features that were wishful thinking at best not so long ago. Maintenance will become a breeze and human resources department will throw a party when they realize they can stop looking for prehistoric engineers that are going extinct. What’s the catch then, how come it is only starting now and not five years ago? Well, there is no catch, assuming you follow these eight methods for keeping risk under control. App modernization is a go
App modernization is a go! Celebrating the end of the Jurassic era (Source: Splitthekipper)

Go with automated digital transformation rather than a manual rewrite

Statistics are very clear in this case, as 85% of automated application modernization projects are successful, while 85% of manual rewrite attempts fail, oftentimes doubling and even tripling allocated time and budget. Almost everyone who has ever worked on manually transforming large amounts of code will identify with this based on their firsthand experience (pun intended, those hands get really sore). Even a more common task like refactoring a large code base is often overwhelmingly difficult, not to mention a complete app modernization, especially when it comes to moving applications to the cloud. An automated process is also much more predictable and controllable, and can even provide early-stage resource estimations as explained below.

manual application rewrite.jpg

Manual application rewrite is like a box of those oddly looking chocolates. You kind of know what you’re gonna get

Prefer holistic and semantic reengineering over line by line code translation

An automated modernization process definitely involves a lot less risk than a manual rewrite, but which one to chose? A major consideration in this regard is whether or not the solution relies on a semantic understanding of the business logic behind the code and on a holistic analysis of the complete application. This allows rearchitecting the solution to a new platform while maintaining the semantics of the original code rather than mere translation of the old code from one language to another. As a result, this approach introduces a lot less risk than the old way of line by line code translation. This is especially true when the source and target platforms have little in common, such as when migrating from VB.NET or C# to modern platforms like Angular or Spring.
line by line.jpg

Line by line code translation is a thing of the past. Insist on a holistic semantics-based solution (Source: Paul Townsend)

Insist on getting a relevant demo and success references

Seeing is believing will never grow old. A relevant demo of digital transformation and real life case studies will help you assess the risk a lot more than some nice words and shining slides. Ask for those at the very first meeting with your app modernization provider.

Insist on a POC

Complete application rewrite must always begin with a representative proof of concept. This is the best way to assess risks and estimate resource requirements and can also help you understand the modularity and quality of the code you will end up with.

Use an automatic assessment tool first to analyze your code

Scanning your code with a dedicated modernization analyzer tool is an ultimate risk reduction method and should be done as early as possible. Some vendors offer such a tool as a free download, which means you can use it prior to the POC process and even prior to contacting that vendor. Such an advanced tool can perform a semantic and holistic analysis of your application as explained above, and generate a valuable report that can be used to estimate time and budget requirements for the whole project. This automated analysis actually performs one of the hardest tasks in application rewrite that renders it almost impossible to be done manually – understanding the entire business logic of the old application, which is often poorly documented and contains layers upon layers of code that have accumulated throughout the years, as well as cryptic bug fixes applied by renegade ninjas. The output of such a tool can also be used for the POC process mentioned above.

Angular is on fire! Make sure it is available to you

Angular is the platform of choice for many modern applications. Make sure your app modernization partner supports it as a target platform. If at some point down the road your team recommends going with Angular, you want to have that option available and avoid the risk of lagging behind.

Angular support must be taken into consideration. Make sure that your app modernization partner supports it

Keep an eye on user and data security

Moving those old Visual Basic, C Sharp or Java Desktop applications to the cloud or transforming them into SaaS might introduce a lot of vulnerabilities. When selecting a solution for your application rewrite, make sure rewriting is done according to latest and best practices when it comes to security. As this is an automatic process, insist that the tool will have those security practices baked in rather than added at a later stage.

Old code base still breathing? Make sure migration does not require a long code freeze

Select an application modernization process that does not mandate a long code freeze, so you can keep maintaining the old code base easily until that very final stretch before the actual upgrade occurs. You can therefore avoid risk that might affect productivity and cause unexpected costs due to long code freeze during the migration project.