The Pros and Cons of Custom Software vs. Off-the-Shelf Solutions

September 28th, 2015 by Paulette Carter

Yes, there are many considerations that make up “business needs,” and they span functionality, budget, return-on-investment, and so forth. But even if a piece of software is given to you for free, if it does not meet any of your needs or address your challenges it is effectively worthless and – worse – could actually cost you in the form of retraining staff, changing your processes to adapt to the software, and so on.

As we go into this decision making process the golden rule here is: understand your business needs and make sure the solution is a good fit.

So what are you trying to solve for? Perhaps you need to continuously update content on your website and are looking at implementing a content management system. Maybe your sales force is spread all over the country and everyone is using a different method to track customers, so a centralized client relationship management tool is in order.

Business needs vary wildly with the size and nature of the company, existing systems and processes, and – of course – the specific function of the tool itself.   But whether you’re looking at off-the-shelf solutions or something more customized, a natural part of your process should be analyzing what exactly you want the software to be able to do and – ideally – what process it follows in order to do it.

In the case of a custom solution it’s likely the company you’re working with will help you (more of this below) with this discovery process, as it’s as important to them as it is to you that they understand your business needs and what the software should accomplish.

Once you understand the business need and the way to go about addressing that (or what the process will be in the case of a new, emergent business challenge), we’re ready to look at your options.

Let’s go shopping …

 

Off-the-Shelf Software

Imagine off-the-shelf software as a ‘boxed solution.’ It’s a commercial product targeted towards a large audience (sometimes worldwide). Picture Microsoft Word or QuickBooks. These are software solutions aimed at addressing specific needs, but they are targeted towards a mass-market audience vs. a specific company or industry.

Off-the-shelf solutions are typically affordable because their development costs are distributed across the broader audience – but you get what you get. Because of that, the software’s features and functions have to be more generic or massively more complex, which might be feature-rich but ultimately, includes a lot of things that your company does not need.

The larger the audience for an off-the-shelf solution the more likely it will be you simply get the features printed on the box, which may or may not capture what you need.

There are strong benefits when considering an off-the-shelf solution, primarily the low up-front cost. But “cost” alone is somewhat superficial: the initial purchase cost is only one of the possible price considerations for off-the-shelf software because upgrades, software support, monthly or annual licensing fees, per-website or installation licenses, and per-seat costs can all inflate budget needs to considerably higher levels. Over time these fees may actually exceed the costs of a customized solution without any of the advantages.

Most off-the-shelf solutions will not be a perfect fit for your company. The fact that you will have to adjust your processes and staff behavior to fit the software (rather than the software fitting your business) is one of hidden cost. Even something as subtle as the vernacular being used throughout the software can be completely different to how you communicate as a business or within your industry.   Then there’s the software itself. It will come with pre-ordained processes, functionality, and flows that will likely not match how you go about business today. Retraining personnel, a slower work rate, and critical missing functionality can actually increase costs and workload.

The amount of process-adjustment needed is directly related to how well the off-the-shelf solution fits your needs, so when considering this type of solution it’s vital you consider what you’re not getting: what business requirements won’t be addressed, and how are you going to accomplish these things instead? Will you be able to adjust your processes, or will you have to implement new systems to work alongside the new software? Will this create long term inefficiencies?

There is also – what I shall refer to as – “Infrastructure Requirements”.   You should consider these holistically: if an internet application, what browsers must be supported? Do you have federal, industry, or company security requirements? Are there programming language or operating system restrictions? Will there be roll-out challenges across your company dependent upon the software in question?

Lastly, keep in mind that off-the-shelf solutions target multiple customers. Because of that future enhancements will be targeted at a broader base than your specific company, and typically come at a slower pace than your business may evolve at. Your changing business needs, growth, and change within the company will continually create a balancing act between what the software can do and what you need as a business. The limitation in how quickly the software can evolve, or the simple fact that it can’t be perfectly aligned with your business, may prevent you from adapting better, more streamlined or efficient processes and procedures. In the long term you may find that you have to adopt concurrent manual processes alongside the software if it does not iterate quickly enough. At this point the software itself is becoming obsolete, and while regular updates may address this, you need to consider the stability of the software company itself: if you lean a critical part of your business on a piece of software, you’d better make sure the parent company is going to be around for years to come lest you have to re-purchase sooner than expected!

