GM Methodology Overview

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








Translation
Tuning
Iterations

 

 

 

Preparation

 

Analysis – using automated tools to analyze the source codebase
for size and complexity.

  • Estimated Effort
  • Identified Problems and Opportunities in the source code base
  • Migration Path and Milestones

Design – working with the client to define and understand the desired
end state for code, architecture, and development processes.

  • Target Architecture Standards
  • Target Architecture Components
  • Translation Configuration Improvements
  • Verification Plan

Translation

Translation – converting the source code and refining the tools
to produce better translations.

 

  • Translated code ready for review and testing

Verification

Verification – verifying that the migrated system meets functional and
technical expectations.

  • More detailed specifications of code conversion approach
  • Verified Correct, Clean Applications

Cut-over

 

Deployment to Production – final translation, verification, and
deployment to production

  • Updated production Environment

 

  • 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.

A system that was properly converted from the legacy source code will be much more familiar to your development team than one that was rewritten from scratch.

Similarly, if you preserve functionality, instead of completely rewriting and re-engineering your application will avoid having to retrain your users.

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
is extremely
Difficult

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.

  • High accuracy – tuned translations do not introduce bugs or change the logic of the application.
  • High consistency – the resulting code follows your desired development and architecture standards.
  • High speed – automated translations are hundreds of thousands of times faster than manual re-coding. |
    We can translate a 310 project, 9 million line enterprise application codebase in about 20 minutes.
  • High flexibility – the translator can be customized to produce different target architectures for different parts of your application portfolio.

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.