|1||The First Phase is a Standard Upgrade: providing .NET code that Builds in .NET and meets a few other general, objective measures of completeness and quality. The first phase will be a "direct translation" leveraging simpler, out-of-the-box capabilities. Given a well-formed, complete source codebase, a skilled gmStudio user can completed a Standard Upgrade fairly easily.|
The Second Phase is the Custom Upgrade: providing code that contains specific upgrade features, but still objectively measurable technical code quality. Upgrade features are of four types:
Delivering each Custom Upgrade feature requires definition, analysis, design, implementation and verification with a corresponding effort. Upon completing the Second Phase you will have a .NET code that is ready for final optimization and integration testing.
|3||The Third Phase of the methodology is an Optimized and Verified Upgrade: providing an integrated runnable .NET code meeting the specific functional (correctness, performance) requirements that are in scope.|
|4||The final phase is Transition: providing .NET code that is running in production and being efficiently maintained on the .NET platform. The emphasis on the translation tool is very strong in the beginning phases and shifts to an emphasis on testing and manual maintenance processes in the later phases.|
A final word of caution on estimation. There are many factors beyond the size and complexity of the source code that can have a very large impact on time and cost. These other factors are often dynamic and very difficult to quantify. In practice most teams must manage these factors carefully to keep the pace and cost of the project within expectations.