Porting Functionality to a New Platform

In this series of articles, I’m covering the broad topic of “replatforming” applications when a business has an application they want to keep but is based upon technology that is either too expensive to maintain or becoming obsolete.  The last approach I’ve seen is the porting of functionality.  I saw advertisement about the need to “replatform” onto a new eCommerce solution. While I don’t question the need for this, it’s the expectation that an effort like this is in the same category as replacing one piece of middleware with another.

I recently worked with a client who had this expectation.  They felt they could capture their existing business rules and processes built into a custom platform and quickly re-implement the new functionality into the similar platform from another vendor.  In the end this effort took far longer, and required far more effort than the client expected.

Platforms, like eCommerce, are complex tools that companies use to create specific business applications.  At one level the platforms have very common core processes – eCommerce involved catalogs, shopping carts, payments and order tracking.  But going below a 100,000 foot view platforms can be very different.  So the more different the underlying platforms the more difficult it will be to migrate.  If the new platform is very close to the old one, then the question of why migrate should be asked?

The second critical challenge is capturing the existing business rules and processes.  An effort is required to fully understand all of the exceptions and flows that are configured into the platform.

Finally the challenge of testing the new platform is that a new functional test is required, as opposed to a more automated regression test.

I think that the point I’m trying to make about these projects is not that they are impossible, nor should they be considered instead it’s an issue of expectations.  They should not be considered in the same category as conversions that can be done deterministic-ally and tested in a straight forward regression.  These types of projects should be considered in the class of new development.