Redefining Legacy Modernization in the Age of Agentic Programming: Insights from a Developer Retreat
A recent off-the-record retreat brought together software professionals to discuss how agentic programming—driven by large language models—is reshaping the field. Under the Chatham House Rule, participants shared candid insights that point to a fundamental shift in how we approach code porting, specification review, and legacy modernization. This article distills the key takeaways, from a 70,000-line Rust rewrite of a GNU Cobol compiler to a novel technique called the Interrogatory LLM.
Porting Code with LLMs: Speed, Scale, and the Critical Role of Tests
One of the most striking examples shared was a team that created a behavioral clone of the GNU Cobol compiler in Rust. The entire project—70,000 lines of Rust—was completed in just three days using an LLM. This isn't an isolated case; it's a clear signal that LLMs are now capable of porting existing code to new platforms with remarkable speed.

However, the success of such porting hinges on having good regression tests. The quality of GNU Cobol's test suite, for instance, directly determines whether the cloned compiler behaves identically to the original. When a test suite is weak, a project can build one by relying on an existing implementation as an oracle. As one attendee noted, The ability to generate test cases from the original system is a game-changer.
This approach reduces the risk of subtle bugs slipping in during migration.
Spec Review via Interrogatory LLM
Large specification documents are notoriously difficult for humans to review thoroughly. An attendee introduced a clever workaround: an Interrogatory LLM. Instead of trying to parse the entire spec, the LLM interviews a human expert, asking targeted questions to verify correctness. This turns the review process into a conversational checklist, uncovering gaps in logic or missing requirements.
For example, if a spec describes a financial transaction flow, the LLM might ask: What happens if the source account has insufficient funds? Is there a retry mechanism?
The expert's answers are then cross-referenced with the document. This technique not only saves time but also surfaces edge cases that might otherwise be overlooked.
The Scars of Change Control
Not every insight was about AI. One participant shared a golden rule for consulting engagements: Read the change-control board's guidelines first. These documents are, as the attendee put it, the scar tissue of what’s gone wrong in the past.
Every rule, every approval gate, exists because something once broke.
Understanding this history is essential. To grasp why a system is architected a certain way, you must trace the incidents that led to its current form. This principle applies whether you're modernizing legacy software or building new features from scratch.
Rethinking Lift-and-Shift: A New First Step
For years, many modernization experts have dismissed lift-and-shift—porting a legacy system to a new platform while maintaining feature parity—as a missed opportunity. The reasoning is sound: studies, such as the 2014 Standish Group report, show that up to 50% of features in old systems are unused. Why replicate bloat?
Instead, the conventional wisdom has been to take a step back, understand current user needs, and prioritize based on business outcomes. But that view predates the LLM revolution. A participant who regularly works with legacy systems argued that lift-and-shift should now always be the first step in a migration.
The cost of porting has dropped dramatically thanks to LLMs, making it feasible to move the entire system to a modern environment quickly. Once there, further evolution becomes cheaper and safer. The key is to not stop there—use the new platform to refactor, remove dead features, and align with real business value. In short, lift-and-shift is no longer a terminal destination; it's a springboard.
Financial Sector: Legacy, Regulation, and Risk
Several attendees represented the financial industry, where legacy systems are interwoven with strict regulatory controls and immense risk. Software errors that handle money can be catastrophic. These organizations face unique challenges: they must modernize to stay competitive, but they cannot afford to break compliance or trigger financial losses.
The discussion highlighted that LLMs offer a path forward—by automating the porting of core banking systems to modern frameworks while preserving the exact behavior that regulators have audited. However, the need for comprehensive test suites and formal verification methods is even more acute in this domain. As one participant noted, We can move fast, but only if we can prove we haven't changed anything that matters.
Conclusion: Adaptation, Not Replacement
The retreat made clear that agentic programming is not about replacing developers—it's about changing how they work. From porting code in days to interrogating specs, and from reading change-control scars to rethinking lift-and-shift, the profession is adapting. The financial sector's caution reminds us that speed must be balanced with safety. But the overall trajectory is unmistakable: we have new tools that slash the cost of migration, and we must use them wisely—not to replicate the past, but to evolve it.