Saturday, March 7, 2015

Reducing the number of supported platform variations

Does your product support multiple platform variations (operating systems, databases, etc.)? Have you noticed how it slows your development cycle and adds to the cost of maintenance and new development? If you've contemplated how to get out of this situation, you are not alone. This is a common challenge for many established software vendors.

Consider this hypothetical example:

Two companies compete, both have the same budget. Company A only ships on Linux and only on MySQL database. Company B ships on Linux, Solaris and Windows, and supports Oracle, MySQL and PostgreSQL databases. Question, which company can offer more features, better quality and/or more frequent releases?

Of course one can argue that for Company A part of the market is simply shut off because of the strong platform preferences many customers exhibit, but is it truly always so? What if Company A offers far superior overall solution, could it in some cases swing the balance of platform preferences in its favor? Surprisingly, in many cases, yes!

New products these days are almost always pick one of the following go to market strategies to make it easier to accomplish what Company A is trying to do:
  1. Appliance, where the customer gets a box, and simply does not know what OS or DB are inside;
  2. SaaS, where the customer uses browser and mobile apps, and again does not know what’s in the data center behind flickering server lights.
In both cases, this helps software vendor to focus on capabilities, quality and time to market (instead of retesting the same feature set on yet another platform variation), helping better optimize available funding.


Granted, it’s a lot harder to shrink to fewer platforms vs. not letting them expand in the first place, just like losing weight. Trying to do this for an existing mature product is guaranteed to upset some of your customers, yet it is still possible to make this decision and announce that going forward you are dropping one of the operating systems and one of the databases for argument sake. In the long run this will help you better serve your customers. If you calculate this well, on a balance you will actually gain more customers, even if you initially lose some.