• On CHOW: How to avoid dirty looks at cafes
February 23, 2009 7:07 AM PST

Why enterprise software is so shockingly bad

by Matt Asay
  • Font size
  • Print
  • 21 comments

For the past few years, we've talked about the "consumerization of IT," which was a polite way of saying, "Enterprise software stinks and should be made easier to use."

I've rarely seen as concise an explanation of why enterprise software is so bad as this one by Michael Nygard on his Wide Awake Developers blog.

Nygard points to a troubling intermediation between the users of software and developers of software, offering four ways in which this is expressed:

  1. "They serve their corporate overlords, not their users." This is one of the problems I have with IBM software: it seems to be written for the CIO, not the people that actually work at the CIO's company. In other words, powerful central administration with end-user ease of use is forgotten. (Not that IBM is alone in this--it's just that I'm having flashbacks right now to when I was forced to use Lotus Notes.)
  2. "They only do gray-suited, stolidly conservative things." Simply put, enterprises too often get stuck in the mind-set that they employ a bunch of drones whose work consists of filling out expense reports. The real work is the creative interaction between employees, but it's the consumer Internet that has been tackling this problem, even though enterprise IT could most benefit from it.
  3. "They have captive audiences." Nygard doesn't offer much explanation here, but I take it to mean that enterprise software developers can get away with foisting lame software on the world because the competitive bar is so low. "Our piece-of-junk ERP system is not quite as junky as our competition's" seems to be the winning argument.
  4. "They lack 'give-a-xxxxness' ". Nygard identifies this as the most important characteristic: the love a developer has for her software and its application, and thus the time she spends making it sing. This hearkens back to the previous principles, however, in that it captures the apathy enterprise software developers may have for their products because they're writing for CIOs and cash, not users and public plaudits.

If this rings a bell, then what are we to do about it? I don't know. So long as the first order of business is security and administration, often taken to wacky extremes, rather than creativity and user-friendliness, it's unclear how anything will change.

Perhaps this is a generational shift. Just as President Obama chafed at having his BlackBerry pulled, perhaps we're entering an age where a new crop of CIOs will arise that demand that ease of use be as important as security, for example. It's not a matter of scrapping the "enterprise" in "enterprise software," but rather of shifting the argument to insist on considering enterprises as agglomerations of people, not droids.

And perhaps, just perhaps, open source can make things better by blurring the lines between developer and vendor, and developer and user. We can hope.


Follow me on Twitter at mjasay.

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can follow Matt on Twitter @mjasay.
Recent posts from The Open Road
Newsflash for GE, you're already using 'risky' open source
Why Microsoft should open-source Internet Explorer
Eclipse tells ex-community director to 'go away'
Open source: No vow of poverty (or get-rich-quick scheme)
Twitter needs a pretty face to beat Facebook
Handbrake 0.9.4: Your best deal on Black Friday
At its best, is open source unbeatable?
Your new software vendor? Domino's Pizza
Add a Comment (Log in or register) (21 Comments)
  • prev
  • 1
  • next
by February 23, 2009 7:37 AM PST
I have worked at a few companies writing ?enterprise software?, I think the main problem is that the person that decided to buy/pay for the software is not the person that has to use it on a day-to-day basis.

I am sad to say that the effort/skill of the sales force often has more to do with the number of sales then the ease of use of the software.

Most ?enterprise software? is very complex because each customer (enterprise) expects the software to work the way they work, so the software must have a 101 configuration settings for each function to keep the enterprises happy. Very quickly you get to the stage that on one person can understand the complete system.
Reply to this comment
by rapier1 February 23, 2009 8:38 AM PST
This is entirely true. The big disconnect in enterprise software usually comes from the fact that the engineers aren't working with people who have specific usage knowledge. For example, there is a lot of medical software out there where medical professionals had little to nothing to do with the development - yet they are the target audience. So the engineers have to make poorly based guesses as to how a health care professional would actually engage in a specific task. More often then not they are entirely wrong.

As for the pressure form the sales team - this is another serious drag - too often sales people run back to the developers and say "this potential client says they'd be all over this if it only did these three things that are completely at odds with the underlying premise of the application. I told them you'd have it done next week. That's cool right?"
by Penguinisto February 23, 2009 9:00 AM PST
Yep yep.

