This question is not unique to non-software developers, often we encounter this scenario internally, and being a development company you would imagine from the outside our software was all singing in perfect harmony with workflows, integrated CRM and web site etc... and we’re working on it. However if I had my way the choice would be to build a customised solution from the ground up; integrating with all existing applications in the environment, Accounts, CRM, Invoicing and so on using SaaS (Software as-a Service) to loosely couple distinct functional tools and products used throughout the enterprise together.
The benefits developing bespoke SaaS solutions is that when you come to implement they behave exactly as you specified and achieve the job from day one, albeit a few minor bugs to work out. The alternative is selecting an existing product which may well not be open-source and introducing a dependency on external vendors to build in new functionality, provide bug fixes and the like. However the investment is normally low when considered against how much time it would take internally to develop and test internal solutions and of-course at the distraction to business as usual activities and neglecting potential business growth, networking and sales opportunities.
So how do you decide whether to build or buy? From a commercial view the right questions need to be asked to discover total cost, timescales, ongoing support, contractual requirements, dependencies and service level agreements. Often SLAs don’t work too well internally as the concept to leverage financial weight is lost. Techies within an organisation will already often be saturated with workload and whilst happy to take on a new requirement this may be outside of core skills and a steep learning curve is required at the cost expense, and often pain, of their employer.
What factors do you consider when choosing to build or buy?