Your to-do list for 2018 is likely long — very long. But no matter how many goals you have set, here’s one initiative you should have on that list – modernize an older, legacy application. No other initiative has as much potential to pay long-term dividends for your business.
According to Niel Nickolaisen in a recent blog post on SearchCIO:
“In a world that is moving fast, we cannot have difficult-to-revise applications in our portfolios. So, select an application that is something of a Gordian Knot and use a service-oriented, microservices architecture to break it into pieces that talk to each other via a managed-API structure.”
Niel’s perspective is based on the fact that inflexible applications can directly affect your ability to compete and scale operations. Think through your operational systems — especially those that play a direct role in servicing customers — and you are likely to identify one that is an obstacle to key business initiatives.
Once you identify a system that does not have the flexibility to meet the needs of the business, there are two key things you need to consider when evaluating your approach to a modernization project:
- Is this a system you can completely replace, or do you need a way to improve it without ripping out the entire system?
- Are you able to break this system down into a set of components or services that work together to provide a solution?
Let’s consider each one:
Rip and Replace or Slowly Evolve?
We all love the idea of ripping out an old outdated system and replacing it with something new. And if you can do that somewhat easily – because you know it’s never REALLY easy – then you should get started now. Older systems run the risk of leveraging outdated technology and code that’s not only difficult to maintain but won’t support modern interfaces and experiences required in most companies today.
The reality is that more often, what you need to do is build customer- or employee -facing interfaces that integrate with legacy systems.
Consider a customer support portal that provides self-service capabilities to customers. For these portals to work, they have to integrate with backend systems where you store customer data. If those backend systems don’t offer an interface to pull out the data to surface in the portal or a way to update that data from actions taken in the portal, then that portal doesn’t improve the customer experience or reduce service and support costs.
It’s not just customers who benefit from improved interfaces to backend systems. Service reps who work with multiple customer information systems can support customers quicker and more efficiently when they only have to work with one interface. The one interface can connect seamlessly to all those backend systems to access and update customer data appropriately.
It may seem that if you adopt a slower evolution of legacy modernization, you are setting yourself up for more pain down the road. But you may actually be making the process of the ultimate switch over smoother by implementing a process automation layer between your modern interface and your legacy system. The process automation layer can connect to — and isolate — the legacy system and ensure that the data is maintained properly while it provides the data to an improved front-end experience layer.
This approach allows you to then work on your replacement project for that legacy application, without impacting the interface you provide to your customers or employees. And when you are finally ready to replace the legacy system with a newer application, you don’t have to touch the interface, only switch out the connections in the process automation layer.
It’s a best of both worlds.
A Set of Components Instead of One Big Application
As you start thinking about retiring that legacy application for something new, ask yourself if you need a new full-scale application or if it’s possible to offer all the same capabilities by implementing a set of services that interconnect to provide the functionality required.
Taking the content services approach, you can design your interfaces to connect to each service to get the functionality required for discrete functions. If those functions need to work together as elements of a process, then you can implement a process automation layer that connects to the components, surfacing the resulting data to the front-end interface.
Laurence Hart provides a good example of how this can work with enterprise content management and an agile content management framework:
“With clouds and containers, ECM systems can start small and scale on demand. Instead of working for three to four months to make the core content systems operational, teams can have the framework for a content services platform ready in a few days.
“Use of cloud services or containers from the beginning opens the door for Agile content management. Regardless of the Agile methodology chosen, the approach is the same; iterative creation and deployment of content management features that meet the needs of the people it is designed to support. The steady cadence of updates and releases keeps the technologists and the business in sync.“
Again, the path to modernization isn’t to build another monolithic application that will be difficult manage and maintain over time; the path to modernization is to think of capabilities in terms of components or services that can connect through a process automation layer to deliver a complete application. This service-based design allows you to build your application in iterations, adding and removing functionality as you need to without affecting the entire application.
And keep in mind when you build services you develop with reuse in mind. Each component or service can be leveraged by multiple applications or interfaces across the enterprise, giving you less to manage and keep updated over time.
Ready to Get Started to Modernize?
Many companies are seeing their IT budgets slashed, a challenge when you have a number of monolithic applications that are costly to maintain and aren’t able to provide the modern interfaces demanded today by employees and customers.
It’s time to start thinking about replacing these legacy applications. But don’t just replace one big app with another. Step back and examine how you can modernize that legacy app by implementing a process automation layer and a new interface. Then work on building a set of services that replace the functionality in the legacy system.
Once the services are ready, connect them to the process layer and disconnect the legacy app. You will have to think about how to migrate the information in the legacy solution to the new components, including whether to archive some of the information, but that’s a story for another day.
Want to learn more about how you can integrate business process automation and enterprise content management to create modern content-based applications? Download the resource Merge Ahead for Better Business: The Convergence of ECM and BPM.