Successfully reaching your goal with reverse engineering
Modernization is the key to success in order to be able to guarantee modern, high-speed digital services and interfaces in the future. For a leading legal expenses insurer, itestra replaced a historically grown and reliable software landscape that had been running on the basis of RPG (iSeries) for over 20 years.
As part of the 3-year modernization project, innovative methods were used to create a differentiating and future-proof solution that creates efficiency and flexibility in order to continue to operate successfully on the market.
Insurance in the digital transformation
Technological innovations and changing customer expectations pose major challenges for insurance companies. Good service, fast response times and reliable processing are just as important as attractive products. Modern IT landscapes make an important contribution to the future viability of insurance companies, optimize their processes and can significantly increase the efficiency of the entire company.
Modern processes, modern insurance
Customized software creates differentiation
Transformed into the future
The legacy application landscape had formed the technical basis for the business success for more than 20 years and represented a high value for the insurance company. With 800,000 lines of code in RPG, it covered all products and processes and reliably processed 1.4 million current contracts.
However, this solution no longer met the company’s strategic objectives: a lack of young talent for the old technology, limited ability to innovate, the threat of a loss of know-how and outdated documentation. In order to be able to provide modern, digital services and interfaces at high speed again, modernization was absolutely essential.
The project duration: estimated and adhered to
As part of a 3-year modernization project, a solution was created that corresponds to the company vision: modern, future-proof technology (web, Java, services) that enables innovative products, processes and online services.
”With reverse engineering, a step-by-step approach and a vertical team organization, we were able to implement a modern software landscape for our customer very efficiently and securely, which opens up new opportunities for the future and will be used successfully for a long time.
ProjektleiterinItestra
The innovation in this project started with the method
Efficient and safe procedure through a mix of methods:
Reverse engineering
Reverse engineering greatly reduced the workload for the specialist department: 85% of the requirements were extracted from the existing solution and reconstructed by the development team.
More at itestra.com/software-renovation/
Legacy system as test oracle
The legacy system was used as a test oracle for automated and manual tests of the new solution. These comparative tests have made it possible to significantly reduce the usually very high testing costs.
Mixed operation old/new with gradual use case-based replacement
In order to minimize the risks of a “big bang” incl. To avoid duplicate maintenance of the old and new systems and feature freeze and to generate early benefits, an incremental approach with mixed operation of new and old components based on functional domains – contract, service, partner, collection/disbursement, commission, etc. – was also chosen.
In each increment, the use cases of a domain were completely analyzed, enriched with desired changes, the technical design was redesigned, reimplemented, tested, the functionality of the entire domain was put into production and switched off in the old system. With each increment, a complete documentation with use cases, business rules, design, object model, etc. was created.
The first increment went live after three months, with further increments following approximately every six months. This made it possible to create smooth transitions and early feedback throughout the course of the project.
Vertical team organization
The project team was organized vertically in line with this work structure. Developer and sub-teams are responsible for a subject area (domain) from analysis of use cases to delivery and support: DevOps extended by requirements analysis via reverse engineering.
This organization very effectively avoids loss of information as a result of handovers and guarantees maximum productivity with a minimum error rate. This meant that the project could and had to be kept very lean with an average of 10 engineers (plus PM, testing and some specialist departments).
More at itestra.com/join/
Stability in productive operation
From RPG to 100% Java and not a single line of code remained. A total of 800,000 lines of code were renewed and an individual, modern and license-free state-of-the-art solution was created. Processing times in the specialist processes have been accelerated thanks to optimized user guidance: Thanks to a dialog that summarizes the most important information from contract and claims processing, it is no longer necessary to switch between different screens.
In addition, the dark processing rate in critical processes was increased and additional requirements such as SEPA, new products and various legal requirements were implemented at the same time. The old solution, including the hardware, could be completely switched off or removed. All data and requirements are available in the new solution without restriction, processed and enriched with new options. The project was carried out with a fixed price, on time and on budget.
Facts and figures
About itestra
We develop and innovate business software solutions
We are guided by two core values in everything we do:
We want to achieve the best possible added value for our customers through our solutions. This is based on quality, i.e. the second point: our employees can and should develop professionally and personally, become better and better and achieve great things. For ourselves, for our performance and for the added value of our customers.
Contact us
Do you have questions about reverse engineering?
Please feel free to write or call us.
info@itestra.de
+49 89 381570-110
Software renovation/software refurbishment
Understanding software, preserving assets
Old but valuable
Successful IT and software systems have been in place for decades in almost all industries and control business processes and devices. They have been developed over many years, are indispensable for business, manage customer and business data and contain precise detailed knowledge about the business. Existing software therefore has enormous value and is part of the company’s assets.
But efficiency and performance are declining
However, technological change and changing requirements mean that software solutions are ageing. Quality deficiencies increase over time and result in decreasing performance, increasing time-to-system and rising costs. However, due to the enormous scope of the systems, replacing them with new procurement or new implementation is often expensive, risky or even unrealistic.
Software renovation is a new option for action
Software renovation means understanding existing software, using existing assets and restoring future viability with innovative methods and tools.
Creating future viability efficiently
System sizes:
Software value:
Software age:
Technologies:
- Full-scale redesign
- Reverse engineering, knowledge extraction
- Algorithmic performance optimization
- Re-documentation
- Platform migration, technology/framework change
- Code-CleanUp, Stabilization
- Architecture change, refactoring
Methods and tools for software renovation
How is software renovated?
Innovation instead of rough mechanics
Software renovation is not a mechanical activity or tool, but an innovative discipline that includes and uses specialized knowledge, methods, special activities and, in some areas, tools.
The Health Check provides clarity
Software renovation begins with a structured inventory, the health check, of the existing solution with regard to the degree of coverage of business requirements, technical quality (implementation, documentation, data storage), costs (development, operation, infrastructure) and development and operating processes.
Actual – target = roadmap
The inventory is compared with alternative solution designs, industry benchmarks and the company’s strategic objectives. A transformation roadmap is derived from the actual and target figures, taking into account the economic framework conditions, which is then implemented in projects in the short term or over several years – depending on requirements.
Added value through software renovation
We restore for the future
Software renovation expert
Based on our own scientific work, we have been evaluating, optimizing and renovating extensive software systems for well-known companies in various industries for more than 15 years.
Our services for software renovation
Our portfolio includes the complete re-design of software landscapes, e.g. from RPG, NATURAL, COBOL, C/++ into modern, object- and service-oriented as well as web-based systems in Java, C# and others, as well as platform migration, re-documentation of legacy software, restoration of maintainability through code cleanup or performance optimization of central algorithms to reduce runtimes and CPU costs by more than 50%.
We renovate the value of software
We take responsibility, guarantee contractual success and use innovative methods such as manual reverse engineering, automated comparison testing, migration tracking (to track redesign progress), write-through architecture to avoid parallel development and special analysis tools.
Advantages of reverse engineering
Reverse engineering vs. new development
Reverse engineering describes the process of analyzing and understanding an existing software solution in order to improve it or develop a new solution.
Compared to a completely new development, reverse engineering offers these advantages:
- Time and cost savings
By studying the existing design, existing functionality can be used and does not have to be redeveloped, which saves time and costs. - Improving designs
Understanding the original functionality promotes targeted re-engineering, e.g. in order to be able to adapt to new requirements. - Avoidance of duplication
Reverse engineering can ensure that existing solutions are not developed again. - Protection of intellectual property
Reverse engineering can help to protect intellectual property by ensuring that existing designs are not used. - Expanding knowledge
Reverse engineering allows developers to improve their technical understanding and learn about new technologies and methods.