6 ms·
Enterprise software sucks because it is a hard, extremely complex problem space. Enterprise software is hard in the same way that it is hard to create and main
by auferstehung 19y ago
Enterprise software sucks because it is a hard, extremely complex problem space. Enterprise software is hard in the same way that it is hard to create and maintain an effective and useful quality system. Each individual (successful) business is uniquely organized and operates in a manner peculiar to itself. The unique qualities of a business is what gives it a competitive advantage. A successful businees is not going to adapt its business practices to some generalized, abstracted ERP system. To do so would risk the loss of its competitive advantage. All the ERP systems I have seen suck at the ability to be easily adapted to the unique and peculiar qualities of a specific business. Many businesses spend a lot of money on services or consultants in attempts to adapt general ERP systems to their business without much success.
I wonder if this dissonance between what businesses want from an ERP system and the capabilites of ERP systems is due to programmers desire to elegantly abstract and generalize software. Businesses want ERP software to be specific to their business. Motorola, Nokia, GE, Sam's Muffler Shop do not want to be generalized into MyAbstractBusinessClass.
- jkush 19y ago>Enterprise software sucks because it is a hard, extremely complex problem space. I couldn't disagree more. I don't know how many enterprise systems I've worked on that are unnecessarily complex.
- DanielBMarkham 19y agoSolving multiple, overlapping problems for thousands of users all over the world is non-trivial. Pick any solution space, and I can give you a dozen things you haven't thought about. 95% of them aren't important to one or another subset of users, and probably actually get in the way of their work. The problem is that the 95% of feature bloat isn't the same for all the users! The trick is not to deny complexity or embrace it. The trick is to make rational compromises. Start with something simple and add just enough bells and whistles to get most of what's needed done. But that's a much more painful and difficult process than just buying some big product off the shelf.
- jkush 19y agoGreat points. What I mean by unnecessarily complex is: I've seen to many enterprise systems that are simply electronic versions of manual processes. The problems that enterprise software system really try to solve are masked by trying to genericize them for every situation and everyone. It still comes down to solving one specific problem and solving it well.
- DanielBMarkham 19y agoWe are very close to agreement. There's hard work in picking the best and most competitive business processes, and it's going to be different for every organization. That's why "project management software" isn't the same as "software to help us plan and control building and deploying industrial power transformers in a union environment where we have high governmental reporting obligations" or some such. Companies either want to sell generic products with feature bloat all over the place, or home-grown shops try to take fragile systems and glue them together with more and more code. Either way you end up with a lot more complexity than the organization needs. But it still might not be a simple answer. And nobody wants to do the work of figuring out what the minimum amount of complexity is for each situation. (Even though there's probably more money in that than anything else)