The only caveat I would pitch up is that it would be impossible to cover all the different custom needs of various industries. Health Care is not Steel Manufacturing, nor is Automotive Sales anything like Aerospace Engineering.

OTOH, instead of all the complexity, why not make it simpler? Much of what Matt is talking about includes things like 'tribal knowledge', basic communications tools, and things that do have universal usage. Any decent CMS can handle these things.

It's not like it would be impossible to build something useful - you take a core of common tools (wiki, calendaring/PM , file storage, etc), and build plugins that appeal to industry niches and/or specific needs. Sort of like how TikiWiki, MediaWiki, TWiki, vBulletin and the like are built today, but with a more business-oriented approach.

The trick is to keep it open and cross-platform, using standard/open protocols as your primary guideline when constructing it.

(I would say SharePoint, but as mentioned, I want to keep things cross-platform without any OS/app-suite lock-in. This way you can maximize your flexibility in-house).
by grrroovy February 23, 2009 8:09 AM PST
I blame Microsoft!

Seriously, I think a lot of the lack of ease-of-use issues exist because enterprise developers were simply never exposed to good software design on the Windows platform. So, many times they just replicate the bad design and interactions that are inherent in the Windows operating system without giving it a second thought... after all, that's how computers work, they think.
Reply to this comment
by Penguinisto February 23, 2009 10:35 AM PST
It can't be just MSFT (though I don't discount the attitude they do hold and have fostered about such things...)

I can say this because there is a similar dynamic that makes 3D/CG software a raging PITA... when it comes to software design and/or specification, you have to know your target audience. It's all well and good if your product is technically superior , or has more controls and subtleties than Darth Vader's bathroom. OTOH, if the end-users find it clunky, unusable or frustrating, then your product is going to suffer regardless.

Case in point: Blender is a kick-arse 3d modeling environment that costs nothing, yet rivals 3DS Max and Maya in the things that a skilled user can do with it. OTOH, the interface is maddening, frustrating, and has a learning curve with the approximate angle of a brick wall.
by trescrepu February 23, 2009 8:28 AM PST
Sales is driven by working functionality regardless of how easy it's done.
Reply to this comment
by lukepuplett February 23, 2009 8:40 AM PST
There are many reasons for enterprise software being so bad but surely an important factor is ROI, and can be linked to the reasons above.

Useability and interface design takes experts - hence why we now have MS Expression and MS Visual Studio and Adobe have a similar product setup - and experts equals money.

The people in charge of governance in corporates cannot easily measure the ROI for working twice as long on the transparent fade out effect of a section of a screen. If they are not selling the product, then as long as it performs is basic function with minimal directly costly bugs (accounting maths etc.) it will suffice. And when you do get a frustrated creative trying to work on these features, they're soon slapped on the wrist.

To keep costs down, corporates follow Test Driven Development which is the art of doing just enough to tick a box and nothing more.

Enterprise developers don't have a portfolio to show off either.

After a few years, any creativity dies, like how the naturally gifted high-school fashion designer loses it after a decade in banking. So they unlearn and then recycle as the corporates employ only people with enterprise experience.

I guess this is why corporates pay so well.

As a side note, blaming it on Microsoft is a typical response from the low IQ brigade that seem to be ruining the web. Its like blaming the English for a really bad movie because, afterall, they made the language the script was written in.
Reply to this comment
by curph February 23, 2009 8:49 AM PST
I think its because most enterprise software is under the control of the CFO. They aren't into innovation. They want control, control, and more control. Its why massive systems from a single vendor have all but replaced best of breed applications.
Reply to this comment
by Mr. Dee February 23, 2009 9:15 AM PST
Microsoft makes the best Enterprise software, from Desktop to Server. Setting up Active Directory is a cinch and deploying Exchange is 45 mins of bliss. Using Word 2007 and Outlook 2007 is a dream. Microsoft has it right and Vista just makes us all more happy.
Reply to this comment
by purpleLightning February 23, 2009 9:32 AM PST
I think this is missing an important component or not breaking it out properly. Much of enterprise software development is dictated by a deadline declared up front by the client, whether that's a "corporate overlord" type or some low-level workgroup. This creates a situation where the ideal deployment spec for a piece of software is shaped, twisted and whittled down to conform to the deadline as much as possible. Expedience overrules thoughtfulness and thoroughness. Software development outside of the enterprise doesn't generally have to worry about specific deadlines as expressly declared by the client and can more often adopt a more flexible schedule that can more readily balance innovative and thoughtful design against timely delivery.

