• Johan Booysen

Custom Developed vs Off-the-Shelf Software

If you are considering a software solution, one of the most interesting debates that you could have is whether to get an off-the-shelf solution or have a custom solution developed. This question is really more difficult to answer and there are many considerations to take into account. After gaining many years of experience in my business, Noproblem Systems, I would like to discuss a few of those here.


Don’t Reinvent the Wheel

I would like to lead with the idea that there may be an off-the-shelf solution for your problem already. As an example I would like to take an online shopping cart. There are many solutions already in the market that would be able to perform this function. Instead of doing a lot of custom development, see whether there is a solution out there that could already satisfy your needs. Rather spend the budget on customizing and integrating with an existing solution.


Sometimes Custom Solutions are Cheaper

Without discrediting what I have mentioned above, I would like to also state the opposite with an example. Some years ago, I was approached and asked to develop a ticket sales mechanism for a small airline. My reaction was that there must be an off-the-shelf solution for ticket sales, and surely there were a few. However the solutions were always aimed at large airlines and therefore the price was so hefty that the smaller airlines just could not afford the price. It made sense to have a solution custom developed and we finally settled on a fee that was based on the number of tickets sold only. This made a lot of sense for the airline as their cost was tied to their turnover. An added advantage was that they could integrate some features specific to their business model into the solution.


Perhaps Hybrid Solutions Should be Considered

For many years the solutions that we have developed in my business, Noproblem Systems, contained a billing module. That has lead us to develop the Client Accounting Module, which was capable of all client transactions, i.e. Invoices, Credit Notes, Statements, Payments and Debit Notes. That worked great (and in fact we still have some legacy systems running on that). The reason why we developed this was that the billing was often tied to the solution, but accounting systems were desktop based and could not interface with the online solution. However over time this has changed and we no longer include the client accounting module. Now we rather raise the invoices required directly in the accounting system that is located online, such as Quickbooks or Sage. This has the advantage that it is much easier to audit when all accounting documentation is on one system. This approach is more of a hybrid approach and allows us to focus more on developing the unique features of the client’s business, than the mundane tasks around billing.


Sometimes your Business Processes Require a Custom Solution

Still looking at the invoicing, a few years ago, when I had to specify a custom solution for an air-charter client, my recommendation was not for a hybrid solution, even though the technology existed for the hybrid solution described above. That had meant that a lot of work had to be done to re-invent an accounting system, or at least parts of the accounting system. There were two main reasons for this approach. The first was that with air charters, all costs and billing are associated with a flight and not a customer. Therefore you want to express your income and expenses against that flight. The second reason was that staff needed to be able to access certain billing data, without having access to the accounting system.


In fact the second reason mentioned above might be critical to your business as well. For this example, quite often I had to deal with one specific internet supplier on a number of issues due to the nature of my business. However, due to the fact that they ran a separate billing system to their support system, I got switched between the “support department” and “accounts departments” every time that I called each time I had to relay my whole story to the relevant person. This was frustrating me to the point that I finally changed to another ISP.


On the other hand, when I call my mobile phone company, the same call centre agent can handle all my requests, because they are on their one custom developed system that handles billing orders, etc.

Business First

Finally, I would like to mention that business comes first. What I mean by that is, you have to do what is best for the business and not what is best for a philosophy. Therefore, if having fragmented pieces of software is not going to be efficient enough for your business to run well, then rather spend the money and have all the bits and pieces developed that will give you the edge.

I hope that this has helped understand better how to make the decision between an off-the-shelf solution and a custom-developed solution, but , I would be happy to give you some pointers on your own business, so please feel free to contact me or visit my business, Noproblem Systems.


Jesus Christ is my King