Migrating a Visual Basic 6 application
A Visual Basic 6 application is usually a Windows desktop application: forms, reports, a database behind it, and third-party components installed on each computer. Migrating it means deciding what to do with each piece, not translating line by line.
What to look at before touching anything
- The rules. What calculations, validations, and flows does it contain, and which ones are still valid.
- The data. Where does it live, what state is it in, and who uses it.
- The components. What third-party libraries and controls does it use, and are they still available.
- The reports and outputs. What is printed, what is exported, and who receives it.
- The dependencies. What other systems does it communicate with, and how.
Three common destinations
1. A web application. It is used from the browser, without installing anything on each computer. 2. A modern desktop application. When the work requires being on the computer, for example, due to a connected device. 3. Connecting it. The application remains as is and is accessed via APIs and connectors so that the rest of your systems can use it.
The diagnosis compares the three with the data from your case. There is no better destination in the abstract.
Questions about migrating Visual Basic 6
Can it be migrated if we don't have the source code?
We start by seeing what's there: executable, data, documentation, people using it. Until you look, you don't know what can be recovered and what cannot. Extraction is only done with the system owner's authorization, and what cannot be recovered is stated in writing before proceeding.
Do we have to migrate everything at once?
No. It is delivered in phases, with acceptance criteria and a rollback plan, so that each step can be checked and, if necessary, undone. How the change of each phase is organized is defined in the proposal.
What happens to reports and third-party components?
They will be inventoried. For each one, it is decided separately whether to keep it, replace it, or remove it, and this is put in writing in the scope proposal.