How long would it take you to complete 25,000 tasks that take thirty minutes each?
Before you drag out your calculator, that’s 12,500 hours, or about 1,562 working days. Wouldn’t it be better to have it all done in under an hour? That gives you an idea of how refactoring—when done correctly—can accelerate modernization process and deliver accuracy in the range of just one error among 20,000 lines of code. That’s the kind of accuracy that’s needed for critical systems. Let’s talk about how refactoring achieves it so fast.
The refactoring phase of modernization at TSRI takes a project beyond updating the code and database to modern standards and system architecture. Sure, the planning, assessment, transformation, and integration phases of a modernization process get the mass of the work done. But more is needed. Imagine if a great painter only took a portrait to the point of getting the features in the right places. For functional equivalency, high performance, and future-readiness you need to dive into the details to get them as right as the original—and ready for future enhancements and needs.
That’s where refactoring can be hugely beneficial. If, after the transformation and integration phases you have to find and address each issue manually over hundreds of thousands or millions of lines of code, you may as well add those 12,500 or more hours back in. That’s why refactoring is key. By including an iterative code scanning and refactoring phase to the modernization process, TSRI automatically and semi-automatically remedies a host of issues at scale that would make developers run for the hills, including:
Pinpointing and getting rid of dead or non-functional code
Merging and consolidating duplicate code and data
Improving design of code and data
Eliminating system flaws from transformed software
"TSRI's refactoring process creates reusable components that can be applied to future projects"
And beyond those cleaning and refining functions, a well-designed refactoring process also provides forward-looking advantages. TSRI’s refactoring process improves maintainability, remediates security vulnerabilities, increases performance, and modularizes functionality. It also creates reusable components that can be applied to future projects for optimization, packaging, and redistribution.
When you’re able to reuse some or all of the outputs of automated or semi-automated refactoring, you don’t have to recreate the mechanisms for modern microservices, REST calls, and other reusable elements. They’re at your fingertips and ready for integration in modern environments or databases for future projects. It gives you the best of modularity, but customized and created specifically for your systems’ needs such as data-dictionaries, code and record consolidation, introduction of logging or comments, and more.
"It gives you the best of modularity, but customized and created specifically for your systems' needs."
One scan, one rule, and thousands of fixes
A key part of the refactoring process is scanning the newly modernized code to find issues for remediation. To do this, we use the SonarQube scanning tool. SonarQube is an open-source platform that executes continuous inspection of code quality in modernized code. It provides a detailed report of bugs, code smells, vulnerabilities, code duplications, and more. Once SonarQube has identified problems in the code the TSRI team can use the results to resolve the issues and improve code maintainability issues and security vulnerabilities.
This is where the economy of rules comes in. Once SonarQube has pointed out issues across thousands of lines of code, TSRI uses that intel to identify the types of issues that need to be addressed. When an issue appears once in an application, it often appears hundreds or thousands of times, and a single rule applied across all code can eliminate a host of individual instances.
So how did we get to those 12,500 hours we started with? We didn’t just make it up. In a TSRI project for Deutsche Bank, a single rule created based on a scan of the code fixed about 25,000 instances that issue. SonarQube estimated it would take 30 minutes to fix each instance. That means refactoring automated the remediation process and saved them about 12,500 hours of software development time. That’s a lot of Marks.
The proof is in the work. Refactoring can not only save thousands of coder hours, but a combination of code scanning and refactoring can also uplevel your modernization with:
Maintainability making it easier to update and manage code going forward
Readability for modern developers to find and improve the functions they need more easily
Security by increasing the speed with which security issues can be found and remediated either manually or through refactoring rules
Performance greatly increasing the efficiency of the application—for instance, enabling multiple services to run in parallel rather than sequentially.
Proven by decades of results. Prove it for yourself.
For decades, TSRI clients have been discovering a dramatically faster, more accurate, and less expensive AI-based and automated modernization process. We’ve earned a place as the go-to resource for enterprise corporations, government, military, healthcare, and more. Now prove it for yourself. Find out how the proprietary TSRI modernization process delivers future-ready, cloud-based code in any modern language in a fraction of the time.
No change in business logic.
Reduction in overhead costs.
Continuous development during and after migration.
These are a few modernization concepts that Scott Pickett, TSRI’s Vice President of Product Operations and Service Delivery, discussed on his recent appearance on Amazon Web Services’ APN TV channel.
“TSRI allows for an ability to do automated transformation of not only your language, but your application to the cloud environment, allowing you to bring in skilled, modern technology to your legacy implementations, being able to drive down the cost point associated with ongoing operational costs, and being able to deliver new applications, new functionality, new screens, and new capabilities in that modern language,” he said in his talk.
So what does that mean, exactly?
In TSRI’s modernization of a major European bank to the cloud, that meant they modernized approximately 80,000 lines of code at 99.7% automation. In other words, only 384 of those lines of code were hand-written. That's big for a project of this size—but it's huge when you're talking about applications with hundreds of thousands or even millions of lines of code!
For any organization, whether in commercial enterprise organizations like the banking client mentioned above, or in government agencies, modernization reduces risk.
“You're able to bring a new skill set, new experts that know Java and know CI and CD tools and apply them to your legacy application that's been modernized,” Scott said. “It literally also allows for the ability to drop tens of thousands, and even hundreds of thousands of dollars, off your monthly costs.”
As Scott also noted in his presentation, “we can not only transform code quickly…because there are very, very few manual changes, but it also means that you can migrate to the cloud and then be able to not have any business logic change associated with that migration.”
Maintaining business logic is a big deal when it comes to systems that measure their age in decades rather than years and the original programmers have long since moved on.
One other interesting point Scott brought up is how TSRI’s tools have enabled customers to maintain agility and competitive advantage by providing its clients with the modern, cloud-based applications they need—all while reaching back to its legacy DB2 database that supports the applications that have yet to be modernized.
Throughout the talk, Scott also pointed to how TSRI has adopted a step-wise model, which modernizes small applications or pieces of an application, tests for validity, then pushes into production before the next applications are transformed. Such a methodology allows the client to continue to develop in the legacy language, maintain a common data set, and minimizes business disruption to almost zero.
“There’s no big delay. You can continue developing the legacy and we can migrate those legacy applications while the transformations are happening and migrate them into your modern environment,” he said.
Scott also explains the steps of an automated migration in layman’s terms and how a TSRI transformation integrates cleanly into cloud services like AWS using containerization and microservices.
We of course don’t want to spoil the presentation by giving everything away, so head over to APN TV and watch for yourself to learn about how automated modernization to the cloud will save your organization time, money, and the headaches from continuing to maintain legacy systems.
TSRI is Here for You
As a leading provider of software modernization services, TSRI enables technology readiness for the cloud and other modern architecture environments. We bring software applications into the future quickly, accurately, and efficiently with low risk and minimal business disruption, accomplishing in months what would otherwise take years.
When it becomes apparent that legacy code must be replaced, modernization is often the best possible strategy. With code modernization it is possible to refine the original code and bring it up to modern practices, as well as integrating it with existing software. One of the problems with modernization, however, is that critical applications tend to have thousands of lines of code and a manual rewrite is often impossible. To re-create the software requires a project of similar magnitude to the original development; to leave most of the code intact as a “black box” and build around it results in numerous security issues and inefficiencies, as well as inability to leverage emerging technologies.