Custom software development is often considered expensive compared to off-the-shelf solutions or products. This can be true if one is speaking of typical challenges and typical solutions. However, it is not always true; custom software development by a reputable supplier is often a matter of building a house upon a solid foundation and, if managed properly, it is possible to do this quickly and to a high standard. In many cases, COTS software requires customization to correctly support the buyer's operations. The cost and delay of COTS customization frequently adds up to the expense of developing custom software.
Additionally, COTS comes with high upfront license costs frequently running into millions of dollars. Thus only the big corporations are able to absorb such high costs upfront. Additionally, the big software houses having COTS products revamp their product very frequently. Thus a particular implementation needs to be upgraded for compatibility every 2–4 years. Given the cost of customization, such upgrades also turn out to be expensive as a dedicated product release cycle will have to be earmarked for it.
The decision to build a custom software or go for a COTS implementation would usually reside on one or more of the following: