App modernization is a go! Celebrating the end of the Jurassic era (Source: Splitthekipper)
Go with automated digital transformation rather than a manual rewriteStatistics 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 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 translationAn 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 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 referencesSeeing 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 POCComplete 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 codeScanning 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 youAngular 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