When confronting your legacy applications—apps that aren’t running in the cloud—you’ll have to make an important decision: Do you replatform or refactor them?
Companies used to automatically default to the former—“lifting and shifting” existing apps to the cloud. And that made sense at the time because it helped them capture the low-hanging fruit: IT cost savings without a lot of effort. By delivering the same functionality, but in a cloud environment, companies could reduce the need to buy new hardware every few years and cut what they had to spend keep old servers running.
Those hardware cost savings were significant. But simply moving existing applications from in-house servers to, say, Amazon’s didn’t address some other problems inherent with legacy apps. Companies still had to write a big check for the software license every year. And if users found the on-premises version clunky and difficult to navigate, replatforming wouldn’t change that experience.
Thinking about ‘refactoring’ when moving to the cloud…
Today’s companies need to be much more agile and nimble, and users expect more simplicity and elegance in the applications they use. That’s why more companies now are thinking about refactoring when moving to the cloud. And that means IT must develop and deploy applications differently. Refactoring enables a company to break down a specific business process into smaller chunks and support those chunks with new-generation, cloud-native applications that enable IT to quickly deploy new functionality the company and users need.
In short, while replatforming has helped companies do what they’ve always done for less money, refactoring helps companies transform entire business processes.
Take order-to-cash as an example. Order-to-cash comprises a number of major processes:
Finding customers for your goods
Accepting orders for those goods from customers
Communicating orders to manufacturing or shipping
Invoicing customers for the goods delivered
Collecting payment from customers
Traditionally, a single, monolithic and tightly integrated ERP software package would support all of those processes. And as anyone who’s implemented such a package knows, it’s very difficult to make changes to any of its functionality.
The cloud enables a company to think very differently about order-to-cash. The company could opt to use a cloud-native application as its master customer information system, and a separate cloud-native order-entry application that gives the company the flexibility to target entirely new customer segments with vastly different requirements (e.g., emerging markets). It could go the same route for its finance and accounting application to handle the new customers’ invoicing and payment requirements. But it could stick with its core ERP system for manufacturing and shipping, because it still works fine as it is.
By breaking down order-to-cash in this way, the company can support each process with a best-of-breed application that more closely meets the needs of the business. It also opens up doors for the company to add important new functionality—for instance, AI and analytics—quickly and easily. And, with simple, intuitive interfaces tying all the applications together, it provides a vastly better user experience.
More companies will embrace refactoring in the coming years—simply because of the big impact it can have on their business. #Cloud
And as they do, they should keep three keys in mind:
Find the right balance when breaking down a process. Don’t go too granular because you’ll end up in a constant state of refactoring, miss the big picture, and not really deliver much value to the business. On the other hand, if you don’t go far enough, you won’t be able to take advantage of some great cloud-native applications. You need to find the sweet spot—like the five main building blocks of order-to-cash—that enables you to actually transform the process and the value it delivers to the business.
Don’t go custom if you don’t have to. Instead of building your own application, first see if there’s something you can buy that you can quickly and inexpensively plug into your platform. A good example is IoT, which can allow users and customers to track deliveries. If there’s a software component available that provides that capability, why would you build that yourself?
Adopt a “liquid” mindset. Instead of hard-wiring applications, think about building applications that enable you to swap out underlying technologies for new capabilities in an agile fashion. Such liquid applications enable a company to not only quickly adapt and change with the business, but also to experiment, fail fast, and build on what it has learned.
Using the cloud to slash hardware costs is a good first step. But now it’s time for companies to tap into the cloud’s real power: delivering unprecedented agility and nimbleness.
Click here for more on how to deal with apps in your journey to cloud.