Mega Migration Migraines? It's Better Than You Think

By Richard Leader

Whether you’re a financial institution or a fintech vendor, this’ll probably be familiar: You’ve a beast of an installed application. It’s massive, possibly .NET.

It’s ballooned over the years and is packed with features – some of which are implemented really well; others less so. Some were great several years ago but have faded. Others are, by now, completely redundant – and should be binned in an overdue clear out.

It’s apparent, however, that it’s time to migrate to the web. The classic Windows UI, long a source of comfort, now looks old. It no longer screams “we’re serious about technology” and instead whispers “we’re lagging”.

Users have had their expectations elevated by the apps on their phones, and now expect to be able to quickly glance at key information and perform common interactions (e.g. responding to notifications) while roving between meetings or at lunch.

What do you do? The scope’s vast and resources are – as usual – scarce.

Furthermore, you’ve got to juggle any migration with the critical task of keeping the lights on – while also delivering the backlog of stuff already promised to users.

Short of conjuring up a team of full stack developers and UX designers, and (somehow) ring fencing them for X months (which never survives a crisis anyway), what’s the strategy?

First, don’t despair – it’s been done before. Obviously, any plan has to fit your specific reality – but in the weeks ahead we’ll offer some general suggestions that ought to chime with adherents of modern, lightweight, agile implementation.

These’ll touch on topics such as:

The Biggest Feast Starts With A Single Bite

Kick off by identifying one or two thin slices to carve off the otherwise daunting project, thereby beginning the task of breaking it down into bite-size deliverables – preferably self-standing stuff you can actually release to users; thereby growing confidence; keeping sponsors happy by showing ROI; and generating invaluable real world feedback from actual users.

Planning: Just Enough, Not Too Much

Pause to understand your users and gather enough insight to inform the initial stages of without halting for an excessive lengthy envisioning exercise. It pays of course to have a clear vision of where you’re headed, but don’t make the mistake of doing too much detailed planning too far out, because it’ll invariably be out of date by the time you start coding; and if it isn’t you’re possibly being a bit too rigid.

WOA before Wow Factor

Organically transition to a WOA (web-oriented architecture) on an agile, just-in-time basis, rather than doing everything upfront. As with projects generally, the most useful feedback comes when users (in this case, front end developers) get hands-on and start developing against your RESTful APIs in anger. Channel that to make your WOA developer-friendly, and so in future it serves as a launch pad for innovation.

POC: Take Aim First, then Fire

Selecting the right use cases is vital if a POC (proof of concept) is to achieve its goals; so you need to be very clear what those are. Whether it’s to win support from influencers or achieve a degree of technical de-risking, you need everyone to be focused on a manageable set of testable win-conditions.

Mosaic, Anyone?

There are several road tested, finance-friendly container technologies that allow you to piece together bits of the web with the likes of WPF and client-side Java – further easing the transition, especially once you get to the big bits that can’t be readily thin-sliced. We’ll look at some options.

Those still daunted by the task might want to take comfort in two things:

First, very little of this should be brand new to anyone who’s into agile – with its guiding emphasis on fast, frequent releases and iterative feedback making things even better. In the weeks ahead we’ll seek to elaborate on one or two of the above – offering, at very least, some familiar affirmation to anyone applying an agile mindset to a mega-migration.

Second, a web migration is a golden opportunity to innovate by re-working a bunch of stale functionality really well – applying solid UX principles (which we haven’t even touched on) to streamline fiddly processes and making using it a joy.

Look out for updates, and feel free to email us to start a discussion.