6 Tips for Modernizing Legacy Apps for Mobile Office Workers
As more and more mobile workers use smartphones and tablets as well as notebooks, enterprises of every stripe face the challenge of modernizing legacy apps. The challenge is a complex one as it involves many factors such as determining which apps to modernize and how; choosing a mobile security strategy to employ; and deciding whether to approach your modernization challenge incrementally or all at once.
To get a handle on some of the best ways to modernize legacy apps, I spoke to two experts, Christopher Willis and Rob Gagne. Willis is executive vice president, marketing and strategic alliance, Pyxis Mobile. Gagne is vice president of engineering at Nexaweb technologies.
Pyxis Mobile's mobile enterprise application platform is used by companies to develop, deploy, and manage mobile applications. Its App Studio empowers the creation of applications that fully integrate with BlackBerry, iPhone, Android, and Windows Mobile devices from a single configuration.
Nexaweb specializes in creating solutions for migrating and extending business applications to the Web. The Nexaweb modernization platform can transform legacy systems into Web 2.0 applications that support secure, real-time information delivery over the Internet.
Here are six tips from Willis and Gagne on modernizing legacy apps.
First tip: follow an incremental approach
One of the keys to success with legacy application modernization is taking an incremental approach to development.
Of course, companies need to conduct a comprehensive review of their legacy portfolio to set priorities - and decide which apps they want to modernize first, which should be extended to mobile devices and frankly, which apps should be allowed to die.
"But once you start the actual modernization process, you'll be more successful if you break it down into manageable tasks," said Gagne.
"These tasks can be accomplished in parallel, in a reasonable amount of time, while maintaining interoperability with the remaining legacy applications that are not yet modernized," he said.
So with a client/server application for example, you could have one team developing a new user browser-based interface suitable for deployment on a mobile device, while another transforms the legacy back end by wrapping it in a service.
The benefit to an incremental approach to development versus a "big bang" approach is that you can pick off applications in a series of successful nine-month projects rather than embarking on a multi-year portfolio modernization campaign that not only takes far longer to deliver value but also increases the likelihood of overall program failure.
Second tip: plan for iteration
Delivering a mobile application that extends one or more legacy systems is a huge step forward in arming employees with tools for efficiency, productivity and top-line growth, said Willis.
"However, most companies do not consider what happens after the launch of the app," he noted.
"A successful application takes iteration. User feedback begins to filter back from the moment the application is released. If you've planned, up front, for constant change, this feedback helps to drive the expected evolution of the application, from good to great."
When iteration is not considered in the planning stage, an app will likely fail, he added.
"Without a tool that handles iteration, modernizing a legacy app can be extremely expensive, time consuming, and labor intensive," said Willis.
Third tip: choose "modern" technologies
It's important to choose "modern" technologies that won't become legacy themselves several years from now, said Gagne.
"The pace of change is accelerating today -- web applications written for IE6 are already legacy!" he said.
Gagne said he believes the answer is open standards and open-source software.
"Open standards and open-source software have consistently proven they are flexible and responsive enough to accommodate continuous improvements in networking, processing and application architecture," he said.
"No company needs to engineer itself into a corner again," Gagne added.
Fourth tip: don't deliver a large-screen app on a small screen
Enterprise systems generally contain a huge amount of data, built up by thousands of employees over many years. In the case of CRM, users may have access to up to 50,000 data elements associated with a single record. Systems such as Oracle's Siebel CRM are designed to use the entire desktop for display and interaction with that data.
"A common mobile application mistake is to try to take a desktop application such as Siebel CRM and stuff it into a smartphone," said Willis. "Trying to navigate a full scale desktop application on a three-inch screen is impossible. It's critical to build an application that takes form factor into account."
Willis said he believes mobile applications work best when they deliver only the information users need away from their desks.
"Working with end-users, the mobility team can create a "best of the enterprise system" application that provides the data, transactions and interactions necessary when away from the desk," he said.
Fifth tip: take a repeatable approach
"The key here is to create an architecture or framework that will work with you entire portfolio of legacy applications, rather than solving each problem separately," said Gagne.
Nexaweb recommends Java and Ajax frameworks for legacy modernization, because both are supported by a wide range of open-source components (such as Spring, Struts, iBatis, Hibernate, etc.) to handle security, user interface interactions, workflow, service-oriented architecture (SOA) access and other functionality that tend to be found in every application.
"By leveraging standards-based or open-source software, your team or development partner can focus on higher value-added activities, functionality and content -- including the business logic that is unique to your company," said Gagne.
Sixth tip: remember, no one needs "just" an iPhone app
Don't fall into the trap of thinking your company just needs an iPhone app or an iPhone strategy, said Willis.
"For all the hype around iPhone, the device platform currently holds about 22 percent of the North American market share behind RIM and Android," he said.
"If you are trying to reach all your users, you need to build a strategy that supports all mobile devices," Willis concluded.