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.
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.
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.
I've even seen instances where excel exports are used as disaster recovery mechanisms.
I keep wondering what a next-generation replacement might look like?
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.
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.
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.
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.
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.
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.
Word produces acceptably formatted acceptably cross platform documents with low effort and a PDF export option for the last three years too.
So in that sense, most enterprise software is good. It just depends on whose definition of good you're going with.
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.
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...
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.
Can you throw some more light on these marketing companies?
(I probably should have entitled grandparent, "Enterprise/SMB software sucks" to be more precise.)