The idea of writing your own software for your business comes with a lot of appealing features: you control the cost, you define the features, you own it and can do what you want with it. On the surface, it sounds great. And it can be. But the cost of producing your own software for internal use can be far higher than it appears when you begin and it comes with loads of risks that often don’t get realized for a very long time; not until it is too late.
First we have to consider expertise. Very few companies, even those that write software regularly, have the necessary expertise to do so efficiently. Good software requires many different skill sets, not just code writing. You will generally need several people for even a small project. This can be expensive at best, and nearly impossible to acquire at worst.
Second is support. This is the biggest problem that businesses face when writing their own software. The first problem, of being too expensive or lacking resources is easy to discover before money is spent, but support is a costly issue that can affect you potentially years after the initial development has been completed. Support is needed only after software is made; so often comes as a surprise to companies that have not planned well for it. Support, unlike initial development, will go on, to some degree, for the life of the software so can easily become the larger expense. Support does not just mean running the software, deploying it, or training users; support includes keeping the software up to date, fixing bugs, adding features, patching it for security, altering it to adapt to changes over time, and so forth.
Software is a living thing that needs constant attention to remain functional and secure. Software that is not maintained properly takes on risk and hidden costs. It is very common for companies to become entrenched in old software that has become so expensive to maintain that fixing or updating it would be more costly than starting over; but starting over is risky and expensive leaving companies between a rock and a hard place of being forced into big spending just to keep operating.