Computer and IT Support Services and Repairs

Close Icon
Contact Info     (844) PNG-Support

Should You Build Your Own Software?

Software is at or near the heart of every modern business (and even quite a few not-so-modern businesses) today. Most of what we use we buy from known vendors for established markets. Need word processing and spreadsheets? Microsoft Office is an excellent choice, though the free and increasingly ubiquitous OpenOffice is also available. What about accounting? Peachtree and Quickbooks have you covered. Going to print? Call Adobe. It only makes sense that as a potential market is identified a software developer would step in and provide a product in order to fill the void and take advantage of the opportunity.

But what about more specialized software? Is there a reason why you might ever want to have someone custom build software for you? Is there an advantage to it? Absolutely.

Typically you would consider having software custom made for you if existing software packages do not and can not do the task for you. Microsoft Excel and Microsoft Access are probably the two most often used examples of products which are pushed to their utmost limits in the name of avoiding custom software. One client was using an Excel spreadsheet they called “The Monster” because it was gigantic and actually split it into two different workbooks full of macros to perform what was essentially simple data input and subsequent reporting. Another client had been using Access for their inventory application for years but as the number of users (and concurrent access requirements) grew, they began outgrowing their Access database.┬áIn both cases, we were able to develop a custom software solution that enabled them to break away from the limitations imposed by the existing overextended installations and allow them to get back to focusing on their actual business.

But how do you know if you need custom software built? It all boils down to return on investment. Custom software is typically going to be more expensive than a canned software approach, assuming such an option is even available. That’s because you are paying a developer to create software which they likely will not be able to resell due to the nature of your specific requirements. It’s unlikely anyone else operates identically to how you operate. And even if they did, you might end up negotiating to prevent a competitor from making use of the product you paid for. You might even negotiate to retain all rights to the source code. So why then would you spend that kind of money.

First, it’s possible there is a canned or off the shelf application that at least operates within the same space as what you are trying to accomplish, but simply can’t be tweaked to function to your liking. We had a customer who attempted this initially. The software salesperson talked a good game but when the package was installed the customization step would have essentially required altering the entire business flow in order to achieve alignment with the software platform’s methodology and be able to grab a little extra reporting. In this case, it wasn’t worth it to move forward with this package because while it came close, it still couldn’t deliver on core pieces of functionality that the customer really needed and would have required disruptive changes to the flow of business.

Second, you may have outgrown your current ad-hoc method of accomplishing your task. In one case, I found that a company had hired someone to sort through report printouts and create summaries for the executive each morning. She simply couldn’t keep up with the volume anymore and I was asked to create a custom reporting solution. The difficulty lay in interfacing with the legacy system the data was coming from but in any event, the customer needed to be able to grow and was finding themselves locked down because how they had been doing things couldn’t scale with the growth of their business.

Third, you might have decided to enact new business practices for which you have nothing in place and have nothing else to turn to. This is the worst case scenario. You have a direction to go but no current means to get there. If you already had something in place perhaps you could limp along for a bit. If there was something that could get you half way there maybe you could try to make do with it. But in this case, you have nothing. Here it becomes more pressing to actually get something in place in order to move forward with the direction you are taking things.

In each case, you may have found you have hit a wall and need a way around, over or through it. You’ll need to find out how much what you want will cost to develop, then compare that to the opportunity cost of continuing as you are without it. You will want to rely on your IT staff to help you determine what other options you might have and help evaluate the proposals put forth. Regardless, custom software might be the solution for you.


Comments are closed.