The Porting Process



The Five Phases of the Porting Process

Phase 4. Finalisation

The old 80-20 rule about software development infers that 80% of the time and effort is spent on last 20% of the project.  This concept also applies to porting projects.

Finalisation and Testing generally accounts for a large chunk of the overall time and effort of the entire project, with most of the effort spent on small details.  This is also why it must be stressed over and over again that details are important and a particular Gupta feature cannot be simply written off because there may be something vaguely similar in the .NET Framework.  

At this stage the application has been translated into .NET project(s) that compile and basically run.  Gupta code does not have to be worked on anymore.  The original Gupta application will be needed as a reference for testing and comparing code flow, but from this point on all coding will be in .NET.  The screenshot below shows several projects in a Visual Studio solution.

Application statistics in PPJ Inventory : Analysis results in PPJ Inventory

Finalisation work is very important and must be carried out systematically. The tried and tested method is to split the work in logical groups and thoroughly work on each group. For example, all forms and dialogs have to be opened successfully in Visual Studio designer and all labels must be verified. All menus and menu actions must be exercised and all missing functionality must be implemented. All button actions, combo-box, list boxes and validation must be exercised, and so on.

Naturally we are not subject matter experts in your application; after all you wrote it, not us. Therefore it’s very important that you give us as much help with our pre-acceptance testing as possible. We ask that you provide screen videos to help us with our testing. These are recordings of users working through the screens and reports in the application so we know how a real user would use them and allows us to do much more meaningful testing than just the general “click testing” which we will of course do as well. These videos can be created with various available software offerings and may be recordings of training courses, for example.

The output of this phase is an application that is ready for delivery to your QA people for customer acceptance testing.