Functional Equivalence first, Improvements later!

17. November 2006 07:55 by jpena in General  //  Tags:   //   Comments (0)

Migration projects can be quite complex.  When you take an application built on a legacy platform and port it to a new language, numerous changes have to me made to achieve the state of Functional Equivalence in the target platform.  Because of this, it is recommendable to make Functional Equivalence the most immediate goal of the project, leaving any desired improvements to the application as post-migration tasks.  This way, no additional bugs will be introduced due to new code or application changes.

Project leaders should always keep this in mind when directing a migration, since new requirements and improvements will add extra complexity and risk to the migration project.  Exceptions to this rule are those improvements that are automatically performed by the migration tool, such as the conversion to Structured Exception Handling and the conversion to ADO.NET that are executed by the Visual Basic Upgrade Companion.

Application improvements can be done gradually once Functional Equivalence has been reached.  In the case of migrations to .NET, applications can be improved in a step-by-step process to take advantage of the features provided by the target platform.  Some of the improvements that are recommended as post-migration tasks are:

  • Code Refactoring based on the Object Orientation features of .NET.
  • Implementation of Web Services.
  • Changes to the User Interface.
  • Performance Testing and Tuning.