Following up from my previous article about IT managers having a tendency to blame home-grown software for IT failures, I feel obliged to express that it does not necessarily mean companies don't need home-grown software; it means solely IT managers are reluctant to accept in-house software.

Giant off-the-shelf providers sponsor expensive branding campaigns to imprint their "quality" and "assertiveness to business processes" onto potential buyers' minds. This strategy seems to work on IT managers (in U.S. at least).

On top of this, as I stated previously, in-house developers tend to be reckless when it comes to quality assurance and communication with the buyer, therefore, quality tends to be lower than off-the-shelf solutions and/or does not match with buyer's expectations.

Even so, off-the-shelf products are not the solution for every environment. There are a series of situations where in-house development would bring much more benefit than just yelling at the closest software dealer:

  • control over your applications is core to your business: it is impossible to imagine a company like Google just calling their local software dealer and buying off-the-shelf solutions. If your applications are core to your business you'll be much better off with in-house development.
  • your company needs are very specifc: the motto "one size fits it all" is flaw from the start. Companies are different and have completely different needs that must be target in different manners by different applications. If your company is different, the same application your competitor is using won't do you any good.
  • the sky is the limit: I've heard lots of executives complaining about the lack of freedom imposed by off-the-shelf applications even though their marketing was the opposite. If freedom to go wherever your strategy points you to is an issue, custom software is the way to go.
  • off-the-shelf is not free of custom code: some off-the-shelf solutions are scalable and extendable. These are two very desirable features but then, it automatically means, that your company will be doomed to do some custom code at the end of the day.

Of course, if your applications are not core to your business, your company is exactly as any other company, you are not afraid of having limitations and if extensions in proprietary custom-code from off-the-shelf solutions do not concern you, you might feel free to go for off-the-shelf solutions.