InfoQ Homepage Legacy Code Content on InfoQ
-
A Pipeline Approach to Language Migrations
Automated language migrations can be made reliable and maintainable by structuring them as pipelines with clear, testable stages. This avoids the pitfalls of big-bang rewrites while providing transparency and modularity. The pipeline approach ensures idiomatic code, preserves legacy business logic, and supports large-scale transformations from outdated systems.
-
Zero-Downtime Critical Cloud Infrastructure Upgrades at Scale
Engineers can avoid common pitfalls in large-scale infrastructure upgrades by studying others' experiences. The article provides lessons learned from big firms like eBay and Snowflake, offering solutions for legacy systems, performance validation, and rollback planning. It emphasizes systematic preparation and clear communication to handle challenges and ensure zero-downtime upgrades at scale.
-
From Legacy to Value: Building Digital Banking Products across Central and Eastern Europe
This article shares practical experiences and concrete examples from multi-site teams that built a single solution and delivered value to customers across various European markets. It provides real-life stories and lessons learned from developing two banking products, Lending and Foreign Exchange (FX), and their evolving architecture over time.
-
AI Interventions to Reduce Cycle Time in Legacy Modernization
In this article, we share our experiences and insights on how large language models (LLMs) helped us uncover and enhance the conceptual constructs behind software. We discuss how these approaches address the inherent complexity of software engineering and improve the likelihood of success in large, complex software modernization projects.
-
Legacy Modernization: Architecting Real-Time Systems around a Mainframe
At its heart, our transformation journey is about breaking dependencies at multiple levels. Many enterprises face similar challenges with legacy systems: tightly coupled architectures that are difficult to scale, change, or maintain. For us at National Grid, the solution came through four complementary paradigms that worked together to enable different forms of decoupling.
-
Renovate to Innovate: Fundamentals of Transforming Legacy Architecture
Rashmi Venugopal explores the inevitability of legacy systems in successful companies and the importance of transforming legacy systems to accelerate innovation. Rashmi discusses various strategies to tackle such technical renovation initiatives, like evolutionary architecture, deprecation-driven development, and intentional organization design.
-
Transforming Legacy Healthcare Systems: a Journey to Cloud-Native Architecture
Discover how Livi navigated the complexities of transitioning MJog, a legacy healthcare system, to a cloud-native architecture, sharing valuable insights for successful tech modernization. Our experience illustrates that transitioning from legacy systems to cloud-based microservices is not a one-time project, but an ongoing journey.
-
Moldable Development: Guiding Technical Decisions without Reading Code
Developers spend most of their time reading code. Moldable Development challenges reading as a means to gather information from the system, by creating custom tools that show the problem in a way that makes it comfortable to understand. The solution typically follows quickly afterward. Glamorous Toolkit is a moldable development environment designed to decrease the cost of custom tools.
-
Chipping Away at the Monolith: Applying MVPs and MVAs to Legacy Applications
Legacy applications actually benefit the most from concepts like a Minimum Viable Product (MVP) and its related Minimum Viable Architecture (MVA). Once you realize that every release is an experiment in value in which the release either improves the value that customers experience or doesn’t, you realize that every release, even one of a legacy application, can be thought of in terms of an MVP.
-
Talking Like a Suit - Communicating the Importance of Engineering Work in Business Terms
This article explores how to construct engineering work as a story, including clearly presenting a problem, offering a solution, and showing the business a path to success that solves their problem and avoids failure. By presenting your case in this way, you significantly increase your chances of getting these engineering problems addressed, while also becoming a better partner for the business.
-
Five Things to Remember When Upgrading Your Legacy Solution
Legacy software is still employed, even though it frequently fails to meet critical demands and core business operations. By choosing the right modernization strategy and software development teams, you can easily cut down on high legacy software maintenance costs and increase productivity.
-
‘Debt’ as a Guide on the Agile Journey: Technical Debt
In this article in a series on how ‘debt’ can be used to guide an agile journey, we will provide two examples of smells that are related to technical debt, explain the symptoms, the impact on the business and in our organization, outline the experiments (countermeasures) that we have introduced in an effort to try to remove the smell, and provide some specific advice for you to be inspired.