This is part of a series of blog posts that stemmed from my first experiences with “vibe coding”. For more on what I did and where you can find the rest of the posts, please refer to the first post.
The fact that AI can be used to help modernize legacy software is NOT a new concept. In fact it is the most talked about use case of AI in the software development lifecycle. A lot of this is hype right now, but some of it is becoming real quickly. The most startling example of this is Rakuten’s recent use of Claude Code to refactor an application. Claude ran continuously for 7 hours to complete the refactor and then finished! (details in the release announcement for Claude 4). What I want to focus on here is how this changes “how” organizations will complete modernizations.
These modernization projects typically start by hiring smart engineers to PoC different ways of modernizing the applications that are in scope. You then want to hire the best of the best engineers and have them focus on creating new versions of the software that are as similar to the old ones as possible. If we are able to use AI to do the bulk of the refactoring the issue will not be with the engineers that do the refactoring itself. The problem will be how to ensure that the AI knows what the application needs to look like and whether it has succeeded or not.
One of the limitations of AI assisted coding that I covered was the fact that the assistants today are stuck in your IDE (I wrote a previous post about this). This can’t be true for AI assistance to turn into automated refactoring. For this to happen the AI needs to not only be able to write the code, but to test it, get results from the testing, and then continue to refactor. This will require significant investments in DevOps and Automated Testing. In the past we may have thought it was ok if our DevOps or Test Cases were only mostly automated… the goal was to reduce the humans’ work. If we want to replace the human, these will have to be 100% automated.
With all of this in mind, I am encouraging my clients to invest more in their CI/CD pipelines and automated tests (including creating better non-functional testing that is automated). You can almost think of this as creating a management system for the agents. It’s different then the management system you needed to create for the humans.
