Khoi, who’s consistently one of the best writers on the web, recently took a swipe at enterprise software. Who can blame him? We agree.
If you work at a big company and you’ve ever had to do something that should be simple, like file an expense report, make changes to your salary withholdings — or, heck, if you’ve ever tried to apply for a job at a big company — then you’ve probably encountered these confounding user experiences. And you probably cursed out loud.
Then he opines:
I have to wonder: what is it about the world of enterprise software that routinely produces such inelegant user experiences?
My take: The Buyers Aren’t the Users
The people who buy enterprise software aren’t the people who use enterprise software. That’s where the disconnect begins. And it pulls and pulls and pulls until the user experience is split from the buying experience so severely that the software vendors are building for the buyers, not the users. The experience takes a back seat to the feature list, future promises, and buzz words.
This is one of the reasons we think enterprise is a dirty word. It’s also why it’s an absolute pleasure to design products for what we call the Fortune 5,000,000.
The Fortune 5,000,000 are the the small businesses, the side-businessess, the freelancers. The people who buy our products are the people who use our products. If they don’t get value on both the financial side and the productivity side they don’t stick around.
We have to make the money happy and the people happy. In our market they’re the same person. In the enterprise market they are often different people in different departments in different buildings who sit at different lunch tables.
In the world of small business software the product — not the salesperson — does the talking. There’s no camouflaging value when the buyer is the user.
clifyt
on 24 Oct 07It sucks because it has to take into account thousands of peoples lives and without it, you would be adding complexity upon complexity to the problem with inopporablity and duplication of efforts.
For instance, I can schedule meetings with about 10k worth of employees pretty simply through Outlook/Exchange. Does it do everything I need? No…and I resent the fact that I have to keep a PC stuck in a cage that I can remote into so that I can get to a fully functional account as there is no decent OS X client that can connect. But for 99% of the people here, it is perfect.
In a smaller environment, non-enterprise ready software is just fine. I use a plethera of tools to keep my own area alive, and then turn to the big guys when I need to deal with the rest of the enterprise. For instance, I use to use M$ Project…tried Basecamp for a while (didn’t do what I needed and no one wanted to put the features in that I did) and then learned to live with iGTD and sharing the data files with my people (which ironically does less than Basecamp, but it was free and because of this one lack of limitation, I was able to find a workflow that worked for me within it). I’ve never seen an enterprise where task-specific and unit-specific tools were not only tolerated but encouraged…
But all in all, enterprise level software doesn’t ‘suck’...it just doesn’t do what you want it to, while enabling the folks that have to keep the outter edges of large environments to work together…
Absconditus
on 24 Oct 07We are forced to use Siebel Call Center at work and it is one of the worst pieces of software I have ever used. Of course our executives don’t have to use it and they are the ones that made the purchase decision.
Steve Brewer
on 24 Oct 07Well said – it’s driven by features and functionality, not by use cases. Check boxes instead of real value.
Also, a lot of times it sucks because big business sucks – given a ton of shit-brained, we-don’t-trust-our-employees, ivory-tower-decision-making requirements – you get crappy software out.
Peripatetic
on 24 Oct 07I completely agree with the “buyers aren’t users” cause. They are also not spending their own money, which makes most enterprise software overpriced as well. You would see an amazing transformation of enterprise software if you tied the annual bonus of the buyer to the level of user satisfaction of the software. Will never happen, of course.
TheD
on 24 Oct 07I have a fulltime non-development job. We use a few “enterprise” products like Cognos (BI) & ServiceCenter (helpdesk) and using those products is a frustrating experience. Many times simple actions that need to be applied to many items at once have to be done individually, with no way to easily batch or do them in bulk. I’ve had experiences where adding a new report that spans business units requires me to click the mouse over 500 times.
So I agree—when I hear “enterprise”, I hear “horribly expensive piece of *&%$! software”.
JF
on 24 Oct 07Before anyone asks… No not all enterprise software sucks. But most I’ve seen/used, most I’ve been hired to redesign (back in our client-work days), most I’ve heard first-hand accounts of, and most I’ve read about ends up delivering a sucky experience most of the time.
Sean
on 24 Oct 07Lotus Notes is awful in countless ways. IBM must have the most talented sales people ever.
Micheal
on 24 Oct 07It’s not an issue of who buys enterprise software for a firm. It’s the mindset that enterprise software is purchase/sold based on its features and functionality – and not the GUI.
Rarely do you find enterprise software companies providing a live demo of their product. As a result, the buyer is never given the opportunity to see the product prior to purchase – so the buyer purchases based on what features and functionality the product is said to exist.
This causes huge customer disappointments once purchased since the customers expectations of the GUI are never set.
Joe Fusco
on 24 Oct 07Here’s one for you:
I’m an executive in a really big company who’s so ticked at our enterprise tools that I go consistently outside the system to folks like 37signals (Basecamp, etc.) in order to get things done quickly, easily and cost-effectively (OK, OK…cheaply!)
Emma
on 24 Oct 07I should’ve listened to my friends when I told them of the software that I’d be using in my new job. “Wow, that’s a laundry list of things I’d quit my job over”, said one dev friend.
Being in a huge company has it’s benefits (very good pay), but I’m stuck with being forced to use: - Lotus Notes No further comment. The worst software ever installed on any PC.
- Documentum Web Publisher Java-based, utterly contrived, crashy PoS pseudo-CMS. “pseudo”, cos it started off as a document management system, to which the company went “heeeey… this web stuff is taking off!”, and bolted a CMS onto it. The results aren’t nice.
- Internet Explorer 7 Better than 6, but I had to fight the brain-dead IT department tooth and nail to get them to install Firefox. “For testing purposes only, y’know?”, I lied.
When it comes to “Enterprise software”... it’s down, not across, right?
Emma
on 24 Oct 07Also, a good site for the worst of the worst, as voted by the people who actually have to use it:
http://dreckstool.de/hitlist.do
In german, so a bit euro-centric, but still funny. Just look at the number of votes for Lotus Notes!
Justin
on 24 Oct 07Enterprise software sucks because the people who pay for it don’t want to admit that it sucks and complain about things that are broken.
I use a web app for logging time. If you close the browser window without saving your work, it gives you a nasty message saying you should save your work and then log off the app. That you shouldn’t just close the window. However, rather than giving you the option to go back without closing the browser window, it just closes the window. I mentioned this to my boss and he said that’s just how it works and they warned us. WTF?! Why not ask them to fix it?
The app goes through the trouble of warning you, but doesn’t let you change the decision you made by mistake.
Jack
on 24 Oct 07This is a good post. I used to (sadly) work at Oracle and I definitely agree about the disconnect between the buyers and the users.
I think there are a couple of other factors:
1) large companies are often scared of trend-setting, particularly for internal stuff like their IT software, so they choose to go with the “safe” vendors, who therefore have no incentive to work hard to optimize the user’s experience
2) every large company thinks that all of their little idiosyncrasies are hard requirements, so they demand solutions for every corner case. This makes the “software” bloated and unusable with a lot of expensive customization. It also takes the engineering teams away from the task of making the software good.
Jason Pontius
on 24 Oct 07A lot of the companies we compete with for .edu site design/development sell huge enterprise content management systems that are supposed to solve every problem you’ve got, from news to calendaring to (cough) blogs and social networking— under the assumption, probably correct, that CMS’s are often chosen IT-style on the basis of which feature set is the largest.
The unlucky people saddled with such systems invariably wind up only taking advantage of a small percentage of available features, and having to navigate an interface filled with buttons, tabs and options they’ll never use.
What happens in the end is people fear systems that aren’t enterprise-sized, and they learn to hate software in general.
John
on 24 Oct 07Just had a new Oracle expenses system deployed at our place. It sits on top of a widely-hated HR system. Quite possibly the worst UI I have ever experience. That this sits on the most people-sensitive area of the organisational structure is beyond me. We’re also forced to use Lotus Notes for email and Sametime for IM, I dread to think of the time-and-motion effects of using such in-efficient systems.
Jake
on 24 Oct 07Preach it Khoi! The biggest offender I have worked with is Business Objects. If the user experience wasn’t so convoluted they would lose millions of dollars in expensive training contracts.
Ben Poole
on 24 Oct 07It’s not necessarily the core software at fault. In my experience, a lot of these huge platforms and systems work OK, but they’re customisable, which then leads to corporates twisting the software into something it isn’t—thus producing a miserable user experience for everyone!
It’s interesting to read the software that gets picked on in this thread. I tend to concur over Siebel / SAP / Documentum systems, but there’s an irony for me in the mention of Lotus Notes & Domino. I’ve seen this software frequently used to produce simple applications that actually work, and as a counter to the monolithic expensive software used elsewhere in the enterprise! (For end users simply after email though, I readily admit it ain’t pretty).
My biggest peeve is around content management systems. I’ve assessed a number of “enterprise-ready” web CMS and they were all horrible. Given the maturity of this market, I’m amazed at how fugly some of these systems are.
Fred Lee
on 24 Oct 07Enterprise software sucks because it is not opinionated.
I am sure that at some point, in the beginning, Documentum was meant to be something fairly simple, and it was meant to do those things really well.
But, now, look at this product page: http://software.emc.com/products/product_family/documentum_family.htm
It’s just trying to do everything. It’s just not possible to do any of those things well. And, anyone who purchases it, thinking that it can, is getting overpaid to be a pseudo-CTO.
I do not believe that we (the agile, hopefully, Rails community) can really ever penetrate the thick craziness that is enterprise software. It really needs to happen the other way around. They need to come to us.
We just keep being awesome. They come to us.
Andrew
on 24 Oct 07Anyone who’s ever tried to use WebCT and/or Blackboard (Courseware Management) knows that the problem isn’t just relegated to enterprise software. But the point stands – the administration and ‘techies’ aren’t the students & profs.
Jim Gaynor
on 24 Oct 07Yes, exactly.
A variant of this argument has been made to explain some of the essential differences between Microsoft and Apple: MS generally designs/builds/markets to CEOS and purchasing committees, Apple designs/builds/markets to product users.
I’ve seen it at my day job where we use Remedy for incident tracking. It was implemented in a manner that painfully reflects the priorities of management (getting reports on what those tech people are doing) rather than of the users (quick and easy entry of incidents to promote use, and quick search to improve usefulness).
I saw it back in a .edu job – where I fought (and fortunately won) to get a re-branded College of Engineering site done with as much semantic layout as reasonable and managed with Moveable Type (friendly to people managing the content, did what was needed and not more). That opposed to gawd-awful FrontPage HTML with a Windows-based CMS that looked really nice in a checklist.
Nate Klaiber
on 24 Oct 07From my experience it is definitely because they sell something to a CEO/President/etc – not because they have quality software. I have watched a business eat hundreds of thousands of dollars on horrendous software. I constantly asked myself ‘How can they honestly charge that much for something so horrible?’ – but they didn’t care, as long as they got their money, they were in good shape.
I found there to be so many things just plain stupid with enterprise software, outside of the horrible UIs and programming.
Kingbee
on 24 Oct 07When I worked for a number of unsatisfying years as part of a software development organization at an enterprise software company doing web-based CRM, I observed two things that led to making our product so sucky:
1) Development was totally (and I mean totally) driven by feature lists that were shaped by the checklists of the potential buyers of the software or by current customers who wanted to add features just for their special use cases. None of these buyers were ever the end-users. One cause/effect of this problem, imho, was that we had a bunch of former Microsoft people in the organization, and their “Program Manager-driven” development processes are geared toward feature-driven product development rather than user-centered design.
2) UI design was most of the time just an afterthought, the responsibility of programmers, who often saw it as “trivial” versus the “challenging” back-end programming and technical architecture. This thinking was actually encouraged by the pay-rates for the different programmers—“senior level” meant programmers who got the cool jobs doing technical architecture work and didn’t have to dirty their hands with UI stuff, which was left for the “junior level” programmers. Thus, I often saw unusable UI or interaction design solutions shaped to fit the most expedient technology solutions because it meant that we could ship the product faster and claim revenue for the current quarter.
The result: one big sprawling mess of a slow CRM web application that was for all practical purposes nearly unusable. And the company is now out of business.
Cole
on 24 Oct 07A problem I’ve experience firsthand with the enterprise mentality is that the data / application is design without and consideration of usability, or input from ux/ui-minded people. The consequence is often a tool that has the technical capacity to do what you need, buried deep within a cocoon of poor design. Since the software purchases are made on a non-user level, the difficulty of use doesn’t affect the decision makers, so there’s usually not repercussions. Which goes back to your point about the fortune 5,000,000 being the users and decision makers, which places a stiffer requirement on usability.
Bartee Lamar
on 24 Oct 07Pivotal, need I say more.
It seems to do EVERYTHING. I do not know who purchased it, but you can be guaranteed they do not use it.
I dream of simple solutions that solve massive problems simply. The idea of designing using SCRUM techniques is so enticing.
Back to ctrl-C / ctrl-V Now that’s software design !!!
Don Schenck
on 24 Oct 07SAP.
‘nuff said.
Brian
on 24 Oct 07@Andrew: Don’t blame the “techies”. We all hate WebCT too. I hated it so much that I took a new job when I got assigned to admin/tier-two support for it. ;) As bad as it is to use, it’s far, far worse to maintain and support.
Blame the administration… and a lot of the professors. A large proportion just don’t give a damn how difficult it is for their students to do anything. They just throw documents on it, ignore student complaints, and throw tantrums at support when it doesn’t behave the way they want it to.
KurtC
on 24 Oct 07Absolutely correct. Usability – and performance – simply aren’t considerations for the people signing the checks, and so if you’re developing enterprise software, your hands are tied. You can try to do the right thing by your users, but if Oracle or Siebel or whoever comes along with an item you don’t have in your feature list, you’re SOL.
Julien
on 24 Oct 07I work for SAP (one of the biggest piece of enterprise software in the world) and we are completly aware of the problem there.
BTW, most people using the backend interface like it. Because that awkward interface is actually much faster for the power user (for year end report for example). The casual user just don’t understand most of the features or what to do next.
End user applications are made by the same people that makes R/3 (backend or mainframe) application. Awareness is building up and the latest offerings are more and more user centric.\ So your next call center or SME (Fortune 5 000 000) application is really user centric and task oriented.
Erik Ostermueller
on 24 Oct 07User clifyt suggests that there is no way to make everyone happy. Perhaps, but the usability folks know how to make most people happy, which should be our goal.
http://www.useit.com/alertbox/quantitative_testing.html
pwb
on 24 Oct 07Yep, Jason sums it up succinctly: the people who buy the software are not the people who use the software (or at least, they use it differently from the day-to-day users).
Also, enterprise software is typically “sold, not bought”.
clifyt
on 24 Oct 07“Perhaps, but the usability folks know how to make most people happy, which should be our goal.”
You’d be surprised how much it takes to make most people happy in an enterprise. Its damn near impossible.
To be honest, apps like Exchange or PeopleSoft come pretty close to making most of us happy (the two big ones I have to deal with). Lot of things that just leave me slamming my head against the wall but 90% of what is needed is right there.
To make most people happy would give us software just as inefficient…or have a thousand apps for which everyone can use, but who is going to provide the support to make them interoperable? I can guarantee you that none of the ‘agile’ application makers can make an app that works for even 100 people in a single organization that will make them happy…10 to 20? Maybe…and even then it is a matter of accepting the limitations.
Michael
on 24 Oct 07The idea of an “enterprise” as some sort of high-level entity that has a common set of shared goals (the starting point for enterprise software) is absolutely ludicrous.
I sit (on the staff of a large ERP project) in between users, managers, and bosses, and I will assure you, their goals could not be more dissimilar.
The problem is compounded by poor organization. Power to change the internal landscape is concentrated in a few individuals, but the laws of workplace physics prevent them from having the actual knowledge and experience that’s needed to change the landscape for the better.
Daniel Lakier
on 24 Oct 07Enterprise software often tries to be everything to everyone, and can be more difficult to use – for sure.
But, the alternative – having tens, if not hundreds of silo applications that are individually easy to use and very functional, but don’t communicate together well, are maintained used different technologies, and require seperate administration can be a huge problem for large organizations, too.
Enterprise software needs to be better designed, not abandoned.
JimDesu
on 24 Oct 07Enterprise software sucks because we have to be so many things to so many customers.
Let’s look at just one aspect: relationship cardinalities. Imagine trying to make an elegant user-interface for a crowd of people who won’t agree (because their business models differ) as to whether the relationship between Thing-A and Thing-B is one-to-one or one-to-many. Then look at the Thing-B to Thing-C relationship. And the Thing-A to Thing-C relationship that only two of them have, but that they insist on having satisfied (or they’ll go to another vendor). All these enterprises essentially compete with another on the strengths of their business-models, and will not be talked out of them. Theoretically, one could attempt to cross-cut various model variations and come out with an elegant solution to each, but even if you were willing to spend even more money to build such a thing, the network effects of all the inter-modular variations (which already suffer from this kind problem!) would render the product incomprehensible even to its own developers. And the folks purchasing the software, very rightly, are the ones who ensure that the software not only won’t break their business models, but will let them alter their business models in the direction(s) they see themselves needing to go. Ugliness or Prettiness is much less important than Does It Work For Us.
Folks like Apple have it easy: they not only dictate their customers’ semantics, but the customers love them for it. This, incidentally, is why Apple will never make the software that runs the world (say, for example, Lufthansa’s invoice approval management), just the software that can come in pretty boxes and TELL you how to use it.
Simon Metz
on 24 Oct 07I agree that enterprise apps suffer from poor usability because they have seemingly competing flows. But when designed they do a very poor job of running usability studies to fins out what users want. As a previous comment surmised, the app are sold with a purpose in mind, which might not always fit the enterprises’ workflow.
As web applications (salesforce.com and even fedex.com) become more of the standard usability will probably improve because the web is an easier vehicle to alter usability based on a user type, thereby allowing user type=a to have an optimal flow. I happened to be a beta tester for fedex.com and they were very open to some issues that were found.
Paula Thornton
on 24 Oct 07Gosh…I was saying similar things here: http://www.fastforwardblog.com/2007/10/22/et-tu-sap-and-oracle/
Carl Kessler
on 24 Oct 07Jason’s point that, “The people who buy enterprise software aren’t the people who use enterprise software.” is the crux of the issue. In fact, there are four groups of stakeholders who dramatically affect most SW products. They are:
- the principals or business sponsors; these are the executive purchasers.
- the end users (who too often get stuck with hard to use UIs).
- the partners; these can be the enterprise IT shop operations folks, or VARs or ISVs who have to deal with the product too.
- the insiders; the folks inside the vendor software shop who have their own goals. Such as financials, architecture guidelines, process models, and the like.
You can read more about the notion in this article in JavaWorld: http://www.javaworld.com/javaworld/jw-09-2007/jw-09-outsidein.html?page=1
BTW, Kingbee’s (24 Oct 07) comment is also exactly right – the checklist mentality that many customers’ purchasing teams use – and which are propped up by the magazines – seldom lead to joy. All too often, it is all about feature lists.
One approach to deal with this is called “consumability.” The idea is to give teams credit for full fledged line items that serve to make a product more consumable to clients. This could mean easier install, better screens, easier debug or fix application. Ultimately all of these items and more.
We’ve put in place a metrics model (because SW dev shops tend to be metrics driven) to keep the focus and to indicate release-to-release improvements. This is also described in the JavaWorld article mentioned above.
Don Albrecht
on 24 Oct 07I can’t agree more. At a conference last week (HighEdWebDev) a presenter threw up a slide he described as the most dreaded words any self-respecting web developer could ever here “We’ve been talking to a vendor”. There are really two sides to the coin here. Not only are the people who make the purchasing decisions not often those who will be using the software on a regular basis: They also aren’t going to be the ones who have to make it integrate with the existing enterprise architecture. Sometimes, really spectacular and easy to use software truly stinks at deployment because it couldn’t be smoothly integrated despite the assurances of the vendor when the contract was signed.
Ed
on 24 Oct 07See here’s the thing about Enterprise Software
1. Feature list: Checked 2. Performance: Checked 3. Security, SOX: Checked 4. Customization: Checked 5. Documentation: Checked 6. UI: (Not) Checked
And to my buddy Fred Lee here’s opinionated software: 1. Feature list: Let’s trim stuffs down 2. Performance: Let’s worry about this later when it occurs 3. Security, SOX: What is SOX? 4. Customization: Hell no, not in my opinion 5. Documentation: It’s so easy that it doesn’t need one 6. UI: Let’s do rounded corner, nice CSS, tabs and stuffs
No matter how hard you’re trying to bring the CIOs/CTOs to your side, they’re still the CIOs/CTOs. Why would they listen to you? You think you know the company’s problem better than them?
They (CEOs) have reasons why they purchase Siebel/SAP/Oracle/IBM (note that I didn’t put Microsoft in this list yet) and it has nothing to do with the issue of they don’t use it or they don’t know nothing about Enterprise Software. Mind you usually they have strong technical background and experience. Otherwise they won’t be a CIOs/CTOs.
Opinionated software can’t survive in the Enterprise world because the developers of these software listen to themselves not their clients. We don’t have to see far for a proof. Check out 37signals products. There are ex-customers of 37signals that leave them because they weren’t listening to the customer’s complain.
You still can have nice UI with comprehensive list of features. One example would be Microsoft. They’re not a big enterprise player in the line of IBM/Oracle/SAP yet but I love SharePoint more than any CMS/Project Management/Portal software. It’s easy to use, easy to develop on top of it, easy to customize, full-blown integrated to Office and etc etc. I used Drupal, Plone, Joomla, Xoops, DotNetNuke, and Basecamp but none have the intuitive as easy as SharePoint for large enterprise.
NB: I’m not saying 37signals software are bad. To some, it might be great and all that, but it’s not a software that can be accepted by mass people (whatever Fortune 5,000,000 is) because people have different needs and opinions of how they want to do things and some of us don’t want the software developer to dictate us. Btw, me and my team use Google Groups over Basecamp for small projects. Google Groups, with great integration with other Google software, is proven to be excellent.
Patrick Berry
on 24 Oct 07Atlassian creates enterprise software that does not suck. In fact, it’s quite awesome.
matt
on 24 Oct 07I think a number of posts come close to hitting some of the major points as to why some enterprise software sucks:
1) the devs aren’t often the users so they lack the same viewpoint of the problem domain
2) often the product management looks to sales to drive the product so it becomes a case of featuritis
3) an oft-overlooked area is that of compliance and regulation. HIPAA / Sox, etc. compliance adds a large amount of complexity. Unfortunately to get some particular bits of business it’s a requirement.
Shanti Braford
on 24 Oct 07JimDesu actually makes some pretty strong points.
While you’re totally spot on, in that enterprise software sucks (for most people, most of the time), it’s also disingenuous to say that the answer for all comers is raw simplicity.
Take HighRise’s contact adding / importing features on launch, as one example.
While I love most 37Signals products, the solution provided here was simply laughable. Entering / uploading only 1 contact at a time? (if there was another way of getting em in, I do apologize )
If your customers are big enough (... trying to think of less offensive term than sheep… ), that they will let you get away with this kind of stuff (like Apple does as well), then by all means go for it.
But somewhere, someone is talking about how X company’s simple products suck because they don’t do this or that (and that something might be a rudimentary requirement, i.e. ability to add / import multiple contacts into a contact manager…).
Peter
on 24 Oct 07Reading the comments makes me wonder. There has to be at least ONE enterprise product out there that doesn’t suck? Can anyone name at least one product, that breaks from the norm?
nexusprime
on 24 Oct 07I work in one of the verticals where “going simpler” is just never going to happen – Our product is a financial transaction switch, and our customers are banks and large merchants.
The requirements placed upon vendors in this space by the big two (Visa, MasterCard), and the banks themselves, are so lengthy and detailed that any software implementations are necessarily complex, and take on the order of a year or two to complete for a new version of the specification.
The whole point is to ensure that financial integrity is preserved, and any processing of a transaction, anywhere in the stack, conforms to security and auditing requirements.
By necessity, we’ve adopted a TDD development approach, and we’re as agile as we can be, but it’s simply not possible to cut things we think are irrelevant – We will fail certification :)
Not trying to be snarky, just pointing out there are some spaces where enterprise is unlikely to die.
Jeffrey Fredrick
on 24 Oct 07John Siracusa nailed this a couple of months ago: When you don’t focus on the user, the user gets shafted.
random8r
on 25 Oct 07It’s actually a little more intricate than that.
Users are a few types, a couple of which are outlined here:
1. People who are learning their job. 2. People who have a very good understanding or greater of their job. These people are have varying degrees of communication capability and clarity about their thoughts.
The second type know the requirement parameters for their job, whether they’re aware of this fact or not.
So, most often, the programmers have never even met the guys who need the software – how can it possibly be appropriate to the problem domain? ... and what when that problem domain changes? hmmm. :)
The trouble tends to be that the more layers one introduces between the users, who have the requirements, and the implementers of the requirements (usually programmers who do nothing but program), the more chance of confusion and obfuscation.
The best approach is when the implementers ARE proficient users. This is the simplest, too.
In other words, if I need to buy food, the best thing is if I work at home, and I’m a greengrocer! Then I don’t even need to move!
Failing that, the next best thing is if all parties have excellent communication skills. Unfortunately most programmers don’t, and most users aren’t even slightly clear about their problem domain.
The trouble, now, with Enterprise, is that it’s usually huge. It’s not huge in a way that Richard Semler’s businesses are huge, where each person is very well-rounded, and understands their part in the whole very well and can often do a variety of tasks, but huge in the sense of every single person having a very specialised job. Thus, there are many, many “layers”, and as we know, layers introduce mis-communication, which breeds inappropriate results, or rather “missing the mark” of its intention.
Thus, to create appropriate software requires a group or an individual who has the capacity to cut through all the layers of cruft and miscommunication – a job orders of magnitude higher than solving the problem at a more fundamental level.
Interesting, in the very least.
Walter Higgins
on 25 Oct 07Jamie Zawinski said it best a couple of years ago…
http://www.jwz.org/doc/groupware.htmlrandom8r
on 25 Oct 07... oh, and by the way, for all those people who are saying that it’s impossible to have a simple, complex system that isn’t complicated…
Unix is a perfect example of something that is many parts which all do a very good, small job in their own respect, which come together to perform a very big job, very well together.
Things need to be modelled better, that’s all. There’s no reason why a system can’t do everything it needs to do and still be efficient, fast and clean.
Ed
on 25 Oct 07@random8r: I’m sure those complex systems (ERP, CRM, BI) have several modules that shipped as one unify software. So in a way, it’s like UNIX.
I doubt enterprise software providers are that dumb to create one giant big monolithic software. I’m sure they have the “core” and several modules/plugin around their core software.
I believe your misconception is this: you’re comparing UNIX and a full-blown enterprise software. You viewed enterprise software as one unify software. You also viewed UNIX from command-line perspective, not from the overall system architecture, i.e.: kernel + system + shell.
Is Linux a simple systems? I dare you to download their latest release and figure things out :)
The original UNIX was also build to run under PDP-7 (or 11, whichever), there was no plan to make it run on other platforms with various configurations. Basically there was less requirements.
I’m not saying that you couldn’t achieved a simple enterprise software. There might be a better way/solution in the future. But until then, software with more requirements will always be complex no matter what.
David Andersen
on 25 Oct 07Two observations I’ve made over the years of working with enterpriseware are:
(A) the engineers rarely use the stuff and thus don’t have to suffer through it in daily life (B) competitive pressure often leads to a “get something that works out there fast” mentality. Once a large code bed is in production, the forces that work against refactoring it are huge. After all, if customers are paying hundreds of thousands of dollars for it, why should we change it?
New products will have to be introduced which are significantly less expensive and equal or superior to existing software in order to end the reign of large-scale crapware. You’d better provide a relatively painless migration path too.
Laszlo Marai
on 25 Oct 07That’s the point. At least that’s what me and a few of my colleagues have come to think. I worked for Nokia recently. We had a time reporting tool where we had to report what project we spent the time during the last month. Quite a simple piece of software, isn’t it? Well… First, it was a java applet. I’m not against java but please, HTML is perfect for this. Then the applet itself was a piece of crap. Later they did a ‘light’ (html only) version which was a bit better but still crap. You had to enter the hours manually and the ‘system’ didn’t know about national holidays not to mention vacations that you had to administer in a different application.
The sad thing about this situation is that Nokia is full of software developers (not to mention UI and usability experts…) but probably noone was there when they made the purchase. Probably some HR guys or their managers talked with the software vendor but noone called in an expert. A simple power user who knows who software should work and look like. Or a developer who can’t be turned down by telling him ‘well, this is very hard to do and would costs $2M’.
Oh, and most of the enterprise tools that we had to use were in the same category.
Anonymous Coward
on 25 Oct 07I always felt the Enterprise’s software was really advanced. Strong AI embedded that is clearly greater than human intelligence, passes the Turing test regularly, resistant to crashes based on logical impossibilities posed to it by the Captain of the ship. Plausible looking UI. Highly redundant and seems like its embedded in everything on board. What’s wrong with it?
Me Again
on 25 Oct 07I totally agree – We use Interwoven for our CMS and it totally sucks the big one. We hate it, the users hate it – no one can identify who made the stupid decision to buy it…
David Andersen
on 25 Oct 07“I always felt the Enterprise’s software was really advanced. Strong AI embedded…”
Ha!
Derick
on 25 Oct 07@Andrew: I agree completely about courseware. I worked in grad. school supporting Blackboard (back when it was CourseInfo) & WebCT. Since I’ve been out & teaching, I haven’t used either – - I find it much easier to build straight-forward flat pages (which have the plus of being picked up by google).
Anyway if you haven’t read the actual article it’s hysterical—“As if frightening, cross-species aberrations of nature are what we’ve all been looking for in an email and calendaring solution”
Cuneyt
on 25 Oct 07Agree wholeheartedly with the crux of this article, usability and user experience are key. That’s what made the iPod a success, and one enterprise software company not suck: RedDot CMS . We focus on providing legendary ease of use for our editing environment, and hence we have quite a happy user base. The user is king :)
Cuneyt
on 25 Oct 07Woops. RedDot can be found here, http://www.reddot.com
Tim
on 25 Oct 07I’m currently evaluating Enterprise Web CMS’s for a University. They’re all horrifically complex, ugly and very closed.
I agree with others about the feature bloat issue. Take workflow as just one example. I’ve been working on or around CMS’s for ten years and I’ve never seen a company who wants more than a simple one approver workflow. Write – check – publish is the maximum that most sites need. And even that is often turned off as soon as someone in the workflow conga line is at lunch when an urgent update needs to go out.
The bloat problem happens when the people who build the requirements (but aren’t using the software) imagine that workflow could be more complex than it is. So then they go with the vendor that has the most complex, sophisticated feature set because they’re “more flexible” whilst blindly trading away the usability of a simple interface.
Jack
on 25 Oct 07it’s pretty clear that 37singals have no idea what enterprise software is all about. you guys should stick with the simple stuff.
Gary R Boodhoo
on 25 Oct 07Jack, if by “simple” you mean apps that do only what they need to then get out of the way, I’m sure the 37s crew would agree 101%
Brian RJ
on 25 Oct 07With the long sales cycles of enterprise software there is a long time between the point of sales and the moment of truth …
And usually not the developers and the users make the deal. It’s the sales and the purchase departments. This creates a feedback loop that looks like the game of Chinese Whispers.
Ben Poole
on 25 Oct 07@Jack: indeed, here’s hoping the 37signals team do stick to the simple stuff. The last thing the world needs is more enterprise software that no-one likes :p
Steve0
on 25 Oct 07Eye-opener. THANKS!
Nic
on 25 Oct 07Feature bloat, user-feature disconnect, etc all comes from the principle (rather that lack of observing it) that a complex system that works will be found to have been based on a simple system that worked. i.e. Not on some marketing guy’s imagination of what may work.
And implementing a fancy computer system has never suddenly made staff work according to the rules if the didn’t before the system arrived…
David Andersson
on 25 Oct 07I totally agree! Focus on the product!
I can’t wait until a business system comes that is user-friendly!
Bob
on 25 Oct 07I tell everyone checking out any business SW to ask the follow up to question to “can it do X ” with “in order to do X does it require custom programming?”.
Been burned way to many times.
This why companies write their own system. We did.
While Y (don’t want to name names) might be a great accounting system, it does mfg’ing really really bad. That’s what you get for letting accounting pick the mfg sw. Hah!
Joey
on 25 Oct 07Management EGO! I’ve worked at several small companies, or small groups within larger companies – between 10 and 100 employees – and the thing that drove them to enterprise software was their own egos.
They refused to believe that their companies were not the center of the business universe and that the work they were doing was not the most cutting edge around. They wanted infinite scalability (another dirty word) and the thought never entered their mind that they would never become the next Google or Amazon.
So that meant using Oracle’s database on an expensive server when PostgreSQL would have been more than adequate on an existing server. EJB’s on Weblogic or Oracle Application Server, when skipping the EJB layer altogether and using a simple system built on Tomcat or Jetty would have been fine. They wasted so much time and money trying to get all this stuff to work that they ran out and the projects were cancelled. So much for scalability.
I’ve now seen this repeatedly – I can only assume that most management is like this.
dc-dash-one
on 25 Oct 07What about the kick backs? If the buyers didn’t buy when would they golf or have those lunches/dinners and feel important?
SarahB
on 25 Oct 07I work for a company that makes the kind of software addressed in this post, and I can confirm that the biggest problem comes from trying to cram in features for every edge case. When a $500k/yr customer wants to link Insignificant Detail A with Rare Occurrence B, by god we’re going to build it. Multiply that by several hundred customers and you get …. well, enterprise software.
@Jim Desu:You make that sound like a bad thing. But if you look at a lot of the posts here, you’ll see that people appreciate - even crave - “opinionated” software: as long as it meets its users’ goals, software with its own purpose & aesthetic will trump watered-down, bland, everything-to-everyone software every time.
Marcos
on 25 Oct 07I have 7 years of experience developing Enterprise systems in CMMI 5 companies, and, with minor variations, this is how they all came to life:
1. The customer sent a detailed list of requirements to the consulting firm and asked how much it would cost. 2. The consulting firm threw some dice and came up with a number of hours and a budget 3. After months in the approval pipeline, the requirement list was split and dumped on the desks of junior business analysts that created Use Cases, Mock Ups (the horror!), and Other Capitalized Functional Documents. The customer signed off these documents, sealing the fate of the users. 4. Architects carefully evaluated the problem and available technologies with objectivity and impartiality, and decided to build the system with Struts. 5. Journeymen developers received terribly incomplete functional specs and tried to shoehorn the functionality into rigid Architectural Guidelines to create technical specs. 6. Green programmers develop the system based on the tech specs. There’s a lot of guesswork, spinning wheels, and copy-n-paste involved, but hey, they were pretty cheap by the dozen. 7. Crunch time. Things didn’t go as well as planned in MS Project, so everybody pitched in to get the system out the door. Architectural guidelines were completely forgotten by then. 8. Customer acceptance test. The customer finally realized that they had paid millions for a system that did exactly what they had told it should do, not what they wanted it to. Change requests were approved to make it tolerable, and after a few months of patching the project was considered a huge success. The company dined everybody involved and resumes were updated with another significant achievement.
Big Blue Blows
on 25 Oct 07As an IBMer, all I can say is that as bad as Notes is, you ain’t seen nuthin’ until you see our internal tools. You’re right, we have great salepeople; the problem is the rest of us are stuck using this shit and worse, implementing it at client locations.
Ed
on 25 Oct 07@SarahB: It’s really up to you if you want to view Apple approach to be bad/suck or not.
Here’s my thought on simple software with less features:
It Does Not Scale (in terms of users)
I own a MacBook and have been using it for almost a year. The UI looks good I give them that. But the lack of functionalities and software given by Apple prompted me to install Vista.
Lately I’ve been using Vista more than OSX simply because I can do many things on Vista.
Here’s the moral of the story:
1) Users are damn lazy
- They hate complex software because they don’t want to learn how to use it
- They are selfish because they only think of themselves but not on the overall purpose of the products
- There are other users that need Feature B because they have been using the systems for years and learned that Feature B is deemed to be necessary
2) Once you learn how to use the software, you’ll become more productive
- And you’ll never look back
- This kind of user is called “Power User”
3) Look what happened to Apple as they gained users:
- They boasted that they have added 300 NEW features for Leopard (most of them are laughable anyway, Ruby on Rails on OSX)
- They’ve added things that YOU probably don’t need to back up the claim that OSX = “Just Work tm.”
- But OSX users didn’t nag/whine because they’ve gotten used to OSX, they didn’t scream “Feature bloat”
Jim
on 25 Oct 07You’re supposed to realize this BEFORE you start building. Make the Buyers the Users or you will be broke…
David Andersen
on 25 Oct 07One of the enterprise software companies I worked for – and still consult on their products – is terrible at soliciting feedback from users. The highest priority feedback comes from sales reps who need a feature to close a deal. Post-deal, no one seems to care. Not only do they not actively seek feedback, the one mechanism they have for formal feedback – the issue reporting system – is incredibly onerous and after a while, no one wants to mess with it. It almost as if they purposely set themselves up to have a tin ear. An expression editor in this software has had the same problems for the last 6 major releases. No one cares.
Francois
on 25 Oct 07Another related phenomena associated with Enterprise Software is that many of the providers of such software grew via mergers and acquisitions and added features by marrying sometimes wildly incompatible code bases.
Basically you start off with a departmental solution. You soon realize that you’re losing on enterprise sales because you’re missing a bunch of features. Instead of building more software you acquire a complementary company and glue their stuff into yours. You keep going until you dominate the market. At that point you’re now the only company who has all of the features customers want (or think they want). The result is often pretty ugly but effective business-wise.
Harvard Irving
on 25 Oct 07But the lack of functionalities and software given by Apple prompted me to install Vista.
Care to elaborate on what those missing “functionalities and software” are?
By the way – they are called “functions,” not “functionalities.” Why did you add all those extra syllables?
Ed
on 26 Oct 07@Harvard Irving
1) Remote Desktop – I need it to connect to my other computers. OSX has it, but not good enough (small screen, etc)
2) ASP.NET, sure you can hand-code ASP.NET using everybody’s lovely super-duper fantastic Textmate. Thanks but no thanks, Visual Studio is the best IDE out there.
3) Visual Web Developer Express Edition beats free HTML/CSS/Javascript editor
4) I prefer MS Office 2007 (especially when it costs me only $64 dollars)
5) On my desktop, I want to watch TV cable (via Media Center), Front Row is a glorified iTunes+Quicktime
6) Windows Live Desktop Mail – you can set it to handle any e-mails you want. I have all from Yahoo!, Hotmail, Google and others. Can’t do that with Apple Mail. You could with Entourage, but what’s the point if most of your software exist already in your other OS?
7) Windows Live Writer is a decent offline blogging tool. It’s free. I can use it to blog in Windows Live Spaces, Blogger, Wordpress and others.
8) Games
9) Windows Live Messenger – I prefer this over Adium since none of my friends are in GTalk/ICQ/AIM, most of them are in MSN anyway.
David Andersen
on 26 Oct 07“But the lack of functionalities and software given by Apple prompted me to install Vista.”
Here’s Ed complaining that his Mac won’t let him run Visual Studio so he can develop in .NET. Can you believe the nerve of Apple leaving out such a critical tool from OSX?
John
on 26 Oct 07Great article
Ed you are a goof. Windows live is a plague that should be quarantined in a virtual machine.
Ben Poole
on 26 Oct 07Why on earth has the discussion descended into puerile OS X vs Windows debating? That is so tired!
@ Big Blue Blows, if you think life is that bad at IBM, get out! Life’s too short!
MT Heart
on 26 Oct 07Enterprise Software sucks because Conways Law is very much alive and well:
“Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.”
Fix the organization and you automatically fix the software produced by it.
Zubair Hamed
on 30 Oct 07Agreed. SAP = x-(
This discussion is closed.