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?