the problem is not everyone can afford a IT dept with software programmers that can build out custom software.
If IT is not their core most companies seek out software that is already out there with somewhat decent reputation.
edit: at one of my previous job, they have a in-house software that was build with older technology that needs to rebuild. they outsourced it to Capgemini. it started when i join the company and by the time that i was out (4 yrs). they still didn't get it covert. they kick out Capgemini around two years in and hand it to another consulting company and the new consulting company junk out Capgemini's code and start from scratch.
i'll like to know more details on how they botched this project, it always make me curious how they botch it up for 4 years and two million wasted.
Agreed, though isn't this often just a problem at a strategic level? C-level doesn't understand digital transformation, so there is no strategy and no budget, or they think they can just buy it with platforms like Salesforce.
Having custom software built is only getting cheaper because our development tools are getting more and more powerful and managed cloud infrastructure is extremely compelling due to removing most of the ops from devops and being cheap at the same time, so costs could hardly be an argument anymore, right?
But yeah, there's always the risk of hiring a firm that has a quality problem, or uses terrible tools to build software in the first place (which is what I was referring to with the joke in my first comment in this thread).
Enterprise software is a minefield, how can we fix that? :)
Then throw in all the regulatory and compliance stuff that businesses need to trust storing their data with you. Add EU regulations and you will end up building data centers in different parts of the world. Then you will want to spin up training to use your custom DSP. And localization packs. Then you will need APIs to pull data in and out as customers will fear lock-in and they'll want you to integrate nicely with some other service. Then you have to figure out how those APIs work with your metalanguage. Then other customers will demand the ability to reskin everything with their corporate logos, custom login screens, support for SMS and two factor auth, support for third party identity providers, scripts to enroll/unenroll users, admins will want scripting platforms to manage all the complexity created by adding the other features, Etc.