Analyzing UI Requirements

Before you can implement a Rhino-based application, it's important to understand what the user needs to achieve with your product, and how they're likely to use it. We've found it useful to talk to target customers and to SGI marketing and to check out competitors' solutions. Consultant Richard Anderson was instrumental in developing the following customer workflow analysis techniques.

Talk to Customers and Marketing

Customers can provide accurate, unpredictable information about product requirements, if you know how to ask them questions. Ask them to tell you stories about their most recent success and most recent failure using existing software to attempt to solve problems that your product is intended to solve. It can also be useful to talk with SGI marketing, who can be very knowledgeable about customers and the problem space.

Logistics

Make sure interviewees know generally what to expect. Tell people what will happen at a high level, but don't show them questions beforehand because that can lead people to start to take on other peoples' roles to try to answer the questions and their answers tend to become inaccurate, shallow, or vague. People can feel like they're a representative for others. If that happens, then they'll tell you what they think other people do, which can be inaccurate. Encourage them to talk about stories from their real lives.

Ensure up front that you say you're not there to evaluate what they do. Also state that you're not there to find out what they need so you can help them right then.

We've found it useful to interview as few as three different customers. Others say they interview around 15 people, no matter the size of the domain. There turns out to be a lot of commonality in how people do things.

We take one or two interviewers to interview one person. Don't fill the room with interviewers. More than about three questioners against one interviewee can be semi-ominous and make the interviewee clam up. Shoving everyone in a conference room can remove a lot of useful contextual information. You get better data if you can go to customers' offices and check out their surroundings and see what other tools they use besides yours and how they use them. However, good data can also be gotten through telephone interviews.

Take good notes. Be interested in everything they say (not just some things they say). Refrain from being judgmental (even a raised eyebrow). Don't take the role of an expert. Interviewees should take that role; you are learning from them.

Audiotape or videotape might work in some situations. Take a tape recorder, and ask if you can tape them. Later you can transcribe the recording and refer back to the transcript to make design decisions.

The interview should last an hour or two. Make the interview feel like a quality experience for the interviewee. Note that what they've said has been helpful. Afterwards, thank them and give them some token of appreciation for their time.

What to ask

Sometimes the question you want an answer to isn't the one you want to ask directly, because it won't get an accurate answer. Such questions relate to how a person does their work, when or how often they do something, why they do or don't do things. The reason these questions tend not to elicit accurate answers is that most of the time people don't watch themselves as they work; they just do their work. People don't usually take detailed notes as they work, so typically it's difficult for people to answer meta-questions accurately.

So what questions do you ask? The answer to this can come from focusing on context. If you go into the context and observe, you can ask questions as what's happening is actually happening. Your presence does affect things, but not as much as you'd expect. Context is key. People's thoughts and memories are different when they're in context.

What if you can't go to the customers' context (workplace)? If you bring them to you at SGI, you can try to restore the context:

Here are some example questions you might want to ask customers. You may not want to explicitly use the questions in this list in an interview, but you can use the list as a reference to check if you've learned the answer to every question yet; if you haven't, then use the questions to provoke more discussion. These questions also may be too general; you should modify them as needed to focus on the product you're working on.

A different kind of question that you might use a lot is the clarification question. For example,

Check Competitors

Competitors typically have Web sites devoted to explaining their products, often with useful screen shots. It's worth taking a look at the features they offer, then assess that in light of what you've learned from talking with customers and marketing.