While I won’t use the word “never,” you will really have to convince me that it makes sense for a small business to build its own proprietary software solution unless they are in the business of selling software. It hurts me a little to make such a statement as I started my career as a software engineer building custom enterprise software solutions. However, times have changed and custom software is the wrong solution for most businesses today.
Building custom software is hard and most people don’t understand how to do it right. Yes, it is possible to build a solution that matches your business model exactly. However, the process is like building a ship while you are trying to sail it through rough seas. It takes too much of your time and costs a lot of money to do it right. Once you think you’ve got the software like you want it, it’s time for updates and enhancements. More importantly, it’s a huge distraction from your core business. You need to be focusing on your business instead of building a proprietary software solution.
But you might say, “the software creates a competitive advantage and will increase the valuation of the company.” Wrong! I bet I can replace your solution in a few weeks leveraging an enterprise platform for a fraction of the cost. If you’ve built it yourself, you’ve actually created a competitive disadvantage with more operational risk and financial burden. You now have to maintain proprietary software that nobody knows how to support. You have to host it, support it, and find high priced developers to enhance it. All the while, your competition is leveraging a platform from a company that is in the business of hosting, supporting, enhancing, and maintaining world-class software. They’re getting all the benefits of new features and better performance. You can’t keep up. Proprietary software is a liability, not an asset.
Yes, you give up a little control, but I would argue leveraging existing software is less risky than building everything yourself. When was the last time you considered generating your own power? Yes, you run the risk of the power company having an outage. That’s a risk most all of us are willing to take as the power company is in the business of ensuring it’s customers have reliable service. The same applies to leveraging a platform hosted in the cloud. Everyone has downtime. However, I’d rather put my trust in experts who focus on keeping their software available 24 hours a day instead of trying to acquire and manage the talent to keep my proprietary solution up and running.
Yes, you can “cheaply” outsource your custom software project via Elance or oDesk to someone India, China, Eastern Europe, or some other emerging country. The initial price tag will appear cheaper. However, it’ll end up costing you more, take up more of your time, and you’ll get a less than stellar solution. Your total cost of ownership will be more, I promise.
Instead of building your own solution, leverage a SaaS based platform (or set of platforms) from a company that focuses on providing enterprise software solutions. One example is Salesforce.com. Everyone thinks of Salesforce.com as just a Customer Relationship Management (CRM) software company. However, their platform can run your entire business. You can customize it quickly and easily. There are thousands of custom apps you can use to extend the platform even further. There are also thousands of companies whose sole purpose is to develop apps or provide services around the platform. Don’t want to use Salesforce.com? No problem. There are hundreds of other great choices and options available. With a platform, you can implement your own custom solution at a fraction of the cost that will add more value to your organization much more quickly. Rarely, if ever, will you need to hire a software engineer to write custom code.
Don’t try to implement the platform yourself. You’ll save a lot of time and money by not building your own software, so spend a little of the savings with a partner that knows what they are doing. While platforms like Salesforce.com are great, you can get overwhelmed easily if you don’t know how to distill your business processes into implementable pieces and automate the processes within the platform. Many platform implementations fail because businesses don’t take the time to document or implement their business processes properly in the tool. The platform is just a tool. You need to ensure you know how to use it the right way. Otherwise, the tool will cause more harm than good.
Finally, don’t forget that implementing and customizing the platform is just the first step. You need to plan the implementation within your organization thoroughly and thoughtfully. It doesn’t matter if you have a great solution, if you don’t have buy-in from your team. Change management is difficult and often overlooked. Once again, this is where a partner can help you roll out the solution the right way and avoid the common mistakes many organizations make.