Build vs Buy

Nothing gets software developers more hot under the collar than the ‘build or buy’ discussion. This is a discussion about whether a business should build their own custom software to run their business, or buy and off-the-shelf package.

Business leaders looking to reduce costs often opt for the buy option (SaaS ‘Software-as-a-Service’ solutions, off-the-shelf applications, or low-code no-code solutions) because they believe (or have been advised) that it is cheaper and easier. Developers however argue that the business will end up with an inferior product requiring a multitude of workarounds resulting in clunky and unreliable processes.

So, who is right?

As with all things IT, there is not a straightforward answer. It really does depend on the situation, and experience tells us that every business has it’s own set of unique circumstances which need to be catered for.

Looking at it purely from a cost perspective, the buy option will generally require an initial investment for implementation and licensing, and will then have the ongoing cost of licensing and support. Licensing costs can be steep and very hard to work out in advance, so it is worth doing your homework to ensure you understand what you are committing to pay ongoing per user – forever.

Developing a system, on the other hand, will have the up front cost of development, but once the development is complete you own the system so you will not have any ongoing licensing costs. Development costs can also be steep depending on what you are trying to build, but in many cases it may actually work out cheaper than the licensing associated with the buy option – especially if you look at the total cost over the lifetime of the product. Remember that once it has been developed you own the software so it becomes an asset to your business.

Something to remember about going down the buy route is that it is a commitment which isn’t easy to get out of. If things don’t work out, you will then need to implement a new system, but you may not be able to easily get your data out of the original system, and your business will still need to pay the license fees or risk losing access to the system. There are also questions about longevity – what happens if the system is shut down by the owner or upgrades cause your customisations to fail…

Putting costs to one side, one of the main benefits of building rather than buying is that the system can be tailored to your exact needs. SaaS, off-the-shelf, and low-code no-code packages only offer a fixed set of functionality. At some point your business will want to do something that it can’t do, and this is when workarounds and customisations start happening. Often businesses end up having to license other software to plug these gaps, which adds to the cost and complexity. This generally results in a poor user experience, a poor customer experience, and a multitude of other problems. It can also make upgrading difficult or even impossible.

Developing your own system does not have this problem as the functionality will be designed around you. The only limiting factor is your imagination. The system can also easily grow and adapt as your business does over time, so there is less likelihood of becoming stranded.

Buying a package does however make a lot of sense under some scenarios, such as the following:

  • You have got a very simple business model
  • A package which does exactly what you need already exists
  • You have complex requirements which could involve a long development project. Complicated software can be very hard to estimate which inherently makes it high risk. In this case if a package already exists it probably doesn’t make sense to reinvent the wheel – unless you are trying to disrupt the market.

The unfortunate reality is that there are lots of people working in the IT industry who do not really understand software development and will advise business leaders that it is easier to just buy. In doing so these businesses end up losing time and money in managing so many problems with their IT services which simply would not exist if they developed their own software. There are also a lot of companies supplying software packages who will tell you that their software can do everything you need, but later turns out not to be the case. In these cases it is the small details which can catch you out, so it is important to ensure you flush this out during your requirements gathering. A red flag is when a software supplier or advisor brushes over or dismisses your concerns about certain functionality.

In summary, the fact is build and buy are both valid options. Which is the best fit depends on many factors relating to your business, such as the type and size of business, number of users, complexity of business process, etc. The main point is that it is worth investing time in properly reviewing and costing both options, and making sure you know what you are getting. A bought system will not do everything you need – this is ok as long as you understand the gap and that you can live with it, or live with a workaround for it. If you need a solid solution which will grow and flex with your business then getting a system developed for you probably makes more sense.