The answer is it depends.
It depends on what you need the software for and how it adds value and creates a moat against your competitors.
I'm not sure what sector you are thinking of, but if you are an online retailer then probably not as the software in that sector is fairly advanced and mature, and solutions generally customizable.
That is to say up to a certain stage, once you become Amazon... you're best to have your own proprietary software.
Also, there is no point in investing in reinventing the wheel for day-to-day "commoditized" software unless doing so can unify and improve processes somehow, creating unique know-how or way of doing things allowing you to get an advantage over your competitors.
On the other hand, if you are a digitally native company focusing on disruption then you will most certainly need to create your own software for three reasons, firstly the uniqueness and level of customization, secondly the pace of development required, and thirdly an important part of company valuation when it comes to fundraising is the underlying company technology and IP which forms a valuable asset.
In terms of software development, it is not uncommon for startups to use 3rd parties to develop the initial MVP and once proved - and with access to funding - to then take it in house. It would be unusual for a growth stage/series A company not to own its IP and develop their software in-house
Generally speaking for most business types, in-house custom software is a very bad thing because it forces the new owner to also become a software developer rather than being able to focus on their primary business. If you can't call another company to deal with system issues, that means you ARE the company. If you build in-house software, that means there is no company who is responsible for that software to work properly so you are forced to do it.
Even if you give them the phone number to the person who programmed the software originally, what happens if that person doesn't answer the phone or gets hit by a bus?
If you have to hire other people to work on the software, they will be slower because they have to learn the system as they go, so it will probably double the cost and expense of any maintenance or customization work that needs to be done.
Software usually has to be upgraded and maintained every year with operating system or database patches and scripts constantly. Think about how many updates a simple Wordpress website needs every time you open the admin panel. We can click "update" ourselves because it's a personal website but if an entire business with employees and lots of revenue depends on that software to work correctly, it would be very dangerous for us to click that update button ourselves because when you update software, there is a high probably that the update will cause some sort of issue.
When it comes to business software, you want a specialist to perform any work on the system in case there is a problem because the cost of downtime is much higher than the cost of paying a specialist to perform the update.
I can think of tons of reasons why in-house software is bad but I can't think of any reasons why in-house software would actually be good.
I believe that it is a plus. While a commercial package may fit many of your business's needs, it is doubtful that it will have the same efficiency as custom software. By meeting your exact specifications, you can cover every aspect of your business without unnecessary extras. It gives you greater control, which is important if your business has specific needs that your average commercial product cannot fulfil.
You can read more here: https://www.business.org/software/apps/the-pros-and-cons-of-developing-your-own-software-versus-outsourcing/
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath
Really does depend on company design.
For example, take a mail system.
If you run an online company teaching people how to setup their own MTA to send mail... verses...
An online company which allows sending email through either an SMTP relay or API call endpoint...
These 2x companies do roughly the same.
1st company is worth near $0.
2nd company could be work $1,000,000s/month.
Tip: Hire a bunch of consultants for 1x hour each, providing them details about your company, asking for how they'd design the company for highest resale value.
Then mashup/combine/merge the best of all the ideas into your business design.
Tip: Always design a business backwards, starting with your Exit Strategy + all will be well.
IMO it depends, I have been on both sides and generally in-house software is a big plus if you are developing something which derives the company's business, instead of just an efficiency tool it also possibly generates a revenue stream. For a quality SW you will end up investing a lot of money but in long term, I can pay off. This is usually an easier decision for cash loaded organization that can absorb the risk. Now let's think about the other side , if there is not a huge competitive advantage and you are looking for parity, in most cases it makes sense to either outsource or buy existing SW. Hope this helps . Reach out to me at https://clarity.fm/jatinverma , happy to share my experiences on both sides.
As many have stated this really depends. Typically if the software is handling a standard business process, there is more value in having a commercial solution that is supported and managed by a large software company and standardizes your business process. If the software is directly related to the strategic value of the company and is unique, custom can be valuable especially if patents are involved. However it really depends, often in acquisitions we were buying customers and/or engineers and new we would eventually toss custom code. It’s important to understand what part of your company has value - customers, talents, IP (patents), etc.