Your internal evaluation has identified a problem and you’ve justified addressing it. Now the fun part starts; do I or build it internally or should I license a commercial application? The answers might differ depending on the situation or industry that you are in. For argument's sake, let’s take an eCommerce scenario because hey, that’s what we do.
Like all things in life, there are Pro’s & Con’s to each direction. Some Pro arguments for building an eCommerce solution internally include designing something that addresses your exact needs. No reason to worry about additional functionality you have no plans on using. As the Liberty Mutual Commercial says; “you only pay for what you need”. If you don’t have the internal skill sets, you always have the option to get a 1099 development resource. You can also decide which 3rd party applications you need to integrate to as well. Shipping, Tax and Credit Card Gateways tend to be must-haves to offer your customers a streamlined eCommerce experience. Ultimately you can control what you build, when you build it and you own the code. It’s yours and you don't need to rely on a 3rd party vendor.
There are Con arguments to this direction as well with the first one being Time vs. Money. In this case you’ll spend a lot for both. It takes a lot of time to properly scope out an eCommerce solution that will function the way you need it to. Then there’s the issue of once you get it going, you have to support it internally as well. It’s not just the functional questions that will come from users, think about what happens if there are changes to your ERP, your shipping software, tax and credit card processing. Any changes to these parts of the equation have a downstream effect on the eCommerce solution you built. When the head of Sales and Marketing shows up in your office to complain about the eCommerce solution not functioning properly, there’s no vendor to point a finger at - you own it.
Let’s consider some Pro arguments for licensing commercial applications. The easy one is that it’s already built. Sure, there is some work to configure and implement it but the functionality that your customers will use is already there. Working with vendors that have pre-built integrations to your ERP and other relevant 3rd party applications have the most to offer. Flexibility of the solution is important and not just the short term. There are things you haven't thought about that will be important to you in the future. You benefit from working with a vendor that’s committed to enhancing their product. You will spend less time implementing this type of solution than you would building it yourself. You will probably find it less costly as well.
The Con arguments revolve around control. You don't own the software and are at the mercy of the publisher for changes, support, additional functionality. You need to rely on someone else to keep what could be a “mission critical” application up and running. If something goes awry, your faith in a 3rd party could be tested.
Whether you decide to buy or build, you’ll need to have a deep understanding of what you are trying to accomplish and what defines success. I’m partial to working with a commercial application vendor because hey, that’s what we do.