Sure, but I mean something that can actually fit in with the rest of the systems running a decent sized org. On the surface a CRM seems trivial to make, a pretty simple db schema with a pretty simple UI. But, I haven't done it.
Excel and Access are (/were) relatively interoperable with other things, which is why they were historically popular for these tasks.
But the more you want to integrate with, the more complicated it becomes. The big advantage to off the shelf CRMs is that they often have many integration options readily available.
What i wonder about with roll your own, is the more you roll your own, the more you can build a single system around a single db with a coherent schema for the entire/most of the business.
DIY an ERP? It's possible... but it would take a very special kind of organization to pull that off successfully. It would need to be an organization with a particularly high ratio of engineering talent to business complexity.
It typically takes over a year and more than 1 million dollars just to implement a commercial ERP system for a large organization. Starting from scratch would be quite the endeavor.
ERP + everything else that would would call "business application software". Like, you wouldn't recreate twilio, or stripe, or build you own database or data warehouse or anything.
Seems like it could be done if it were done from the start.
Seems like a lot of the issues are understanding a good db schema. Screw that up and you are in all kinds of trouble.
Yeah, I think doing it from the start is the best chance for it to work. Otherwise it's a significant manpower issue to implement all of the accumulated business processes within a reasonable period of time.
I've built a couple of systems that manage the majority of custom business processes for some small/medium organizations over my career -- but when it comes to processes that are fairly standard, e.g. accounting, it's a lot less pain in the short term just to just buy something off the shelf. Although for truly unique processes, it is nice when custom software does exactly what is needed. But most businesses aren't very unique.
I think the reason most organizations don't do this is that most businesses aren't business software engineering businesses, and the little precious labor that a small growing business is able to hire is better allocated to a profit center.
> Seems like a lot of the issues are understanding a good db schema. Screw that up and you are in all kinds of trouble.
This is much easier said than done. On more than a couple of occasions, I've seen technically well designed databases steamrolled by organic growth in business. Processes change, legal requirements change, customers change, the business changes, etc. Then you're left with a well-designed database that solves the wrong problems.
It's all possible -- businesses build custom software all the time. But there's a reason off-the-shelf software sells.