Hacker News new | past | comments | ask | show | jobs | submit login

Enterprise software sucks.

We don't talk about it much here at hn, but think about it. Every man-made object you encounter every day was manufactured somewhere. And moved, more than once. Now add in all the sales, marketing, customer service, operations, accounting, finance, human resources, etc., etc., etc. needed to support that manufacturing and distribution. Next, add financial markets, healthcare, energy, entertainment, etc., etc., etc. and you have tons of stuff. But you don't see it and rarely think about it. Kinda like most of the iceberg being underwater.

And all of this needs software. And most of what they have sucks. I mean really sucks. Enterprise software is so bad that there are multi-billion dollar industries devoted to consulting on how to use it, how to share it, and how to store it in data warehouses and harvest it. It's so bad that lots of people have to dump the data out of their enterprise systems and into Microsoft Excel just to get anything done.

When Willie Sutton was asked why he robbed banks, he said because that's where the money is.

What banks were in the 1930's, enterprise IT is in the 21st century.

I can only second edw519's comment, and add a bit to it.

Building enterprise software is not only about building software, it's also about processes. Every company with more than a dozen employess has processes for dealing with just about everything. How information flows from A to B, who controls it, who can edit it, who can view it and who approves it.

This is primarily a strategic decision. Enterprise software has to accomodate processes and play by the rules, powergames and politics set forth by the firm it is used by. This is different than building B2C apps where the goal is more transparent. If you build dropbox the goal of the software is pretty obvious. If you build enterprise software there are a lot of stakeholders with diffferent agendas and priorities, and if you want to sell to them you need to accomodate all of them. So you need to knwo how firms operate behind the lines, and you definitely have to know how to sell to them. How good the software is is only one of many priorities.

This is a large portion of why enterprise software sucks - accommodating all those processes is a huge pain in the ass, it tends to scare off many of the people who think that software should be elegant, and it tends to result in overly-complicated, byzantine software from the rest.

There's a lot of money to be made for those willing to cut through the bullshit, but be aware that there's a lot of bullshit to cut through.

Absolutely. I think the hardest part would be defining requirements that nail the most important 90% of functionality. You would need strong mentorship from several experienced enterprise veterans to even stand a chance, though.

Another trend I noted after sitting in on a VC pitch: Look where people use Excel as some sort of database/process management system because an existing app isn't there or just sucks. That probably spells out opportunity. The world's most used database isn't Oracle or MySQL, it's Microsoft Excel...

I work in enterprise software, trying to improve it one company at a time, and the biggest niche I see for excel is bypassing existing security mechanisms or procedures. We tend to expose data to users in a secure manner based on roles or authorities. But once users can export the data into excel, all of those security mechanisms are bypassed and they can send the data to other people or take it home.

I've even seen instances where excel exports are used as disaster recovery mechanisms.

Excel is perhaps the single largest development tool used (mostly by people who don't think they are developing anything.)

I keep wondering what a next-generation replacement might look like?

Also look for places where small businesses use paper :) My fiance and I started a salon together and we started out using an appointment book and client rolodex to track their customers because the software all sucks.

Two months later, I built some software for it with some friends and now we're getting close to being able to launch it to the world :) Every day I walk by 2-3 barber shops and salons in NYC without computers or with old Windows 3.1-esque programs.

It seems like another major use for Excel is its ability to allow people type text in tables. That's using a big hammer for a rather small nail.

This fails in Word--it tries to make the table fit onto a printed page--about 6" across. It doesn't work very well in my [old] copy of Dreamweaver.

This is something I've noticed before, and I'm not the only one - it's number 22 on pg's list of "Startup Ideas We'd Like to Fund" from a couple of years back: http://ycombinator.com/ideas.html

Also, SharePoint "surveys" as quick&dirty data entry forms. Kind of a modern-day Microsoft-centric version of the venerable FormMail script.

And all of this needs software. And most of what they have sucks. I mean really sucks.

That's because Enterprise Software is actually an arbiter of controlling people through controlling workflow. It's solidified corporate politics!

