.to build or to buy (on enterprise software)
the lego analogy

.to build or to buy (on enterprise software)

One of the most common dilemmas enterprises face when innovating is whether to “to build or to buy” a software. I’ve heard a lot of stories from fellow entrepreneurs and our?Untrite ?prospects, on what happened when the client went for the first option and oftentimes, they quickly regretted it.

"We've created our own AI team and started new initiatives.”
“We have many talented ML engineers internally and we can build our own AI solution.” […]

That's great, but do you know what you're signing yourself up for?

I can’t recall how many projects I’ve heard of, or participated at in my past corporate life, that ended up wasting months of resources, and others had to ‘clean’ the mess after failed attempts.

When I used to work in corporate banking, I once worked on a 11-month long project where my consulting company together with two other largest players were working on margin corporate accounts from an acquired bank. After nearly £1.1 billion spent, the acquiring bank decided to pull the plug out and just like that, all this time and other resources were wasted. Of course in this case most of the software had to be built as it was a very specific situation, but one of the main reasons why this gigantic and complex project failed was bad resource management and too little flexibility (banking loves waterfall methodology) to test and learn on what is actually needed first and what can be done later.

Building your own software makes sense in some situations - mainly when the tool you're going to build is around your core business. Otherwise, it's an investment that can quickly become a liability.

"I told you so"

Decision to build you own solution is also often dictated by emotions rather than logic. It can be flavoured with pride, overestimating your abilities and driven by self-interest of taking a credit when things go as planned. But they rarely do, especially when you’re operating on a completely new territory.?

In theory you could build your own Slack, but do you do so? No, because you know that in the long run it's more expensive for you to do so, while when buying purchasing a monthly subscription to Slack, you enjoy economies of scale.

Right now, as the boom for generative AI expands, many companies rush to call themselves innovative and build "AI teams" in-house. Even if their infrastructure is still rather a nostalgic ode to legacy systems from 90s and love for storing the most crucial information across siloed excel spreadsheets.

And I must admit, it's a bit entertaining to see those projects fail, because sometimes you need to learn the lesson the hard way, to become a better listener. Long term looking, opportunity conscious companies invest in third party tools when it's logical to do so, because they consider all the factors that come into place.

No alt text provided for this image


Ok, I know you came here for some 'meat', instead of my anecdotal monologuing, so here it is:

Pros and cons of buying vs. building

Pros of customisation:?

  • Your solution can eventually be turned into a product that you can sell to other companies experiencing similar problem, because the code you write is your IP. That's how Gousto, UK's biggest boxed subscription food service, sells their subscription software to other companies - BentoTech .
  • You continue to have total control over how the product functions. So, any modifications or updates are planned components of your business strategy rather than unanticipated events.
  • You can easily adjust functionality, if you believe your software requires a revision or new features.
  • Ideally, your custom software will complement the capabilities of the current tool and won’t conflict with current business procedures or tools.

Advantages of off-the-shelf software:

  • A ready-made solution can be put into place quickly, providing value right away.
  • The cost of commercial software may be considerably lower due to economies of scale, particularly if it is a monthly subscription model. (reinventing the wheel is often a bad idea).
  • You do not need to resource product maintenance because it is handled by the vendor.
  • Often, vendors offer customisation for your legacy systems (e.g. Untrite does) in addition to providing you a base platform / tool. This is the best outcome for companies that have lots of specialised, value locked in information stored across many siloed systems and databases.

The right fit: determining the right approach for your business needs

When it's about figuring out whether to make or buy a certain technology, there's no one-size-fits-all answer for all businesses. Each company needs to make its own decision, based on what works best for its unique needs. But, there are some things to think about when you're trying to decide whether to build it yourself or buy it:

1. Cost

The expenses of creating software cover making, looking after, and updating it as time goes on. When you buy software, you pay for the initial purchase and also ongoing fees for licenses and upkeep. The difference in costs between these approaches helps you work out which one makes more financial sense. If developing your own software is too expensive for your company, it could be smarter to buy a ready-made solution, and vice versa. Remember to factor in the time it takes to build. Generally, custom software development for medium scale enterprise project takes around 4-12 months. However, it's important to know that a study by KPMG found that 85% of software projects take longer than initially planned. I know projects that have been delayed for over 3 years (not in our company, fortunately ??) and are still not finished.

2. Time

Creating software in-house can often take much more time compared to getting it from a vendor. When a quick solution is needed, going for an existing option you can buy might be a smarter move. Big and complex solutions naturally demand more time to set up, but this extra time allows for better tailoring to match exactly what you need. So, going the route of making your own custom solution, or getting one made for you, might not actually take a lot more time than implementing a ready-made solution.

3. Quality

When you're making software in-house, reaching the same quality level as commercial software can be tricky. That's because commercial software usually comes from skilled experts who specialise in that specific field and have seen many edge cases you most likely haven't. If your priority is top-notch quality, it could be better to buy software from a trusted provider. However, if your internal teams are solid, go ahead and try your luck in-house. Remember that this involves needing a good grasp of technical know-how, coding skills, and being aware of possible knowledge gaps. Otherwise, there's a risk that software quality, security, and performance might be compromised.

4. Flexibility

While ready made solutions might perfectly match a company's requirements, internal software can be customised to fit a company's distinct needs. On the other hand, in-house teams might face difficulties adapting software to future growth and changes. The shifting trends in the market and evolving competition can render your solution irrelevant.?

5. Other risks

Developing software in-house is a bit of a gamble, as there's no surefire guarantee it'll meet all your organisation's needs. On the flip side, when you acquire software from a vendor, you're taking a chance on depending on them and getting tied into their way of doing things. Those startup solutions might seem promising, but smaller companies could go under, leaving your purchased software with no maintenance. You may also run into risk of your IT team getting diverted from the real business essentials at the cost of developing something, that won't perform as you imagined.

No alt text provided for this image
Tate Modern / Joan Mitchell "Fragments of a landscape"

The balanced path forward

While building in-house software can offer greater control and customisation, it may become more expensive and time consuming. On the other hand, purchasing off the shelf can be faster and cost effective, but may not fully meet the organisation’s specific needs. Ultimately, your team should carefully analyse your requirements and resources, taking into account factors such as cost, time, quality, flexibility, risks, and project goals.

I always say that buying vs. building yourself is a bit similar to creating abstract art. You might try to paint a similar-looking masterpiece, but upon closer examination, will it truly embody your vision, or will it lack that "spark" and value that an artist crafted piece can bring?

In other words, you may think you're saving $$ by going DIY, but in the long run, you may spend more than what the other option could cost.?

No alt text provided for this image
Tate Modern / Joan Mitchell "Fragments of a landscape"


要查看或添加评论,请登录

社区洞察

其他会员也浏览了