Compounded with that is the fact that most medium to large enterprises now require extensive CYA documentation for any software development effort and you further limit already limited time to provide exceptional software design beyond simply fulfilling the letter of the spec.
Reply to this comment
by OneEyedSnake February 23, 2009 9:34 AM PST
I guess you guys haven't seen Dynamics NAV... :)
Reply to this comment
by scottlewis101 February 23, 2009 9:43 AM PST
CNet, why do you give a zealot a soapbox to shill his wares? All commercial software is bad? Really? Defend your blanket statement. You didn't even try this time.
Reply to this comment
by odubtaig February 23, 2009 11:59 AM PST
Enterprise, not commercial.

Next time, at least read the article title before commenting.
by Kas_Thomas February 23, 2009 10:05 AM PST
This is somewhat like asking why MCDonalds makes unspectacular food. There are two aspects to consider: the customer aspect, and the producer aspect. Customers get what they settle for; that's one problem. If you don't demand quality, you don't get quality. The other aspect of the problem is that it's hard to make good software. It's hard in terms of talent, time, effort, etc., and the bottom line is, "hard" translates to expensive. Making something as good as it can be takes extra effort. It costs something. And it by no means guarantees extra sales. Vendors try to lower (not raise) costs, hence there's a pretty good incentive built in for making things "good enough."

Most things in this life are "good enough" -- and no better. (Have you noticed?) The most successful restaurant in the world, McDonalds (the IBM of food), produces food that few would call gourmet. And yet they're the industry leader.

Another thing to bear in mind is that you don't make many friends when you call point out that something is crap. And yet, I'm a believer in calling crap crap. That's why I do what I do for a living (analyst at CMS Watch). But it still gets me in trouble.

And enterprise software is still (largely) crap.
Reply to this comment
by keybel February 23, 2009 11:19 AM PST
Coming from an ERP software salesman, which I am, and a power user which I was, I think it is more than just software. It is the people you buy it from, the vision of the company and the people at the company who make software easier to use. In the SME market, which I am in, our consultants get a chance to deal with the people how have to manage the day to day operation, in larger organizations you have to deal with people who are the bosses of the people who do the work.

Then there is the vendor, if they are software salesman and don't understand your business they can't help you much. Qualified or lack there of vendors are often the culprits.

There are 1000's of packages out there each one has its strengths and weaknesses, no one package is perfect for anybody. Picking the right one is half the battle. If you have picked one that can be customized, save some of the budget for streamlining process, it will be money well spent.
Reply to this comment
by SteveW928 February 23, 2009 6:50 PM PST
I think it is even more fundamentally simple than this....

1) Little competition because once some big company gets talked into such an app, other companies just follow because some big company uses it. (And we all know how smart big companies are.... right?)

2) (kind of in the article points) The apps aren't designed for users but for IT departments. I can't tell the number of times the IT departments in big companies make decisions based on what is best for themselves, not the 'customer' which is the user, or what is overall best for the company.
Reply to this comment
by SteveW928 February 23, 2009 6:51 PM PST
I think it is even more fundamentally simple than this....

1) Little competition because once some big company gets talked into such an app, other companies just follow because some big company uses it. (And we all know how smart big companies are.... right?)

2) (kind of in the article points) The apps aren't designed for users but for IT departments. I can't tell the number of times the IT departments in big companies make decisions based on what is best for themselves, not the 'customer' which is the user, or what is overall best for the company.
Reply to this comment
by SteveW928 February 24, 2009 4:42 PM PST
sorry about the duplicates.... none of these showed up for about a day....
by SteveW928 February 23, 2009 6:56 PM PST
I think it is even more fundamentally simple than this....

1) Little competition because once some big company gets talked into such an app, other companies just follow because some big company uses it. (And we all know how smart big companies are.... right?)

