Does your software spark joy? Questions to ask before you decide to build or buy your next software …

Parimal Aswani
Temasek Root Access
6 min readApr 4, 2019

The market today is flooded with varied choices of software and services for enterprises to buy. Finding the right off-the-shelf software which works for your problem and your organisation is difficult. Building your own bespoke software can also be challenging. At Temasek Root Access, we constantly evaluate our options between buying and building software. Very often it is not a straight forward decision.

Availability of open-source components makes building bespoke software an attractive option. Some of the best software today is available as open-source. Many commercial software vendors also provide useful features and services which are built on top of open-source software.

There are many factors to consider and questions to ask before you make the decision between buying off-the-shelf or building bespoke software; some of which I will outline in this post here -

Customer Touchpoint

This is probably the most important consideration as this determines if the business is able to serve the needs of the customers in the best possible way. Technology is rapidly changing how our businesses run and we need to be agile and be able to respond to market changes quickly.

  • Does the software touch the customer? — Are your customers going to interface with you or consume your services using this software? Is this your digital shopfront?
  • Do you have control over the user experience for your customers? It is risky for your business if you can’t change or adapt to provide a better experience to your customers when they consume your services.

For example — if you are in the business of being an e-commerce platform provider, you probably don’t want to use off-the-shelf service for that. In the longer run, you will have challenges in adapting to changing market conditions and customer needs.

Availability of off-the-shelf options

  • Are there many options available in the market? — This can be the clue to understand if the problem you are trying to solve is really a utility problem. If there are 3 or 4 big providers for software you need, it is a sign that it is a mature and stable area. One good example is collaboration tools like Slack, Microsoft Teams, G Suite. The collaboration needs of most of the businesses are similar and you don’t need to reinvent the wheel. Other examples are your payroll and finance systems.
  • Is it a solved problem? Unless it is your core business — you usually won’t want to reinvent the wheel by building your own solutions to solved and well-understood problems. For example unless you want to be a cloud service provider, you shouldn’t try to build your own cloud. Similarly, you don’t want to build your own database software instead of using commercial databases.
  • Do the options available in the market meet most of your needs? Is it a “one and done” solution? If there are differences in features in the off-the-shelf software to what you need, you should introspect and ask yourself — do you really need to be different? This is usually the tricky bit where the commercial software does one thing well but does not do the many other things you need. You end-up buying multiple software and then have to deal with integration challenges. In such a situation, you should consider choosing a product which is extensible and build the missing features on top of it instead of buying multiple software.
  • Are you are going to spend much more on customising/configuring the software than the cost of the software itself? This is usually a warning sign that either your choice of software is not correct or you need a business transformation to align with how the software works. For example — you don’t buy a SaaS solution like Workday, Salesforce etc and try to build too many of your own customisations on top. The value of SaaS diminishes very quickly if you build a thick layer of customisation on top.

Differentiation

  • Does buying off-the-shelf software diminish your edge in the market against your competitors? — If your competitors have access to the same tool as you, do you really have the strategic advantage over them?
  • Does buying off-the-shelf software allow you to maximise the use of data and domain knowledge you have? — Every off-the-shelf software has some limitations and it is important to understand the limits. Such limits might prevent you taking full advantage of your knowledge-base and from being competitive.
  • Do you depend on your software provider to react to changes in the market? The roadmap of commercial software is determined by the provider. It may not align with your desired roadmap. Can you afford to risk doing something before your competitors do?
  • Do you plan to use machine learning/deep learning capabilities to make your business decisions? It is worthwhile to have such deep capabilities in-house as it will allow you to be different from your competitors.

Other factors

  • Cost — As your business scales, how does the cost of the off-the-shelf software increase? Are you able to get the benefits of economy of scale with your commodity software?
  • Build capability — Can you afford to build a software development team? Building and maintaining a core software development team is not only a commitment but also an insurance towards future changes.
  • Data about your business — This becomes crucial when using SaaS services. Could the provider of your SaaS service enter the market you are in? By using their SaaS service, they will have access to some of the data and network related to your business. For example — If you are building a file storage service on amazon web service, would amazon enter that business and undercut you?
  • Open source — Is the software you are buying open-source? Using proprietary software can not only lock you in to a particular vendor, it makes integrations with other software dependent on how well your vendor supports such integrations. You also have little visibility on what’s going on inside the software.

To sum up…

It is important to preserve the strategic control over the software supporting the core business

Make the decision of buying vs building carefully. Software which touches your customer or provides key differentiator to you in the market should be built in-house whenever possible. Software which solves well understood problems and are utility in nature, should just be bought off-the-shelf.

Other reads

Martin Fowler provided a model of utility vs strategic to make the determination on whether to build or to buy software. (https://martinfowler.com/bliki/UtilityVsStrategicDichotomy.html).

--

--