Pros

  • Lower up-front cost
  • Feature rich
  • May meet most of your business needs
  • Support is often included or can be added with a maintenance contract
  • User communities across the internet and forums provides self-help support
  • Quick to deploy
  • All design, development, QA/testing is handled by vendor

Cons

  • May come with upgrade costs, licensing fees, or per-seat costs
  • Will likely not meet all business needs
  • May include features and functions that are not wanted
  • You may have to change business processes to match the software functionality
  • Will be variably out-of-sync with your business vernacular
  • May include security or technical solutions that do not conform to internal business guidelines
  • May have infrastructure/platform requirements that your business cannot support, or can with additional cost
  • High customization costs, or impossible to customize
  • Feature requests will likely go unheard and future enhancements may not be relevant to your business
  • Obsolescence is possible. Slow to evolve with your business or industry, so your business may need to keep processes matching the software, change software in the future, or introduce additional systems to bridge between software and future processes

 

Fully Customized Software

You have defined your business needs, desired functionality, and business processes.   You’ve compared them to off-the-shelf solutions and found nothing is a good fit. So instead you approach a software development company to create a custom piece of software to meet every business challenge you have: a fully-integrated solution that matches your processes perfectly.

A rosy picture, yes?

Well there’s a downside and there are risks. Custom software has to be developed to match your business requirements, which means it’s not a boxed-solution, and increases your costs and timeline. You might have to wait months (or years) before the application is ready for use and this – not surprisingly – requires more upfront cost. The benefits can be strong however, and as long as you are aware of the risks – and able to navigate them – it’s often the optimal solution.

A fully customized solution isn’t for everyone – nor is it a perfect match for every need. You wouldn’t develop a custom word processor from scratch, for example, as there are plenty of low-cost options out there that – generally speaking – cover most if not all of your needs.

But the fact that a custom solution will – by its very nature – meet each of your business requirements is very powerful indeed. If the costs to develop such a comprehensive system are initially too high, or if the timeline to deployment is too long, the beautiful thing about custom software is you can typically start small and ‘layer’ functionality over time. This distributes cost but gets you the core functionality sooner.

Having software functionality and vernacular that’s in alignment with your business needs supports it in hidden ways: The software ultimately fits your business, instead of your business fitting the software. Staff will not need heavy retraining, nor will they have to adjust their normal work processes. The software will not become a hindrance and will instead save time, and with saving time comes saving money.

Related to how the custom software molds to your business is the fact that it can then integrate with legacy or future systems. Imagine a scenario in which you would like your website to be content managed, but you also want your site users to be able to sign up for membership features, receive newsletters from an established email service, and track their credentials and behavior in a client relationship management tool – all while simultaneously leveraging a reporting system to monitor website usage and define custom tracking tags in the content management system.

That’s a complex scenario that relies upon two external applications (email & tracking), which need to be integrated into a 2-piece system (Content Management & Client Relationship Management). A custom software solution is the perfect candidate as part of your requirement to integrate into your tracking and email system.

Additionally, because the custom software is in perfect alignment with your processes and the pulse of your business, it can give you a competitive edge over other companies. Imagine in the scenario above how seamless insight into your customer enhances transparency, which in turn allows for quicker and more accurate decision making, while simultaneously enhancing customer experience and satisfaction.

Custom software also puts you directly in touch with the software developer in what should be a lasting partnership: they effectively become part of your team, ensuring that you have the tools at your disposal to best accomplish your business needs. Now you have direct vendor support, which leads to quicker enhancements and iterations, which naturally means that the software does not become obsolete: as your business evolves, so too does the software.

And the software belongs to your business, so you do not have to wait on feature requests and enhancements. You are 100% in control.

