Enterprise software, like the world around us, always seems to be getting more complicated, not less. Of course this trajectory is true of most software; when was the last time you installed a new version of your favorite application and found that features had been removed? But in the realm of consumer-oriented software, only modern operating systems can match the multi-dimensional, ever-increasing complexity associated with the design and development of enterprise applications.
I don't know if you've been reading this column regularly, but given the number of times I've written about complexity in one form or another, I think I'm beginning to sound like a broken record. I spoke with leaders of user experience groups at three enterprise software companies to get their thoughts on the most important issues in enterprise software design. It seems that the majority of the issues they identified all boil down to dealing with the complexity inherent in enterprise software.
A number of factors contribute to the complexity of designing for the enterprise. Unlike shrink-wrapped applications that usually target a handful of user roles accessing the application one at a time, enterprise applications are designed for dozens of user roles accessing the system by the thousands.
Karel Vredenburg, program director for user experience leadership architecture and development at IBM, points out that, in addition to the needs of the user, the needs of the business must be taken into account.
"Most methods in traditional user-experience disciplines focus on the user," says Vredenburg. "Hence the term `user experience.' When in actual fact, we need to be designing our offerings for a collection of users and satisfying their goals and tasks as well as meeting the actual needs and goals of the enterprise itself."
As businesses strive for greater efficiency in their operations, an enterprise designer's goal will often shift from optimizing a particular user's task flow to eliminating the task flow altogether. Knowing how to balance the user's needs and the customer's business needs is tricky.
In addition to designing for multiple audiences, user experience practitioners must struggle to integrate a company's suite of applications into a unified whole. Jeremy Ashley, vice president of Oracle's Applications User Experience group, says design managers have to find a balance between optimizing the design of high-value products in the suite versus spending time on cross-suite consistency and quality issues.
"When you're designing a broad range of products and bringing them all forward at approximately the same time, it becomes more about strategy and production rather than individual product design," Ashley states.
Dan Rosenberg, senior vice president of user experience at SAP, remarks that the chore of integrating a suite of applications becomes even harder when many of those applications were acquired from other companies.
"Acquisitions are a tough road," says Rosenberg. "One of the hardest problems, in terms of UI design, is dealing with the various pieces that come through acquisitions." There are often huge differences not just in the look and feel of the products, but in the conceptual models as well.
As if integrating one's own set of applications isn't hard enough, the enterprise designer must give some thought to the way third-party applications and systems might be integrated at the customer's site. Designing for flexibility and modularity is key, since there's no way to predict what mix of applications and systems from different vendors will be required to work together in the wild. As Vredenburg says, "In comparison to designing shrink-wrapped, standalone offerings, now we have to worry about the layers upon layers of apps that need to work together. That increases the complexity of the design space significantly."
The current push toward service-oriented architecture and composite applications, which allow customers to integrate foreign data and easily create customized applications from multiple vendors, makes a designer's task more difficult still.
But the icing on this multilayered cake of complexity is the profusion of mobile devices across the corporate landscape. When Rosenberg looks into the future, he believes executives and knowledge workers will increasingly want to manage their work in a whole host of contexts outside of the traditional office.
"There's an underlying assumption that ERP applications are designed for people who are seated, when in fact they're going to be in motion," Rosenberg comments. "The bulk of the first generation of ERP applications was designed entirely for the back office, to have people input data from paper. So the next wave was to do self-service apps, so that people could enter data themselves for at least the obvious things like HR benefits. The next wave was all about business intelligence and analytics, getting information out. The fourth wave is going to be dedicated to two classes of users: the C-level people who want their analytic information, and the self-service people who are professionals. All those people use multiple devices, and all those people are mobile. Effectively, it's making this stuff reach out beyond the office to people."
There's no single solution to reining in the complexity. The good news is that Ashley, Rosenberg and Vredenburg all believe many of the existing methods and processes in the UI design discipline will continue to serve us well as we struggle with these issues.
"It's not design training or usability-engineering training that's needed," comments Ashley. "That's core training that everyone has, and we don't see any problems with that. The training that people need has more to do with learning to communicate with other teams and organizations, and with other designers. Enterprise applications are large integrated products and we need to communicate across the board."
Vredenburg takes the need for communication and collaboration a step further. He and his team have spent considerable time and effort working on the next version of IBM's UCD process, and one of the main innovations will be the need for user experience designers to form much tighter partnerships with software engineers and architects.
"One of the key areas that needs to change is the system architecture itself," Vredenburg states. "If the base architecture isn't satisfying the user's primary goals, then you've got this amazing challenge of trying to put a user experience around something that, quite frankly, can never be usable by an enterprise."
Vredenburg continues, "What's really key is getting the architecture simple enough so that it is achieving the same goals that the user experience designer would be trying to address. You've got to think of the entire organism, not just the skin on the outside."
Designing more automation into the software is another strategy for managing the complexity faced not only by designers but enterprise users as well.
According to Vredenburg, "We should be looking to eliminate tasks, instead of just making the process of carrying out those tasks easier. Just like the human being wants to focus on creative things versus sitting there thinking about breathing, users in the enterprise can be spending their time doing tasks that contribute directly to the business, rather than just keeping the business running."
Rosenberg agrees that automation will be a key driver for enterprise software.
"A lot of the things you think people sit at their desk for, like order entry, those things are becoming less and less important because more orders are picked up off the Web," Dan says. "The customer has already done the data-entry partit's not like you're getting faxed a stack of orders every day. If it's business to business, a lot of that data entry is being done through EDI or some XML protocol."
He continues with an analogy to the automobile industry. "How many people does it take to build a car in Detroit these days? Not many, because all of those blue-collar jobs have been replaced by robots. How many back-end processes in the ERP world are going to meet the same fate?"
Other strategies for managing the complexity include crafting scaleable information architectures and making sure designers become knowledgeable about the domain for which they are designing products. Needless to say, all of this must be done in the context of a market that increasingly expects enterprise software to have the same polish and panache as consumer-oriented software.
"Software in general is becoming much more consumer-oriented," Ashley points out. "For example, Google has set the standard for search. Why can't we search the same way in enterprise applications? Standards are continually being set in terms of what users expect from the user experience. Enterprise software is not immune from this trend."
My advice for dealing with the complexity? I'm feeling philosophical today. Accept the fact that it's a chaotic world we live in, and we only have limited control. Embrace the confusion, look for and leverage design patterns when you can, push for open standards and interoperability, and put your hard-won design experience to use in the fight against entropy.
About the Author:
Dustin Beltramo is a senior interaction designer at Oracle. With stints at companies such as PeopleSoft, IBM, and Rational Software, he has spent the bulk of his waking hours over the past ten years designing software for business users. When not in front of the computer (where he spends entirely too much time), Dustin likes to read science fiction, futz with his camera, and marvel at the human-factors issues encountered by his new baby boy.
©2005 ACM 1072-5220/05/1100 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2005 ACM, Inc.