When solving internal business needs, should you buy an existing software solution or build a custom solution?
The biggest advantage of custom software is the ability to innovate and invent. That’s why custom software is commonly created for new products and innovation projects.
But if you’re looking to leverage software for a common operation or management need (ERP, CRM, financial, compliance, etc.), your choice is not so simple. If an existing viable software solution exists, you must decide whether to build or buy.
Here are some advantages of each option. Obviously, every situation is unique, but this should help you start evaluating your options.
Advantages of Building Custom Enterprise Software
Customization – Custom solutions give you complete control of everything from business rules and workflows to integration with other software solutions that you’re already leveraging. They can be built with a user experience that matches your business, instead of your business conforming to the solution. If done correctly, you will get a much smaller and simpler solution that only contains the features that your organization needs.
Ownership – Custom solutions come without rules, contraints, or licensing costs/restrictions — giving you complete control to make modifications. This is valuable if you anticipate that your internal processes will change over time (usually a good bet). A lack of licensing is a major cost savor if the existing solution you’re evaluating comes with a per-seat cost or high reoccurring fees.
Branding – Custom solutions give you control of the application’s look and feel, messaging, and naming conventions. You have absolute control to make things match your businesses style and terminology.
No Configuration Needed – Custom solutions are designed specifically for your unique needs. Large off-the-shelf solutions generally require expert configuration to fit your organization. You can have them professionally configured, but at a high premium.
Application Support – With custom solutions, you have direct access to system expertise when issues or changes arise (assuming you have selected a reputable vendor). Talking to an actual developer about an existing feature set or future enhancement is much easier than talking to an enterprise software sales person.
Technology Freedom – Custom solutions give you the ability to select a technology that seamlessly integrates with your existing infrastructure.
Ongoing Enhancements – Custom solutions give you complete control of the product roadmap — the ability to decide when and what new features and enhancements will be added.
Advantages of Buying an Existing Enterprise Solution
Timing – Out-of-the box software solutions are immediately available for purchase. Most well-built custom solutions are released iteratively over time and focus on the highest value features first, but they still take time to develop.
No Development Risk – Existing solutions have been tested and used by other companies. Building custom software is difficult and easy to screw up; choose your vendors wisely.
Lower Cost – With an existing solution, the software development cost is amortized across many clients. It’s likely that a custom solution (even though it has fewer features) will be more expensive. In addition, existing solutions are commonly sold on a reoccurring yearly basis that allows an organization to spread out the cost.
Community – Successful off-the-shelf solutions tend to have large online communities. These communities include expert users, question and answer forums, and small companies that build supporting products. Tapping into the expertise of others is great leverage for your investment.
Ongoing Enhancements – Most good existing solutions are continually enhanced by the vendor. They are spending the time to think about the product and determine ways to improve it. It’s common to pay a support fee to get access to enhancements, and the timing and functionality are usually controlled by the vendor, but once again the development cost is amortized.
On a final note (to make things even more confusing), it’s not uncommon to develop a hybrid solution. Occasionally it makes sense to leverage the majority of an existing system, and then develop a custom software component for an important part of the process that is non-existent or not supported well by the existing solution.
If you think a custom solution is right for you please contact us. We would be happy to discuss your options.
What other components do you commonly evaluate when making a build or buy decision?