Legacy migrations are the second-class citizens of app development shops. At first glance, they appear smaller and less significant than from-the-ground-up projects. But, in reality, they require enormous effort from analysts, architects, coders and testers.

“A lot of folks don’t understand what’s involved. They don’t appreciate the magnitude of the effort required,” said Yash Shah, director of software engineering for app development consultancy Zeon Solutions. “There is so much detail to consider, so much investment in time.”

Yash Shah and other legacy migration experts shared best practices for succeeding at these challenging projects. Not surprisingly, migrations require many of the same skills as other development efforts. Even in cases where code can be ported from the old app to the new, there is always planning, coding and testing involved. The advice the experts offered focused primarily on app development practices that are especially relevant to migration efforts.

Understand the scope of the project
His recommendation is to group sets of apps that fit logically together, such as those for warehousing or those for accounting, and plan to move them at the same time. “You have to understand at the outset the implications of moving one but not all,” he said. It’s also important to factor in dependencies to off-the-shelf applications, he noted.

Dig deep and fix the flaws
It’s age-old advice but it bears repeating: Make sure the app does what people who use it need it to do. “Even though you are replicating the existing system, you need to ensure you are not redeveloping functionality that was incorrectly defined in the first,” wrote Joy Beatty, in a blog post published by app development consultancy Seilevel.

Moving an existing application to a new platform offers an opportunity to address the drawbacks of the older system, added Maulik Shah, cofounder and CTO of app development consultancy Mantra Information Services. “In any app, there are features users like and features they dislike,” he said, adding that it’s crucial to dig deep and find out what they are. “Talk to the people who use the software every day.”
In addition to identifying likes and dislikes, find out what features are missing and what steps are still taken manually, said Maulik Shah. “All this should be factored into the new system.”

What’s missing is often the result of business processes that have changed substantially over time, noted Zeon’s Yash Shah. He recommended focusing on two key questions at the outset of migration projects: “What processes have changed and need to be redone? What do [the application’s] users do now, and how do we design the new app to support that?”

Once those questions are answered, the team can begin to prototype the new workflow, but don’t write the code, said Yash Shah. “Map out the steps, visualize what’s involved, and continue to work with the people who use the app,” he said.