The transformation of an "as-is" application to a "to-be" target takes place during the Application Transformation phase. We accomplish this through a repeating cycle of transformation activities to produce the modernized application(s).
The purpose of any application transformation project is to produce a modernized application. The primary difference when compared with a traditional software development project is the availability of a very valuable and authoritative source of information, namely the legacy application source code. Trinity's Automation-Enabled Modernization (AEM) process is designed to take maximum advantage of this resource. In addition, several aspects of software engineering best practices must be followed, such as strong project management, effective team communication, configuration management, and software testing. Trinity combines the strength of these proven practices with our automation-enabled process to produce predictable and consistent results.
Application Transformation typically begins with Technical Requirements Analysis (TRA). We meet with client representatives to discuss the desired transformation results. Representative topics include:
Following TRA, the team moves on to develop an Implementation Strategy Plan (ISP), which details how the desired transformation results will be achieved. Representative topics include:
We commonly utilize a Proof of Strategy - Release 0 (zero) as a way to perform a "first run" of the ISP using a small portion of the application. This provides many benefits, including for example:
Trinity's Automation-Enabled Modernization (AEM) process transforms the application functionality using automated conversion to a high degree, but in a project-specific manner. We do not attempt to automate 100% of the conversion. The basic idea is to:
The main driving factor behind Trinity's AEM approach is that automated code conversion forms a necessary and valuable part of application conversion, but automated code conversion must be:
Comparing AEM with Other Common Approaches
Fully manual conversions tend to fail due to difficulties in handling the sheer volume of legacy source code and the myriad inter-dependencies. Errors of omission and misinterpretation are common, as are project cost and timeframe overruns. On the other hand, fully automated conversions tend to fail due to the low quality of the result. AEM provides an appropriate balance - extensive automation to handle most of the code (that for which appropriate old-to-new mappings can be defined), combined with manual conversion for low-volume and quality-critical portions.
One of the downfalls of off-the-shelf tools is the goal of achieving 100% automated conversion. This forces simplifying assumptions to be made, which reduces quality. AEM is based on the assumption that a conversion will never be 100% automated. This allows us to handle the high-volume, easy-to-categorize patterns with automation, thus achieving the desired cost and timeframe savings, along with consistent results. Patterns that occur infrequently in the legacy code may more efficiently be converted by hand. An example is converting particularly convoluted logic implemented with GOTO statements. Manual intervention in such cases can dramatically improve the organization and readability of the new application. This also eliminates needless effort spent attempting to automate tasks with a low return on that effort.
Note that AEM is not the same as applying an off-the-shelf tool and then manually massaging some parts of the result to improve quality or to re-organize into a desired application architecture. Off-the-shelf tools can recognize only the syntax of the legacy language, not the patterns specific to a particular legacy application. This severely limits the quality and usefulness of the converted code produced by an off-the-shelf tool. With AEM conversion, the manual "touch ups" are performed starting with high quality, properly architected code.
With Trinity's Automation-Enabled Modernization process, the end result is a well-designed, highly-maintainable new application that takes full advantage of today's technologies while protecting the huge investment that your legacy application portfolio represents.
Click the Request a Call button to request more information or a follow up call with one of our professionals.