Switching Platforms

A platform switch is probably the most difficult and risky process in the IT industry. At the same time it almost always is inevitable for a company to continue on a growth trajectory. The recent history shows us it can also be lethal. Because in software switching platforms is like crossing a chasm. You may fall.

Platforms age. So there comes a time when a company decides to invest in a new one. A project to port the existing code base and user base to the new platform is initiated. There is a budget and a project plan. And there are promises to the market. Because probably the only reason companies decide to switch platforms is the market feels there is no future in the current platform and starts looking at competing products which are more future-proof.

Then neither the plan nor the budget nor the promises are fulfilled. At least never in time they were promised.

I have been through this process a number of times. In 1991 I wrote an extremely successful software product. It was based on DOS (an obvious choice at that time). After tens of thousands of customers and after 21 years on the market it still being sold - new licenses to new customers. But as early as in 1995 we felt the pressure to announce the switch to Windows. We thought it would take us 2-3 years. It took us eight (twice the time to write the original software).

I am through this process today. Different product, different platforms (moving from an embedded 16-bit Microchip to the 32/64-bit Linux). Estimates: 4 months. Current run time: 12 months, close but not finished yet. We are very happy we have enough fuel and time to cover this extra unplanned distance.

But not everybody is that lucky. BlackBerry will probably die before they launch the QNX-based BB10. So will Nokia before Windows Phone will replace the lost Symbian. As I said, switching platforms may be lethal. Nokia should have stayed with Symbian. BB should have adopted Android - who on Earth needs a third mobile OS? iOS and Android diversity is enough to drain resources from most application software developers?

There are some successful stories too. The most visible is Apple. They moved from 68k to PowerPC and then to Intel. And some less obvious, but even more impressive, like Amazon and Google. Amazon and Google have the unique skills and comfort of the continuous build process. Meaning thousands of live improvements every day. Today's Gmail is better than the Gmail that was 24 hours ago. They embraced the continuous platform switch in their bloodstream. meaning there is no chasm to cross. Which today is probably the only way to go, taking into account the extreme complexity and size of their systems.

I would even risk a statement, that continuous build and continuous platform switching process is a must for a company to survive nowadays. Because whenever your customers have to switch platforms, their new one will be your competition.

Comments