I was reminded today of the age-old battle that we have seen since the beginning of integration time. Do I buy or do I build. Its amazing the number of companies, mostly SMBs that feel that its cheaper to take the plunge and build their own integration middleware platform. In the old days it was building your own EDI solution, today its morphed into some thing bigger and the issues are of course larger. So what happens? The IT guy convinces the boss that he can do it all and much cheaper than the sales guy from the software vendor says they can sell off the shelf software for. Boss is tempted!
So if you are in this situation here are a few things to ponder if you are thinking of building your own integration solution versus buying an off the shelf product.
1. Opportunity Cost – Why should a company invest resources in building an integration platform? Spending resources on creating infrastructure that is widely available off the shelf is less valuable than devoting the same resources to projects that provide a noticeable competitive advantage to the business. In my mind organizations should only spend if they are truly creating a competitive advantage that cannot be bought else where. Otherwise it’s cheaper to buy. You don’t see companies building their own databases and word processors so why do the same with an integration platform?
2. What is the true investment in building it yourself? Internal people see what they want to see and that creates problems down stream. Why? The initial cost estimates for a DIY integration platform almost never includes long term maintenance, keeping the code up to date, keeping the bits and pieces current and ensuring the right people are on staff to maintain the system. Integration is a specialized business. Because these costs are not factored into the development costs the true amount that needs to be invested is over looked.
3. Integration is not simple. On the surface integration looks easy, after allits just data manipulation. The reality is that the problems most companies want to solve with integration are not simple. Humans make decisions and those decision trees and all their exceptions and rules need to be handled by the software. Creating adapters to move data in and out of your ERP system, or communicating with outside parties may on the surface look relatively simple but the reality is that each will have its idiosyncrasies and issues. If each one has to be built from scratch what is the cost, both in time to go live as well as the specialized skills needed to build each integration path. If the off the shelf product can do it, with configuration why build it?
4. Finally and this is one I am reminded of on a daily basis. We only see what we want to see. I blogged earlier on how predictions trap us into making poor decisions. Making the decision to build versus buy is the same. People tend to look at things in isolation – I need a new EDI system. Well EDI is just another data flow so why not stand back and say how does data come into the company and how can I integrate that data to make the company more efficient? The same is true in the build versus buy debate – If you look at a single integration and say ya I can build it what happens when the next one comes along that is more complex, more sophisticated – you end up with unmanageable code and a poorly designed system.
So at the end of the day in the vast majority of cases the only solution that is cost effective is the one that is based on a commercially available product or hosted service that can be configured easily and quickly. All the research shows that if you build the end product will be more expensive and less feature rich! So why build?