Ask HN: What sucks about most enterprise software?

8 points by mindcrime ↗ HN
In pg's list of "Startup Ideas We Would Like To Fund" at http://ycombinator.com/ideas.html; he says

Enterprise software companies sell bad software for huge amounts of money.

I agree, but I'd love to hear your thoughts on exactly what things (most) enterprise software gets wrong (besides being too expensive). Is it lack of functionality? Too much functionality? Too bug-ridden and unstable? Bad user interface? Other?

Please do chime in with your thoughts.. or if you would like to point me in the direction of someone else would might have some insights, that would be appreciated as well. Private responses are fine if you have something to say that you don't want publicized. Contact info is in my profile.

I'm interested in doing stuff in that "#5 on that list" space, hence the question.

14 comments

[ 3.9 ms ] story [ 53.7 ms ] thread
Politics. The customers. Everything outside of product. Support packages, compatibility, can it be hosted on their own servers, does it integrate with Sharepoint etc etc etc.

Edit: Having just scanned PG's article, I think where he says: "They get away with it for a variety of reasons that link together to form a sort of protective wall." echoes my thinking. Or does my thinking echo his? Uhm, either way :)

Are you of the opinion that enterprise software (not the other stuff, just what you interact with on a computer) is generally of a high quality? Or, are you suggesting that the other stuff is so awful that mediocre software isn't even really a problem, due to how bad everything else is? (e.g., when you get hit with a baseball bat you forget how much your hangnail hurts).
I'm not of any opinion on quality of software, I just know the software is only one link of the chain that makes enterprise software enterprise software. The other elements I mentioned make up the "safety blanket".

I suppose in fewer words my point is: selling enterprise software isn't just about the software.

Gotcha. I wasn't sure if you were implicitly stating that the quality of E.S. isn't an issue, or if you were saying it how you clarified it. Thanks.
No problem. Apologies for not being clearer, its the culmination of way too many late nights and early starts.
I'll suggest that the other stuff causes enterprise software to be of low quality.

Not all enterprise software sucks, although much of it does. Often there are non-sucky options in the space, but they have less market share in no small part due to that other stuff. On the client side of things, if you can fix the politics you can generally fix the suck but that means as a supplier your success will be determined (in part) by how well you help the client address the politics and "other stuff". Sucky enterprise software exists (in part) because many suppliers have found that there is greater return on focusing resources on the other stuff than on focusing resources on improving the software.

Accurately and actively assisting actual workflows.

My issues with enterprise stuff is that it generally feels foreign to what I'm supposed to be doing. It's as if I have a task to accomplish, central to my job, and the enterprise software only serves as an unhelpful distraction.

I believe this is because the designers (devs/ux ppl/etc) see accomplishing the task in their software as the objective.

In short, it feels like it's been sketched out by a boss based on what they think my job ought to be.

From my point of view:

* Horrible usability and bad user interfaces. * Even worse design of the applications. * Integration with existing systems make the apps so huge that lots of bugs appear.

Oh and super poor management is also a big one

From my experience, the software:

* Has a lot of bugs, inconsistencies and crashes. (poor technical design) * Doesn't truly solve the problems it is marketed to. (inadequate research) * Is hard to adapt and extend for custom business processes. * In some cases adds additional work for people with very little benefit. (poor integration)

Some goals for good enterprise software:

* Observe what people are trying to accomplish with their workflows, design the software to save time. * Use modern software engineering practices, have UX designers, do automated testing, do automated crash reporting and updates, crashes are really frustrating to end-users * Make it easy for IT to maintain, these people are already busy and you don't want them to get a bad impression of your software because its complex or fragile, again save time

Fundamentally the problem is that people who choose (or spec) the software tend to be different from the people that use the software in a day to day basis.

The result is an emphasis on lists of marketable features over usability and workflow improvements.

there are a lot of finance and manufacturing programs that are written in cobol, rpg, etc. so the gui is nasty but then people have written windows, web clients on top of them. they are kludgey but complex programs.
Ok, when you say enterprise I specifically think SAP (as I've done way too much to be healthy) and Oracle Apps/Siebel/Peoplesoft etc. Just thought I'd clarify before I start.

The singular biggest problem with enterprise software is it's complexity. If your project is so big that you don't have a network diagram because the best you can do is a concept block diagram, your software failed. If it's because it uses dynamic routing and you can forecast information flows, your software failed. If it's because it takes a large amount of data, analyses it to generate more data, which is then fed back for further analysis and so on, then your software failed.

Because of the complexity when you start looking under the hood some really bad things start dropping out. I'm talking attack ships on fire off the shoulder of orion bad here. Tears in rain and suchlike. In other words, your way of dealing with the app from developing it's own consciousness and trying to take over the world is something stupid like a 4 year lifespan. Classic real world example I see time and time again: Thick client uses a hard coded database login to connect directly to a server, then compares user entered login and password against reference table stored in clear text. I've seen this twice in the past year alone, it's always enterprise (although once I saw it in a security product). Fail, fail, fail.

These two add to the third cardinal sin of enterprise software, they're built for particular types of process and never quite fit the business case or structure that acquired these technologies. A large charitable foundation we worked for went to buy SAP after being told they could customise it. In order to cut down costs said charitable foundation bought SAP, the tin and asked the consultancy to minimise customisation. What they got was an FI system for a software firm based in Astoria, Germany (seriously, they shipped with all the defaults and no custom profiles). This meant that they had to enter donations as sales of products.

All of this adds up to my final bugbear - price. It costs a fortune to buy the software, usually with horrible terms. It costs a fortune to buy the hardware, let alone maintain it (that is if you're allowed to maintain it), a fortune to tailor (badly) to your environment, usually involving insultants who know nothing about your actual business model/structure/processes/policies/people/etc and don't actually care a great deal about it and costs a fortune to fix when it inevitably goes wrong.

The only time I used enterprise software was during some SAP sessions in Uni. I honestly did not know what I was supposed to do and what I was doing. I remember our tutors being so frustrated at the whole process they ended up telling us click by click what we had to do to complete the tasks. So I'd say the biggest problem is poor usability as a result of excessive complexity.

If I may ask, what particular problem are you trying to solve?

If I may ask, what particular problem are you trying to solve?

Making enterprise software that doesn't suck. :-)

All joking aside, I've been involved in more than my share of big, complex enterprise projects, so I have my own ideas on what could be done better. But I thought it would be good to solicit some feedback from others, on what they consider the "pain points" to be, when it comes to the stuff that's widely available today.