GM Methodology Overview
- Mark Juras
Our Migration Methodology
Automated translation tools are a critical aspect of our approach, but they are only part of our comprehensive language migration solution. Our methodology allows us to manage the complexity of large-scale migrations and ensure that avoidable mistakes are avoided and that progress to closure is steady and sure.
We understand the strengths and limitations of automated translation and we carefully balance manual and automated activities. For example, we may build or acquire new architecture components rather than using legacy architecture components. Our tools are able to seamlessly integrate hand-written components into the generated code stream.Â
Â
 The general steps of our methodology are listed below.
Phases | Â | Â | Deliverables |
   | Preparation  | Analysis – using automated tools to analyze the source codebase |
|
Design – working with the client to define and understand the desired |
| ||
Translation | Translation – converting the source code and refining the tools  |
| |
Verification | Verification – verifying that the migrated system meets functional and |
| |
Cut-over |  | Deployment to Production – final translation, verification, and |
|
Â
- Our tools are designed to incorporate manually-coded and off-the-shelf components as needed to ensure high-quality.
- Our methodology is designed to integrate with other maintenance and project work that may be in progress.
- Final testing and Deployment can be managed and performed by you as part of your ongoing system delivery efforts.
- Our methodology is highly automated to minimize costs, time and risk of the migration.
Â
Benefits Matrix
Customer Pain Points | Great Migrations Methodology Benefits |
Migrations take too long | Automated methodology streamlines conversion work and takes it off the critical path of your other commitments. Once the translator is tuned, it can to generate a complete, architecturally and functionally correct system in a matter of minutes. The cut-over/transition to the new platform can be done in fraction of the time needed with other approaches. |
Extensive testing is required | Translation tuning is primarily verified by unit testing which is much simpler than system testing. Tuned translations mean fewer errors and fewer test cycles needed for user acceptance. |
Migrations require large staff and a large PM overhead | Automated methodology streamlines conversion work so it can be done with much few resources in parallel with other work. |
Learning Curve | Coding from scratch in a new platform demands significant new skills and hand-translating code from one platform to another can be extremely difficult and tedious. |
Technical Risk | Because technical solutions are implemented by the translation tools, the agreed to solutions and standards are documented (in the tool configuration files) and they are applied systematically and consistently across the translated codebase. |
Purely technical change is a hard sell, so budgets are very tight. | Our methodology is less expensive than a full manual rewrite. Cost savings from the automation mean more money may be available for adopting value-added features of the new platform, SDLC improvements, and developer training. |
Our Value Proposition
Great Migrations appreciates that your organization may not have accurate documentation for your applications – you have source code.
Source Code is an Asset | An organization's source code may be only specification they have for their applications – it is accurate, it is detailed, and it has been tested in use. Automated Translation allows companies to fully leverage this vast asset. |
Manual Translation | A computer program's source code has high information content: it describes in extreme detail exactly what the program does and how it does it. It is possible for a skilled programmer to hand translate applications from code, this task is extremely error prone and time consuming. Interpreting a computer program in one language, while at the same time authoring it in another adds another dimension of difficulty. Additional challenges are encountered when the programmer tries to consider external dependencies and runtime dynamics. |
Advantages of our Automated Translations | Given the challenges of source code translation, we have found that is much more effective to solve these problems and implement their solutions in a software tool where they can be verified, refined, and reapplied systematically across the codebase. Specifically, platform migrations that employ our approach will have several advantages.
|
Our Translation Technology
A unique aspect of our methodology is our VB/ASP/COM to .NET translation tool, gmBasic. gmBasic is grounded in proven principles of compiler design and has been refined through dozens of migration projects. gmBasic compiles VB6/ASP source codes into an extremely detailed semantic model. Then, this model, along with information on external libraries and rules on how to restructure the code for the new platform, is loaded into an efficient information management system that analyzes the codebase and restructures it for the target architecture. Finally, the model and more configuration metadata is used to generate a new codebase that uses target language syntax and conforms to your standards.