.to build or to buy (on enterprise software)
Kamila Hankiewicz
Helping make real-time, data informed decisions @untrite .are you human host .hankka newsletter .Japanese knives @oishya
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.
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:?
Advantages of off-the-shelf software:
领英推荐
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.
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.?