The success of an RIA depends upon its ability to replicate and improve upon the workflow for the task it replaces or supplements. Therefore, it is vital that you define the workflow completely and accurately. There are two groups of people who contribute to the definition and description of the workflow:
The needs of the application owners and application users are not always complementary. Sometimes application users expect functionality that cannot be provided yet, and sometimes application owners do not know the value of certain functionality to users. For example, redundant data entry is a common complaint from application users. They correctly believe that data they should not have to provide data that they have previously provided again. For instance, a user should not have to enter a mailing address to receive requested brochures when there is a mailing address on file in the account.
However, application owners may have decided to save development costs when building the application, and decided that redundant data entry was an acceptable cost to the user. Application owners often focus on developing processes for complex tasks while underestimating the value of simpler processes, for example, prepopulating form fields with previously-entered data is a simple process with high value for users. Application users do not always understand the underlying complexity of seemingly simple tasks like aggregating data from multiple databases and systems to generate a single page or screen. The final workflow should balance the needs of the application owners and the application users to optimize performance of the RIA for each group.
Most RIAs replace existing processes; very rarely is an application designed for a completely new workflow. Some applications replace a single process, while others consolidate and simplify multiple processes. Regardless of the extent and complexity of the workflow, there are three basic techniques for discovering the workflow:
Conduct interviews with both the application owners and the application users.
Interview application owners to understand the role of the application for the business:
Interview users to understand how the application is expected to function and what needs it should meet:
Study the current workflow using these techniques, but be careful to not get caught in the trap that the application workflow should match and be modeled on the current workflow. Current workflows may not be optimal, and the RIA could be designed to improve upon current processes and methods. Knowing how people currently work is not enough to model the workflow. You need more description to identify how to optimize the workflow.
You must compile and analyze the workflow data collected through examination of existing tools, interviews, and observation before you can create new, improved workflow models. To describe and define the workflow, use three areas of analysis:
What information is necessary to complete the task?
The user provides some information (like names and addresses) in complete form, but some information, such as checkout totals, may be in a form that require processing before the application can apply it to a task. Your application calculates checkout totals from item prices and quantities, shipping, taxes, and applicable discounts before submitting them for credit processing. When defining the steps in the workflow, create a complete list of information required to complete the task, whether or not the information must be processed, and any dependencies among the data (for example, ZIP code and shipping fees).
Where does the information come from and how is it entered into the RIA?
Information may be collected and drawn from multiple sources such as paper forms, user memory, uploaded files, linked applications, or one or more databases. Information is most often entered into RIAs by typing, importing files, or from databases, but other methods exist, including voice recognition, gestures, alternate keyboards and control panels, touch screens, live capture. The source of information and how it is entered into the RIA is also necessary when defining the steps in the workflow.
What are the steps necessary to complete the task?
When identifying and describing the steps involved in the task, define the start state (where the user begins, including the information the user should already have), the end state (when the user stops and the final results), and the path(s) that connect the two states, or how the user gets from the start state to the end state. A simple, linear sequence of discrete steps is often only relevant for simple tasks. Complex tasks typically have multiple levels of nested steps which may require nonlinear access to conditional steps.
Identify higher-level steps and break them down into lower-level steps; distill each step into increasingly smaller steps until further decomposition would produce steps that are too granular to be practical. For example, users expect to provide their entire address on a single form, not one piece of information at a time on separate screens. In most cases, one low-level step corresponds to a single page or screen in the RIA. Finally, identify and describe the relationships among the steps: Are the steps in a linear sequence? Does one step depend on data provided in another? Does the user require data to be processed to use the results in another step?
At this point, you've collected the information necessary to develop an optimized workflow and to have analyzed and synthesized it into a descriptive form that defines how users work, the steps in the process, and the information necessary to complete the task. Developing a model will help you identify ways to improve the workflow as well as serve as the structural basis for designing and developing the user interface.