Wow. That’s a whole bunch of very positive things about custom software solutions. There has to be a downside, right?

Well in a nutshell, yes, there are a few things to be aware of and to factor into your planning.

The “big one” is the upfront costs are higher. Depending on your requirements and project scope the cost is going to be measured in thousands, tens of thousands, or more – maybe much more. Your project will probably require a team of user-experience experts, designers, programmers, database engineers, quality control professionals, and so on as part of a product development lifecycle. This is not a “pick up the box, insert the CD, go and get a cup of tea” type scenario. It could be months – maybe more than a year – before you see your software. This is the type of thing that has to be planned for as it becomes part of the future growth of your business.

It’s likewise very important to be well informed about the software company who you will be partnering with. Their stability as a company is critical, but so too is their expertise in the field. Have they developed similar systems before? Are they taking steps to understand your business needs? Can the vendor support you with help-desk, updates, bug fixes, and future enhancements post launch?

During the timeframe your company is working with the software developer to ensure they understand your business requirements and objectives, the correct solution is designed, you approve of the interface, features and functions, and that what is built not only works but meets your business criteria. This requires someone on your team – perhaps a small task force – to manage this effort and the vendor during the software development lifecycle. This may not be the type of thing that you can dedicate resources to, so it is one of the important considerations when weighing the off-the-shelf vs. custom software solution.

Pros

  • You can start with the core-essentials and add features and functions later at any time
  • Solution tailored to match business needs, processes, and security requirements
  • Easier to orientate staff to the software, because it follows your business practices and vernacular
  • Can be developed using a software language and infrastructure/platform matching your business needs vs. those of a ‘mass market’ nature
  • Possible integration with legacy and additional systems
  • You own the software
  • Possible competitive advantage
  • Direct vendor support Unlimited options ultimately provides for an extensible, evolving solution that can stay current with your business
  • No obsolescence and investment in updates and enhancements is 100% controlled
  • Changes can be made quickly
  • Often without any additional licensing fees

Cons

  • High upfront costs
  • Changes and features requests may be billable
  • Requires developer sources (with inherited risks)
  • Requires developer communication during the software development cycle: requirements, design, development, QA/testing, and training will require business involvement
  • No user community to provide self-help (but direct relationship with vendor negates need for this)

 

Off-the-Shelf…with a Twist

There are some commercial software packages you can buy that have after-market customizable support, which allows you to start with a strong foundational base and tweak it to fit your needs using a third-party software company (who often specialize in that field). This can have the advantages of a low-cost entry and a rich feature set without being tied to the original publisher. But this type of software is not common – minimizing choice – and the after-market customization incurs cost. Because this is a pre-packaged solution being modified after-the-fact, customization becomes less cost efficient on an exponential scale as the underlying foundation limits what can be done.   Typically, this type of customization is more costly than the custom software solution described above. There is a tipping point where the desired customizations for an off-the-shelf product begin to stretch what the software can support and begin to cost more than a fully customized solution.   In this instance you would be better going the fully customized route from the beginning.

Sometimes commercial off-the-shelf software is developed by companies with a narrower audience. These companies may be able and willing to add features and functions to the software at the request of their users. This is a potentially good solution as it naturally tweaks a boxed solution to be more in alignment with your objectives, but the reality is that this is still a pre-packaged product and it must meet the needs of a broader audience beyond your company. As such your requests are never guaranteed to be implemented and it is likewise possible that features and functions may be added at the request of others: features that you do not need and perhaps do not want!

“Tweaked” off-the-shelf software is a viable route if a boxed solution is providing a lot of what you are looking for, but some critical functionality is missing. But there is less choice and availability, and if you’re not careful it’s possible to start down the road of over-customization. Due to the inherent limitations and costs, that can be a costly path to go down.

There are also fewer benefits when taking this route, as you effectively take a pre-packaged and tested product, and introduce aftermarket changes. Depending on who does the customization and to what extent, this effectively removes support options, how quickly the product can be made ready for your business, and potentially puts the testing onus on your team.

