SOFTWARE MIGRATION – A REAL ALTERNATIVE
Professionally executed software migration implies that:
- Individuality, know-how and unique selling points are secure,
- Future-proof platforms and development environments are used,
- The modern world of information and communication are opened up,
- Independence of proprietary manufacturers and licence products is preserved,
- Time and costs are saved.
The advantage of a software migration juxtaposed with development from scratch lies in the fact that it requires less effort. Experience gathered from several projects proves that to be at a ratio of 1:8. If a migration project envisages, for example, 15 man-years (commonly required time span), a redevelopment must be estimated to take roughly 120 man-years.
A software migration usually affects all components of a legacy system (programs, screen masks, files, jobs, middleware, databases).
The graphic shows the migration paths supported by us and the software tools used for that purpose.
Over the last 25 years, we have successfully executed migration projects within the planned time frame and within the allocated budget. Naturally, every aspect of our experience gained over the years flows into current and future migration projects.
OUR TOOLS AND TECHNOLOGIES
Software migration is only manageable with mature and time-tested migration tools and technologies.
Our unique selling point is the consistent application of scientific compiler-building methods in the development of technology and tools. The result is that we have achieved a high level of automation. This in turn brings down the project duration, project costs and error rate in contrast to manual migration. Our tools and technologies support all components of a migration project traversing programs, middleware, files/databases, masks, job control languages and so forth.
Each migration project is unique. The pecBOX (pro et con – Toolbox for Software Migration) developed by us adapts migration tools and technologies quickly, flexibly and cost-effectively to individual customer needs.
THE PROCESS OF A MIGRATION PROJECT
Each of our migration projects follows a defined process. At every stage, it assumes the nature of a joint project between our customers and us. The following figure illustrates the process from a workshop to the refactoring:
The project passes through various steps like:
- Workshop: Once you have evinced interest in a joint migration project with us, we hold jointly an all-day workshop. Here, you can present to us the current legacy system and describe your requirements and ideas concerning a software migration. We will present our technologies and tools. If you provide us with selected sources of your system (e.g. COBOL programs, mask descriptions, …), we will demonstrate the migration process based on your sources. In conclusion, we will decide on how we should go about the next step of the cooperation together, which involves preparation of a study.
- Study: Having agreed on further cooperation, the next step is the actual preparation of a study by us which will essentially touch on the following points:
- Detailed compilation of the legacy system to be migrated including its application statistics.
- Definition of the target system (hardware, architecture, application server, programming and script languages, frameworks, …).
- Definition of the migration paths between the legacy and target systems. Among other things, the effort is assessed that is needed to adapt the existing tools to the concrete project requirements or, as the case may be, to develop new tools.
- Systemising the division of labour required for the project between the partners concerned.
- Determining the effort in terms of financial outlays and the probable duration of the project as essential results of the study.
- Pilot project: Based on the results of the study, a pilot project (proof of concept) will be initiated, which will implement a vertical prototyping (mask, server, database) at a selected subset of approximately 20 % of the legacy system in order to verify the chosen migration technology and the tools used. Depending on the outcome, these tools are readjusted if needed.
- Pre-Engineering: In parallel to the pilot project, you will clean up the system to be migrated (“refurbishing before migrating”). In this step, the term “Pre-Engineering” means that reengineering tasks are carried out ahead of the actual migration. Experience acquired from previous projects has shown that the application statistics to be migrated are reduced by approximately 10–15 %.
- Migration project: After these steps of systematic preparation, the joint migration project is launched. We offer this for a fixed price which can be agreed between the parties during the study phase. During the migration project, no code freeze is required. Programs that have already been migrated and are subject to further development as part of general maintenance can be migrated again at any time. This ensures a continued maintenance and an uninterrupted operation of your existing system. Upon project completion, both the original program system and the system resulting from the migration have an identical, up-to-date development status.
-
Refactoring: In the course of numerous migration projects, we have developed a comprehensive tool, which allows the automatic refactoring of Java code after a migration. This means that, even years after a completed project, you are able to react flexibly to new requirements.
All previous projects have been completed successfully within the planned time frame and planned budget.
“Toolbasierte Software-Migration nach Plan”
Abstract for 18th “Workshop Software-Reengineering & Evolution” 2–4 May 2016 in Bad Honnef, published in:
Softwaretechnik-Trends, volume 36, part 2, May 2016
“Aus Alt mach Neu – automatisch! Migrationsprojekte erfolgreich planen und realisieren”
Article by Dr. Uwe Kaiser (pro et con), published in:
Business Technology, release 03/2014, page 41
“Methoden und Werkzeuge für die Software-Migration”
Article for 10th “Workshop Software-Reengineering” 5–7 May 2008 in Bad Honnef, published in:
10th Workshop Software Reengineering, 5–7 May 2008, Bad Honnef.
Lecture Notes in Informatics (LNI) Proceedings, Series of the Gesellschaft für Informatik (GI), Volume P‑126, 2008