Blog

Build or Buy: Deciding between Custom Software or COTS

Decision

You need software to run your business effectively.  It is a core tool of your business operations and your people depend on it.  So when should you buy Commercial Off-The-Shelf (COTS) software and configure it for your needs; and when should you consider a custom software solution? 

The reason I started Spot Solutions was to help firms gain valuable benefits from their software.  Too often I had seen software projects fail – either the wrong software tool was acquired or built, or the software just wasn’t used! 

When companies acquire COTS, sometimes it is a success, and sometimes not.  I have seen both outcomes, and the full spectrum in between.  On the successful end I have seen firms gain great insight into improving their business processes because of positive constraints and best practices imposed by their COTS software.  But on the unsuccessful end I have unfortunately seen firms buy COTS and straightjacket their distinctive business process, sometimes incurring a negative ROI. 

Of course there are risks with custom software as well, and I have seen such projects fail.  But I have also seen firms realize huge benefits. For example, when they had a unique business process or achieved a competitive advantage, or when there were abundant users or transactions so that they could realize a significant benefit from the investment.

Reasons to Build Custom Software 

  •          Optimizing your Business Processes:  With custom software you can optimize your business processes instead of making compromises for the software.  In most cases the cost of your people is far more than the cost of the software.  So massive Return on Investment (ROI) is often possible.
    Ex. Our client, a distribution company, took a special pricing sales process that used to take weeks to complete and dozens of hours per transaction, hired us to build software to optimize this process, and reduced each transaction to 1 day and 4 hours of employee time.
     
  •          Flexibility:  With custom software you are not straight-jacketed to the process originally envisioned by the software developer.  Sometimes you only need to make a small adjustment to the software to make your process more efficient.  With COTS you just can’t make that change, but with custom it can be very easy.
    Ex. Our insurance industry client had a business process that was mostly common to their industry, but had a few differences that conferred a significant competitive advantage, and we were able to add very specific tools to their software to maximize these advantages.
     
  •          Scalability:  With custom you can buy just the features you need and no more.  And you can add new functionality later when you do need it.  Maybe you want to keep the cost down by only doing a bit for now.  Or maybe changing everything in your business all at once is too disruptive, so you want to take measured steps.  These options are no problem with custom.
    Ex.  Our manufacturing client was rapidly expanding and was still trying to figure out the optimal business process in many areas, but also had major bottlenecks in some areas that were already settled.  So we built a great tool for the areas we could, and built defined software interfaces to the parts of the business that were still evolving.  That way there was no cost until they were ready to build software for those additional areas, and no investment was lost in the software built for the original areas.  (For you tech geeks, we used an SOA approach on this solution.)
     
  •          Ability to Integrate with Other Software:  Your software systems are not islands.  Information must move from one system to another.  With COTS you are often constrained by which other systems you can integrate with.  With custom no such constraint exists.
    Ex. Our post-secondary education client got us to build a piece of software to integrate two disparate systems that could not talk to each other.  We pulled software from one system, ran defined algorithms on the data, and then pushed that data into the second system, keeping both systems in synch and behaving as a seamless whole.
     

Reasons to Buy COTS 

  •          Routine Process:  Many of the processes in your firm are routine and do not differentiate you from your competitors.
    Ex. All firms must do accounting, but for very few is this a unique process.  So a COTS accounting package is just often sufficient.
     
  •          Fantastic Software Exists:  Sometimes you just should not re-invent the wheel.  If your business process is very well served by an existing piece of software, buy it.  You may have to tweak a bit of your process to fit the tool, but if the software is otherwise great then it may be worth it.
    Ex. A service firm must often track detailed timesheets, and there are great COTS software packages for this, often already providing integration with common accounting and ERP systems.
     

Cost 

Notice that I didn’t mention price yet.  This is because in my experience price is not systemically in favor of custom or COTS, and certainly not when total cost of ownership is considered.  But you have to be careful here and not just count the headline cost. 

Let me give you an example.  Firm “A” buys a COTS system for $100k initial license fees and $100k configuration.  And this new software saves them $250k per year in improved efficiency.  But oh yeah, don’t forget to add in the 20% per year license fees indefinitely, and the extra $50k per year of admin time to manually extract the data from this software and put it into your other database for further processing.  And don’t forget to add the additional $50k every 3 years for peripheral integration and training costs for the migration to the new software version the vendor imposes. 

Now compare that to firm “B” that selects a custom software solution where they are building only what they need, and they own the software in the end.  They may end up paying $250k for the software.  But it has optimized their business process and it automatically interfaces with that other database.  And there are no annual license fees or mandatory version upgrades. 

So in this example you can see that even though the headline cost of the custom option is higher, the total cost of ownership is far less.  This is the case far more often than many expect. 

Pick the Right Option for Your Firm 

So pick the right type of software for each purpose.  Use COTS when you can.  And use custom software when it makes sense.  But consider the full picture.

  •          Improved Efficiency:  You must have improved productivity and faster reaction time than your competitors.  Which option will give you this? 
  •          Competitive Advantage:  If you are seeking a competitive advantage over your competitors, decide which option best allows you to consolidate this.  Sometimes your process is completely unique, and sometimes the competitive advantage is attainable with standard software.

Who is Spot?

Spot Solutions builds fully custom software solutions to improve our clients’ business operations and make them more efficient.  We are experts in all software tools necessary to complete these tasks, including programming languages, database systems, SharePoint, and other the enterprise level tools.  Our vast experience has produced extremely effective management systems and tools to guarantee success of every software development project.