Marc Zottner and Michael Coté at VMware
Businesses everywhere are digitally accelerating their app portfolios to keep up with the new age of digital transformation. And while a new app aesthetic might not be the most remarkable change to consumers, developers know it takes a lot of elbow grease to make it happen.Organisations now face a complex technical challenge in reworking their systems for streamlined modern use.
Of course the first step is always the hardest: figuring out exactly what you’re going to do. Looking under the hood often reveals thousands of highly diverse applications and services waiting to be updated. Air France-KLM, for example, has been working onmodernising 2,000 applications – and larger organisations could have even more.
The key to planning modernisation is evaluating app performance against both business and technical goals: apps need to be fit for purpose, not just high-speed.
To simplify this process, we’ve found that there are seven different ways of modernising any given app. By design, these seven dispositions all begin with the letter R so that we can label them “The Seven R’s.” Here they are, ordered from least to most effort, risk, and value: Retain, Retire, Rehost, Replatform, Refactor, Rewrite, and Replace.
As someone wise once said: if it ain’t broke, don’t fix it. If an app is old but still serving its purpose, keep and don’t touch the app for now. Simply keep things running as they are. This is probably the default option for most apps in your portfolio, as doing nothing can be a wise strategic choice when there are likely other apps that more urgently need your attention.
Sometimes the need for an app simply runs its course. Skip updating it – simply decommission any end-of-life applications. In this case, your analysis often finds that the application is used very little, has been superseded by another application, or is no longer returning ROI.
Often called “lift and shift”, this is repackaging and moving existing applications with as few changes as possible. This is sort of like just copying an application and all its data to a new computer. Typical examples are cloud and data-centre migrations or the process your company has been through while virtualising its data centre.
Now we get into the meat of what might typically be considered modernisation. Here, the application remains the same, but there are significant changes to the underlying technology stack and platform (runtime, framework, middleware, operating system) of your app. This can require changes to the actual application itself, but they should be very minimal.
In this type of modernisation, you’re finally changing your application’s code deliberately. When you refactor, you redesign and rewrite parts of your application to take advantage of new platforms and capabilities. This is distinct from rewriting in that the functionality of the application stays the same and is not updated: just the “internals” of the app are changed.
The name says it all: sometimes it’s time to start from scratch and write a new application. Your organisation still needs what the application does, but the old application no longer solves the problem well and is challenging to maintain. Instead of just duplicating the same screens and workflows but with new fonts and colours, this type of modernisation gives teams the chance to reimagine how people interact with the application and how it functions.
In this scenario, you still need the functionality that the application provides, but you no longer find value in the control and customization abilities that come from owning the application. Instead, you outsource it by replacing it with a commercial off-the-shelf (COTS) application, often a Software-as-as-Service (SaaS). The same “outcomes” are achieved, but you now use a third-party or outsourced option.
Such transformations are straightforward for highly standardised systems like mail or file servers.
For non-standard, end-of-life systems, this is often the most effort-intensive option. Transitioning your highly customised Customer Relationship Management (CRM) system to another, for example, will likely be a daunting task. The effort is usually worth it, however, as all that customisation, over the years, can become a deadweight.
Making the right choice
During any modernisation project, it’s important to keep the key business goals behind the process front of mind. The end goal is to streamline your systems, rather than opting for the fastest or easiest route. This will leave you with a smoothly functioning new environment which will support your organisation into the next phase of its digital era.