Enterprise software solutions power critical business functions on which every major organization relies. Solutions should be efficient and elegant, to allow employees to rapidly complete their work and keep the business moving, but also provide a level of flexibility to handle exceptions and events that fall outside the normal flow of business.
This article will discuss the right balance of flexibility and simplicity through thoughtful user interface design and agile development to deliver successful enterprise software solutions.
Understanding Today's Worker
Elegant, thoughtful design in user interfaces requires recognizing the needs of the modern knowledge worker in the enterprise, and delivering applications for them. What do people need to work efficiently inside an organization?
Today's modern knowledge workers need to be armed with information to interact with customers in their day-to-day business functions. That means having quick access to information they need to make decisions, and collaborate with others in an elegant way. What's more, they need that information regardless of the platform they're on—which is, increasingly, mobile.
Business application developers must incorporate a user-friendly interface and solution designs that enable people to work more effectively within the enterprise, in a form factor that makes sense, and with the same mobile functionality that consumers are already taking for granted.
There are some hurdles that have to be cleared first, though.
The Broken Architecture of Business
Most enterprises have a broken architecture. They require their employees to login to multiple systems to get the information they need to make decisions within their business operations.
To put a finer point on this, let's consider a typical use case for an enterprise sales representative—say a wholesale car sale rep, selling to dealerships. To be successful, it is essential for the salesperson to understand the universe of customer interaction with that dealer—inventory systems, customer history of previous transactions, demographic and target base, payment history, and so on. The salesperson needs that information from the moment he or she enters the dealership.
Unfortunately, nearly every enterprise (in nearly every industry, not merely automotive) uses multiple data systems, with a variety of legacy systems for every business function. Because of this divergence among data sources, there must be a way to unite data and flow. Master data management and business process management solutions go far in addressing that problem.
Beyond uniting data and flow, streamlining the user experience is a need not currently met in most enterprises. Single sign-ons at least keep people from needing to learn multiple passwords, but most enterprise systems still require entirely different user interfaces across multiple different enterprise tool sets.
These do not translate very well to modern form factor devices such as tablets and smart phones. Despite multiple systems, mobile employees still must have ready access to critical information on the fly. This requires an all-in-one user interface from a mobile device. Data must be consolidated into a single user interface to be more readily digested from the host of devices currently being used.
Of course, whenever you introduce mobility, it forces you to consider a more elegant and simple design. You have many fewer pixels to deal with when delivering information in the mobile environment. You don't have a large dashboard on a 24-inch monitor. The user has to interact with a much smaller form factor.
Simplicity is not enough, however. Your simple user interface that allows access to data from multiple sources must all be done with an eye toward flexibility in work process as well.
Flexibility and Agility
Basic workflow with a basic script enables a simple user interface, but it does not offer a system for handling exceptions within the business process. To empower knowledge workers to make judgment calls leading toward an objective, you need to allow them the flexibility to do things like skipping steps, forwarding calls to more appropriate people, and other means of having more direct interaction with specific customers based on specific circumstances.
When people need more flexibility, there's a tendency to blow up the application into sophisticated executive dashboards. In fact, however, what developers need to keep in mind is to demonstrate a prescribed workflow, while being able to indicate other data. This allows people to jump out of data, skip the simple steps, and have flexibility in interaction while keeping the user interface more focused.
Agile development is key here. Start with a simple process in a two-week sprint, and then begin to introduce more flexibility and capability in iterative design steps with end users in mind.
The key to solving user interface challenges in agile development is frequent feedback from the business. It's not about doing one project that takes six months with some massive overall interface. It's not about introducing new features and capabilities slowly. Agility requires constant feedback on how capabilities are being consumed in the field. Developers must get into the habit of constantly monitoring new features—particularly their use patterns—to gain insight into how this may lead to further enhancements and better development down the road.
It's all a matter of smaller sprint cycles and smaller wins, leading up to a larger win. That approach leads to an understanding of what to prioritize next in an iterative design process.
Three Strategies for Better Experience
With all this said, there are three strategies to keep in mind when developing applications for optimal user experience:
- Mobile first. Treat mobile devices as first-class citizens. Any enterprise project going on right now should have a mobile user interface experience baked in, regardless of device. That is the new norm.
- Look into tools that help you solve the challenges. Master data management allows you to consolidate data more easily. Business process management allows you to orchestrate process across multiple systems more effectively. These types of technologies will allow you to find flow back into solutions, so that you can deliver a positive experience to the user. •
- Use real agile development. Deliver code after two-week sprints. Have small objectives, with lots of iterative design sessions with users. Constantly iterating with users will ensure you achieve the ideal user experience.
Malcolm Ross is the VP of Product Marketing and Management at Appian. Malcolm has been directly involved in the implementation and development of enterprise BPM solutions for over 10 years with a variety of BPM platforms. Prior to his involvement with BPM technologies, Malcolm worked for leading B2B and B2C ecommerce software providers and led numerous technology consulting engagements at Fortune 100 corporations. Malcolm received his BS degree in Computer Science with a minor in Actuarial Mathematics from Florida State University.