Monday, 2 July 2007

10 questions that you should ponder on before you enter a program conversion process

10 questions that you should ponder on before you enter a program conversion process
(for ex. from Natural/ADABAS to JAVA-J2EE ORACLE).

1- What is program conversion?
- Program conversion
- Platform conversion
- operating system change (IBM MVS to UNIX)
- hardware change (for ex. from IBM mainframe to distributed workstations)
-Data conversion (for ex. from ADABAS to ORACLE)

2- What are the problems that you may encounter?
- loss of some functions that you had at the previous system
- maintainability
- you have a converted system but the lines of code has increased
three times the original, low readibility, few documentation
- you do not have the ability to create new versions by changing the
converted programs
- you can not create new versions, you are totally dependent on the program converting company on this matter
- the converted system works but very slow

3- Is program conversion an easy process?
- The realization of the conversion process may be too cumbersome.
- The conversion process may be done at sites geographically far etc…
- Using Internet may not be an option by the customer even for testing or demo purposes.
- If the process is not managed properly, you may get tangled to millions of lines of code, something missing somewhere etc…

4- What is the cost?
- You should carefully estimate the cost of having your programs converted
in comparison to rewriting them with a labor based approach… If not you may come
to questioning this point down the road anyway…
- Payments should be clear… How much you will pay for what? It should be clear how the new versions after conversion, before conversion will be payed? Some times the customer can not finalize its bottom line for the software…
- Who is going to pay for the maintenance?
- WWWill you be able to change the converted programs?

5- References of the conversion company?
-The team size?
- The qualifications of the team members etc…

6- What does the contract include?
-How will the two sides decide that the job is done?
-How many versions will be produced? Which one will be considered the first?
-What will happen to the forgotten or missing programs?
-Will you have the program development environment and be able to do small corrections?
-What is the measuring unit? How will the work done be measured and payed for?
-How will subsequent program development be done after the conversion process is finished?

7- Do you have an upto date inventory of your programs?
-How many programs, screens, tables etc. exist in your system to be converted?
-Do you have an inventory system that lists the LOC for each of these easily?
-Which programs in your inventory are redundant or out of use?
-Do you have the source code for all the active programs that you have? Are they easily manageable or are they some where that you guess you know?

8- Does your system use special character sets, calendar etc?

9 – Are you ready for a labourous testing process?
- Do you have a functional inventory?
- Do you have a minimal test plan which includes only the ‘linearly independent’ test cases in your system?…
- Have you documented critical test paths, which are crucial for your system.
- How are you planning to catch side-effects caused by moving 2-3 million lines of code from one platform to an other?

10- You may enjoy the expertise of an outsource for conversion but are you ready for handling related problems such as communication, etc?..