Entrenched interests within a company don't want to optimize the company's bottom line. They want to optimize to further their own interests.

I once posted about a transatlantic E3 line that was going unused in my former company. The original project that was to use it disappeared. Afterwards, the VPs of different groups fought over it, ensuring no one would get it. The company paid $300k a year to keep that thing open for a long time.

The way to fix this is through highly granular free market economics. Let a company set standards and empower multiple groups to compete to those standards.

The way to fix this is through highly granular free market economics. Let a company set standards and empower multiple groups to compete to those standards.

This sounds good to hackers like us who work at small companies, but it's actually fairly dangerous for a big company to do this. One of the groups might risk the company (rather than just themselves) in order to make largish profits.

An extreme example of this: suppose AIG Financial Products is independent of AIG Boat Insurance. Then AIG Financial Products might make really risky bets which, if they go bad, could also take out AIG Boat Insurance and AIG Event Liability Insurance.

Actually, this is what happened with WaMu's financial wizards. They sunk the rest of the firm, including the awesome retail banking part.

Coase disagrees. Transactions get expensive.

I thought the Japanese achieved more granular capitalism through long term relationships. This lowers transaction costs while maintaining the pressure for suppliers to keep up their performance levels.

Enterprise software does suck, but not in the way that most people think it does.

Companies are willing to pay any price for a piece of software, but only if it meets their needs. As a result, products come out which are made to meet every possible need, which is sort of the opposite of what a good consumer product tries to do. The software sucks as a result.

My opinion is that it's not the software that sucks, insomuch as the process behind it which makes it suck.

Enterprise software sucks because corporations have little incentive to improve it and it's almost impossible for a startup to gain a foothold in terms of sales and adoption. There are so many smart hackers and the problems are so obvious...if they could have been solved with better software, it would have been done long ago.

If you try to make any kind of software that competes even tangentially with SAP, Oracle, etc...you lose. If someone at a big corporation hasn't already heard of your company, the odds of them using your software drop to almost nothing. Because no one has ever been fired for going with IBM. Because big companies are playing strategic games many levels up and don't care about day-to-day employee software usage. Because a startup with a silly name just seems silly, and people willing to fight for adoption from the inside are few and far between.

I'm staring to think that the real game isn't figuring out how to make enterprise software better, but to figuring out how to hack the system itself so that new ideas even have a chance.

And...and... MySql didn't get anywhere competing with Oralce or SAP dammnit!

So true. Also don't forget how many people actually major in information sytems in college. The whole industry is self perpetuated by overly complicated software. The more complicated the more they can milk their clients.. Such a waste.. Although I suppose in the current environment it's better to have these guys employed instead of looking for jobs.

Every single Information Systems graduate that I've met has made a horrible horrible mess of every piece of code they touch. I hate to stereotype, but when it's all you have to go off of, it's all you can do.

The capstone project for my class had a teacher that required we used Blackboard as a code repository system instead of me setting up Github or beanstalk. She also asked that we use stored procedures for MySQL, which no one was familiar with and would take way longer. The code was horrible, the design was ugly, and half the class was spent designing by committee. It was all for an app that should have taken a couple of weeks to build (it tracked absences for the school of business).

That's really amazing. What was her title? Was this supposed to be a programming professor? How can anybody who purports to be teaching the practicalities of software construction require you to use the wrong tool? Blackboard has terrible handling of file uploads... as of fairly recently two users couldn't two different files with the same name.

Heh, I had a CS Professor once refer to the command line as "a legacy technology that's still occasionally useful for testing." I didn't tell her that saying that at a hiring interview at my company would end the interview.

I've had more the opposite experience--- one CS professor used only a Unix command line without X installed, and his machine didn't have a mouse. Not sure which is worse.

i can relate to that .. not only did my professor use command line only, he required the finals (more like a paper) and the project reports typed up in LaTex + the presentations in .PS/PDF format .. No Word or Powerpoint

Isn't that actually a good thing? :)

