Posts

Should you customize the Off-the-Shelf software application?

Software applications you can buy Off-the-Shelf (OTS) will often fulfill 80% of the needs of a company. If that is true, then what do you do with the other 20% of functionality you need isn’t in that existing software? You need to evaluate what functionality is required by your clearly defined requirements of the application, compare that need to the OTS software application’s capabilities, and make a decision on how to customize or modify the software to meet your needs.
First step is to be cognizant of exactly what you need the software to do. This should have been documented when your company started evaluating off-the-shelf software applications.
Next, compare that to the OTS software solution. How much of your needs does the application fulfill? Do you need a small tweak or is it missing a major piece of functionality you need? Also look at the innate capabilities the software has to allow you or a trained person to modify the software slightly. Many applications come with the capability to make small modifications to the application without breaking the software such that it can’t be continually updated in the future. For example, Zoho CRM and Salesforce.com allow you to add new fields to nearly any screen, wrote simple code to perform a calculation or other logical function. Often you don’t need to be a software developer to make those changes. Knowing the limits of the out-of-the-box customization relative to what you need is critical.
Once you have identified how much the software can or cannot be easily customized to meet your needs, you have  three options:
1) Use existing customization features: Go ahead with making the small change to the application using it’s innate customization capabilities. This is the best route if those customization capabilities exist, and if they meet the needs.
2) Modify the application’s code: Modify the code behind the application (i.e., modify the code written by the software manufacturers software developers). I mention this option because the option exists for some software (not all software). But I would never suggest doing this. It can be expensive in the short term and even more expensive in the long term because often the software can no longer be upgraded under existing maintenance plans. You’re then stuck with that version of the software for a long time with little to know support from the software vendor.
3) Create a separate function or application: Create a function or application outside of the application to accommodate the need for the specific feature. This is appropriate when the need for the feature is very significant for the business, and when the complexity of the feature is also significant. You should consider this option very thoughtfully. It has it’s pros and cons. The pros can outweigh the cons in certain situations.
You will likely find that the first option is the best option. However, if you’re in a situation where it doesn’t appear to be the best option, call us. We’d be happy to have some initial discussions with you free of charge.