In the world of software development once in a while everyone reaches that crossroad where he needs to decide - Should we build that software or buy it? Build vs Buy !! Deal or No Deal !!
Here are suggestions that will help you. When making a Buy vs Build decision do the following:
- Consider only the costs that are affected by your decision (example you may or may not decide to buy additionaly 24X7 support)
- Include all Opportunity Costs (are you going to miss on some other core oppurtunity / project in your own industry)
- Ignore Sunk Costs, these are costs that have already been incurred (example can be hardware cost as either version of bought or in house build software will require similar hardware)Calculate total costs of each option. Total cost = fixed (avoidable) costs + variable (avoidable) costs
- Considering "Soft" or "Intangible" cost/benefits, for example future use of product or learning, team reputation or burden (in terms or learning or development), derivative products.
Other Important Hints/Viewpoints
- A very important consideration is to look at the Marginal cost i.e. the cost for deploying an additional host (cpu) with the same software.
- For coming up with oppurtunity cost - look at the nature of technology/product and its maturity level - analysis in the Short Run and in the Long Run
- Look at the service/product provider and its industry - will you be price taker or price chooser? How much can you negotiate? What are hidden benefits/costs of partnership?
- Evaluate options using the net present value (NPV) & internal rate of return (IRR) approach
- A little known fact is about the Basic Accounting ... Is it favourable for company's accounting? - This is very important as software bought is a depreciable asset for organization while software built will be treated as an ongoing expense without any balance sheet asset created out of it.
Hope you have some food for thought and solid points to make your case in your next board/council meeting.Arvind