Planning for application migration (part 1)
by John Browne, on Mar 12, 2013 6:00:00 AM
The amount of buzz around application modernization and migration these days is enormous--it seems that a perfect storm may be brewing:
- End of life for Windows XP and Visual Basic
- BYOD in the enterprise as well as big usage by consumers
- Smartphones + tablets outsold PCs beginning in 2012
- Balkanization of platforms and form factors
It's not news that Microsoft is ending extended support for Windows XP in April, 2014--this means that security updates and patches will cease. Given that XP is still a huge part of the enterprise desktop inventory (as of October 2012 41% of PCs were running XP, second only to Windows 7), this should trigger lots of corporate IT meetings, plans, strategy sessions, and more as people start thinking about what's next. Public companies who want to be in compliance with Sarbanes-Oxley can't use unsupported software, further strengthening the case for migration off old platforms.
Except that so far no one has seemed to care.
The EOL for VB is old news--Microsoft technically stopped supporting it in 2008 but the runtime still works on all OS releases including Windows 8. So the shift from XP to Windows 7 (my best bet) won't necessarily drive the final stake through the still beating heart of VB but rather spark a conversation about "what's next after XP?"
Which brings us to the bottom three bullet points above. The world has shifted on its axis and thinking about merely replacing XP with another Microsoft OS for the desktop isn't going to cut it anymore. Or even just ignoring the problem and hoping it will all go away. It won't: the speed at which mobile devices are augmenting and even supplanting desktop and laptop PCs is staggering and unprecedented (be forewarned: the Next Big Thing will happen even quicker).
It doesn't make sense to think about the end of XP without considering the rise of the tablet.
Oh, for the good old days. You had a Microsoft OS, and then you had a different Microsoft OS. Everything just worked. The VB line of business apps would run on whatever Microsoft shipped on a new laptop; the old Windows XP desktops could talk to the newest version of Windows Server and Exchange; all was right in the world.
Then the iPhone and iPad came along and the earth shifted slightly; Android hit big time and you could actually feel the disturbance in the Force.
What does history tell us? When IBM first started selling gazillion-dollar mainframes to business, the ones who bought got a competitive advantage--first in operational cost reductions, then later in business intelligence and planning. Likewise the shift from Big Iron to desktop computers dramatically increased knowledge worker productivity and further slashed costs (this time in IT). Competitive advantage for early adopters, but those days have long passed. What business today doesn't have a complete IT stack from the lowliest worker to the executive suite? The next big competitive advantage will come to those companies who successfully leverage mobility and BYOD instead of ignoring them.
How will it shake out? Come back here in a few years and we'll all know. In the meantime, here's my best guess:
- Some companies will go into fibrillation and do nothing until it's too late. The will suffer significant competitive disadvantages as they finally realize the error of their ways and rush to catch up. This happens every time technology goes through a major change event.
- Some companies will pick one platform and try to enforce it as a "standard." This will create user dissatisfaction and revolt. In response, other platforms will be "allowed" but IT will try to port the native versions of their apps to each subsequent allowed platform, an impossible task.
- Some companies will take an agnostic "big tent" approach, recognizing that they can't ultimately stem the tide of change or choose platforms for users. Rather than rewriting all their apps multiple times to support both current and yet-to-emerge platforms (there will be more: there always are), they will cleverly use a combination of HTML5, Javascript, C#, and native calls to selectively exploit useful device-specific features. A single code base with compiler directives for each version: easy to maintain, easy to manage, and a great outcome for users.
Care to guess which one I'm betting on?
Next: building a detailed application migration plan.