2) (kind of in the article points) The apps aren't designed for users but for IT departments. I can't tell the number of times the IT departments in big companies make decisions based on what is best for themselves, not the 'customer' which is the user, or what is overall best for the company.
Reply to this comment
by SmpCtryPhys February 24, 2009 6:07 AM PST
Eloquent, as always. I should only add, based on my experience with Yankee government software programs of this ilk is that when one writes to the executive and ignores the worker than the old adage that no chain is stronger than its weakest link comes into play. The weakest link is the least interested worker who doesn't verify their entry. Many of these programs, at least in the YG, are little more than giant databases dependent on people doing real work inputting their numbers. When the software is not only not intellectually compelling but emotionally offputting, slow and unfriendly, then the entered data is specious at the best of times and missing whenever the omission will not be penalized. Invariably political appointees who have no comprehension of either any humanness of their workerate or of sound management principles abandon old, failed software project after five years of dismal deterioration and launch new projects whose only difference is new rhetoric of its projected but nonetheless fictional efficacy.
Reply to this comment
by daftkey February 24, 2009 12:21 PM PST
Nygard's explanation, while concise, is pretty typical of a programmer. Like most programmers, he has an idea what the perfect world would be like, laments that he doesn't live in the perfect world, and then blames the people who tell him how to do his job for the fact that the perfect world doesn't exist. As such, he, and you, miss the obvious:

The reason enterprise software is "so shockingly bad" is because, more than any other type of software, it has to be built with constant compromise:

1) Buy vs Build compromise:
- You can have an out-of-the-box solution that serves 50% of the business exactly. For another 30%, you handle that through process and security, the last 20% of the business requires a customization or two, but they work. For this compromise, you get relatively low implementation risk, and usually a fairly robust system, but it often feels like shoehorning the data sometimes to the users.
- You can have a mainly custom-built system that fits with the business really well, and it can be a dream for users to run, but you tend to sacrifice scalability, and you take on enormous risk.

2) Security compromise:
- You can have a system that's wide open for users to enter data without too many dialogs getting in the way or too many windows, or too many fields locked out, but then you run into a number of problems, the least of which is Garbage-in-garbage out. For a small organization, this isn't so bad, for a large organization it can be disastrous.
- You can lock down the system so it's a pain for users to use, unless they correctly dot their i's and cross their t's. It will slow them down, but the data in the system will be reliable.

3) Legal compromise
- Your software can have the proper checks-and-balances and separation of duties, can require a process for correcting mistakes so that an audit-trail is created, and can force data entry transactions to properly conform to accounting standards. For this, your business gets to become publicly traded OR
- You can have the software work exceedingly easy, make mistakes as easy to delete as deleting a paragraph in a word document, and you can let your payables clerk create vendors, enter transactions, and print cheques very easily, but have to endure a hugh fraud risk (and not be allowed to trade on the stock market).


- Decisions of which scenario to go by, what needs to be customized, how security is handled, and what processes to manage all need to come from somewhere. Yes, this will be the CFO and the CIO who, hopefully, have a fairly rounded idea of the requirements ofthe entire company. That's their job. The success of the resulting system reflects the quality of these decisions.

It's easy to blame the software and the vendor - I agree that "captive audiences" and "lack of competition" lead to stale software design - but in most cases, enterprise software sucks mainly because the people implementing the software had to make some compromises to make it fit - more of that blame rests just on "enterprise" itself.

Case in point - your use of Lotus Notes was a nightmare. My use of Lotus Notes is a dream - in fact Lotus Notes alone is the reason my company was able to survive a massive disaster without any downtime (the loss of all our servers in a flood). In both your bad case and my good case, it was most likely the team implementing the software that made all the difference, and not anything to do with the software itself.
Reply to this comment
(21 Comments)
  • prev
  • 1
  • next
advertisement

Inside the Apple, er, Microsoft Store

Although Redmond's foray into retail bears a big resemblance to Apple's approach, Microsoft has added some distinctive features to draw casual PC buyers and techies alike.

Big marketing budget drives Moto Droid sales

Verizon and Motorola are spending big bucks--$100 million--on marketing the new smartphone, and it looks like it will pay off with 1 million devices sold by year's end.

advertisement

About The Open Road

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to the Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is general manager of the Americas division and vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.

Add this feed to your online news reader

The Open Road topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right