Jonathan Bennett

3 Advantages of Custom Software

Spreadsheets are the original software prototyping tool. We wouldn’t have the other software we have today without it.

But there are always trade-offs involved with using these tools. Custom software will cost more and take longer to implement and an off-the-shelf tool or spreadsheet.

So, what are some of the advantages that custom software brings to the table?

1. Tests

Automated testing lets us move forward with our software with confidence. By defining the functionality of our systems in an executable format we can know that our system does what we want it to do.

Automated test can be run multiple times without being a burden on our time. This means we can make big or small changes in our code and easily verify the results.

2. Centralized Control

With spreadsheet backed systems you either have individual files saved on peoples devices, or messy shared directories. 1997 wants its file management back…

Modern web based systems centralize your system meaning you have full control. You are able to control access and permissions within the system. You also control the version of the software running making sure everyone is running up-to-date software. No “Important Doc - final v2.xls” to worry about.

3. Performance

Excel is performant as a desktop class piece of software, but it has limits. Custom software has different options for avoiding the limitations that any single machine software like Excel will run into:

  1. Background Jobs: Background jobs let you start work immediately and get the results later. A great example of this is the creation of a large report. You can request the report now, and be notified of completion when it is available.
  2. Hardware: With custom software you can expand your available hardware. If more people need to start accessing the system, add a second or third server. Need to start using AI, install a AI accelerator card or GPU.
  3. The Code: Most systems are made using high level languages. This gives greater developer productivity, but sometimes lowers performance. With custom software you typically have methods to temporarily leave the high level code environment and enter a low level mode. This means you can maximize the performance in the most critical areas, without paying the higher development costs everywhere.

When you are considering custom software keep some of these items in mind. They help in evaluating if custom software has enough advantage over something like an Excel spreadsheet.