Pros

  • Lower up-front cost
  • Feature rich
  • May meet most of your business needs with customizable options to refine further

Cons

  • Customized boxed solution would have less community support and potentially none from the original vendor
  • Customization is typically quite a bit more expensive than with a more traditional customized software solution
  • Upgrading through the original software company may no longer be possible
  • May come with upgrade costs, licensing fees, or per-seat costs
  • May be variably out-of-sync with your business vernacular
  • May include security or technical solutions that do not conform to internal business guidelines
  • May have infrastructure/platform requirements that your business cannot support, or can with additional cost
  • Missing features and functions that your business needs may not be possible to add through customization, necessitating additional software or solutions from

 

Customized Software with Off-the-Shelf Components

So remember the scenario given earlier where a 2-part custom application has to interface with legacy systems? It sounds pretty complex, right? And complexity might lead to crazy costs to develop.

Now imagine a software company has already developed a very similar solution before and with a little customization to meet your specific needs, they could probably leverage much of it in order to create a solution for you. It’s not a boxed-solution, nor does it require the completely new approach discussed under “fully customized.”

This can be a very cost-efficient way to obtain the power of a customized solution without incurring the same level of costs, but like the ‘off-the-shelf solution with aftermarket customization,’ you have to be careful that you do not try to leverage a system that really isn’t a good fit. This will lead to excessive customization on top of a foundation that isn’t really built for it. This leads to inflated costs and a lackluster application with potential performance problems and instability.

Pros

  • Leveraging pre-existing libraries, frameworks, reports, forms, and functionality can help reduce upfront costs
  • You can start with the core-essentials and add features and functions later at any time
  • Solution tailored to match business needs, processes, and security requirements
  • Easier to orientate staff to the software, because it follows your business practices and vernacular
  • Can be developed using a software language and infrastructure/platform matching your business needs vs. those of a ‘mass market’ nature
  • Possible integration with legacy and additional systems
  • You own the software
  • Possible competitive advantage
  • Direct vendor support Unlimited options ultimately provides for an extensible, evolving solution that can stay current with your business
  • No obsolescence and investment in updates and enhancements is 100% controlled
  • Changes can be made quickly
  • Often without any additional licensing fees

Cons

  • High upfront costs
  • Changes and features requests may be billable
  • Requires developer sources (with inherited risks)
  • Requires developer communication during the software development cycle: requirements, design, development, QA/testing, and training will require business involvement
  • No user community to provide self-help (but direct relationship with vendor negates need for this)
  • Be careful of trying to get a square peg into a round hole: if the base solution is not a good fit for your business needs, then you may be trying to over customize pre-existing tools. Leverage less – or none – of the preexisting software.

 

So…that was quite the time we spent shopping and your head is probably spinning, so let’s dump the bags on the floor and do a quick recap:

  • At a high level your specific business needs, your processes, your infrastructure, and your budget are going to drive a decision on which software solution to go with.
  • The golden rule is that the software solution has to fit your business needs; otherwise it is not the right solution.
  • Costs are seen in more than just the upfront purchase: how much you have to change your processes, impact to staff training and efficiencies, ongoing licensing or hosting fees, and per-seat costs, can all mean that a low entry-point ends up being the most costly solution over time.
  • Weigh your Return-on-Investment: can you recoup costs within a number of years, including improved efficiency and advantage over your competitors?
  • When you evaluate off-the-shelf solutions, make sure you look at 3-4 options and have a clear understanding of what your business needs are. Evaluate what each option will and will not do and the impact that this would have to your business process flow.
  • A custom solution can have a high upfront cost, but potentially you can get the greatest return on investment and cause the least interruption to your business model.
  • Your risk with a custom solution is ensuring that you partner with a stable, knowledgeable, experienced company.
  • If your business requirements can be met with an off-the-shelf product to a large degree and cause minimal adjustment to the way that you go about business, then that may be the most efficient and logical way to go. But sure to fully understand what the software will not do, however.
  • An off-the-shelf product may work for your business today, but it can’t be easily modified and isn’t designed to accommodate future needs.