Since the Seventies and Eighties, importing companies have been disappointed with the options available to them for Enterprise software applications.  Because of the unique challenges that importing presents, very few “off the shelf” enterprise systems will satisfy their requirements.  As a result, many of these companies decided to do it themselves and turned to programming companies to help them develop custom software applications instead.  Many of these companies are now regretting that decision.

Although there is a significant cost associated with developing custom software, often times that cost can be offset by the gains in productivity when you are able to fit a software to fit the business instead of fitting your business around a software.  This benefit is often reason enough to go the route of custom software, but the real cost of custom software becomes apparent 5 to 10 years into the application’s lifespan.

Technology moves fast.  The first sign that problems are on the way is when one employee needs new computer, but when they go to load the system, they get an error message because the system is not compatible with the latest operating system.  After calling the programming company, they explain the platform that the application was written in is no longer supported and they recommend a re-write (AKA start over again).  Since this is typically not a cost effective solution, most companies will instead choose to stay with old hardware until they can no longer get support for it.

That is the best case scenario.  Unfortunately, there is a much greater risk involved with running custom enterprise software and that is the dependence on the programmer.  When applications are developed by one or two people, it is in their best interest to assure that they will be the only people able to support the application, essentially creating their own job security.  There are several ways this can be accomplished, but the most common is to not document the code so no one else could ever figure out how to troubleshoot or modify the application.

The risks here should be obvious.  With the dependence on a single programmer, the laws of natural supply and demand can no longer be applied and rates could creep up.  However, the greater risk is what will happen to the application, and the company running it, if the programmer is no longer available to support it.  If the system goes down and there is no one on the other end of the phone to support it, then the damage to the company could be devastating.

If you are in this situation already or are considering going down this road, you may want to consider the long term implications of that decision and at least evaluate a commercial software package that is designed specifically for your industry.  Ideally, you would want to get as close of a fit as you can get if you were to develop something custom for yourself, but with the assurance that the application will be regularly upgraded and support will be available long term.