In the same way that forcing people to code everything in assembler or C instead of Ruby or Python out of some religious ideology is a good thing.

Word produces acceptably formatted acceptably cross platform documents with low effort and a PDF export option for the last three years too.

Ha, I've renamed my degree in computer information systems to a degree in: How Not To Build Software.

Actually, you need to think of who's making the decisions to buy enterprise software. Is it the people who use it, or executives? In most cases, it's the latter. Most big enterprise companies are where they are because they've learned how to market to the right people.

So in that sense, most enterprise software is good. It just depends on whose definition of good you're going with.

For about 5 years my main activity has been building small/medium dedicated software for a handful of clients. I've done other startupish things, but this is what I've always come back to, mostly because it's a very very safe business. I don't think I've really lost a client yet.

So I've come to believe the solution to the enterprise problem will be bottom-up as much as top-down. One programmer (or a small team) who knows the client and the software can do things which would be science-fiction in a top-down approach, in terms of costs and delivery time.

The model has two problems though. First I have no idea how to find new clients - so far all have been through what can be best described as chance. Second, I'm not very sure what the right pricing is. My personal guess would be that a good software is worth for a company about as much as a small paycheck, and grow in about the same manner. But selling this, especially the growing part, has been difficult so far.

It's worth noting these are marketing problems - as far as the operational part goes, both me and the clients are happy with the arrangement.

Steve Jobs summed it up in his talk at D8. To approximately quote him from my memory - `Enterprise software is a very different beast; the people who use it don't get to make the decision (of buying/adopting the software) themselves, and the people who make these decisions are _confused_!`

A friend of mine suggested truly distributing companies. His theory is that if you can outsource payroll, then you should be able to outsource everything, everything, that is not core to your business.

In a sense that is what the App Store does. You build the software (your main skill) and you do not even need a website. You could take it further and pay another company x% of revenue and they take care of marketing, another will do your customer service for y% etc...

It's interesting that you bring this up. I was an econ undergrad, so it made me think of how this will change because of technology: http://en.wikipedia.org/wiki/Theory_of_the_firm

The problem with outsourcing everything , is that you gain somethings(speed , access to talent, sometimes cost savings) , but you loose the tighter integration that a single unified company has.

This integration leads to better information sharing on projects, more aligned incentives for people in the project, and at least in some cases can lead to better products.

Oh then if the X company can market it and take a share of the revenue, then that'll be fine for hackers who can build the enterprise software based on different perspective or a better idea.

Can you throw some more light on these marketing companies?

Most companies don't do this because it is too expensive to out source everything especially when you are just starting.

You could outsource on a revenue sharing model, this way both parties' interests are aligned.

The problem is the enterprise not the software.

Ed, do you feel this same principle applies to all business software, not just enterprise software (ie- large companies)?

Yes. The problems are different, but the source is the same: software that sucks.

(I probably should have entitled grandparent, "Enterprise/SMB software sucks" to be more precise.)

The market is small (compared to consumer stuff), margins have to be huge, only the biggest customers can afford to sponsor it, bloated development projects on a schedule end up ... sucking. Similar to development tools, come to think of it!

The market is small compared to consumer stuff? Not true.

Lets see, 360 million Americans, a good number use Excel spreadsheets. How many businesses in America that can be called Enterprise? Maybe 9000.

I agree totally, completely. The best things about this segment is that the market is already there. The worst thing about this segment is that entreched players and market conditions make it hard to sell from company to company.

Is the solution better software or smarter managers? I mean, you know that enterprise software sucks, but do the people who pay for it know that it sucks? How would you tackle that problem?

The manager often isn't savvy enough to discern whether the software itself sucks. You may be able to blame a lot of lousy business processes on enterprise software, but a willingness to move forward without fixing major known problems can also be very harmful. Everyone may agree that the process needs improvement, but too often that process gets baked into a new process or software application. When that happens, chances are things will continue to suck for a very long time.

What your thought on new companies like yammer.com and socialcast.com ?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact