UX Research
An Introduction
Systematic research to understand
user behaviors, needs, and motivations.
data-driven, rigorous, scientific
how, when, where
whywhatwho
Who is a user?
External end-users
Data Scientists
Business Analysts
Users - someone who directly interfaces with your system:
Stakeholders - someone with an interest in the use of your system:
Developers
Site Reliability Engineers
Managers of users
Users of products that have dependencies on your system
What is a user experience?
Graphic user interface
Command line interface
Programming languages
APIs
Code labs
Documentation
Bug submission
And more!
Outcomes for you
Avoid building something no
one will use
Reduce churn and wasted
effort
Reduce user complaints,
questions, and tickets
Reduce confirmation bias to
get accurate answers
UX deliverables
Identify users and their needs
Model user behaviors and
processes
Discover breakdowns in
current systems
Design materials for interacting
with users
Concrete example: a new query language
Original design
Combination of 2 languages
will make learning easier
Visual Studio experience will
increase ease of use
Provide documentation up
front to improve learning
Document methods in
concrete examples to speed
up development
UX findings
Language knowledge created difficulties
because of unexpected behaviors
Breakdowns in understanding cloud vs. local
operations
Non-linear reading process creates mental
model breakdowns
Non-linear reading process makes
documentation unfindable
Skip to next
document
Skip to next
code sample
Read 1-2
surrounding
lines
Skip to code
sample
Concrete example: a new query language
Recommendations & Changes
Provide visually distinct syntax
highlighting
Map cloud behaviors to local
operations
Provide help and
recommendations
Increase code samples and
provide explanations in
comments
UX findings
Language knowledge created difficulties
because of unexpected behaviors
Breakdowns in understanding cloud vs. local
operations
Non-linear reading process creates mental
model breakdowns
Non-linear reading process makes
documentation unfindable
Skip to next
document
Skip to next
code sample
Read 1-2
surrounding
lines
Skip to code
sample
Sample Timeline: When do you bring in UX?
Problem
Idea
solution/
new products
Design
specs/prototypes
docs/etc.
Implementation
Release
Modification
features/maintenance
Sample Research Timeline
Problem
Idea
Design
Implementation
Release
Modification
Ethnography
Contextual inquiry
Exploratory interviews
Field study
Cultural probe
Personas
...
Scenarios
Exploratory interviews
Storyboarding
...
Participatory design
Usability testing
Prototyping
Iterative testing
Think-alouds
Heuristic evaluations
...
Usability testing
Iterative testing
Behavioral testing
...
Log analysis/telemetry
User feedback analysis
A/B testing
...
Repeat from beginning!
Examples of questions you might have
How do users think about provisioning resources?
Who’s even using our stuff?
Why do our users write crappy queries?
What problems are users having with the current process?

Basics of UX Research

  • 1.
  • 2.
    Systematic research tounderstand user behaviors, needs, and motivations. data-driven, rigorous, scientific how, when, where whywhatwho
  • 3.
    Who is auser? External end-users Data Scientists Business Analysts Users - someone who directly interfaces with your system: Stakeholders - someone with an interest in the use of your system: Developers Site Reliability Engineers Managers of users Users of products that have dependencies on your system
  • 4.
    What is auser experience? Graphic user interface Command line interface Programming languages APIs Code labs Documentation Bug submission And more!
  • 5.
    Outcomes for you Avoidbuilding something no one will use Reduce churn and wasted effort Reduce user complaints, questions, and tickets Reduce confirmation bias to get accurate answers UX deliverables Identify users and their needs Model user behaviors and processes Discover breakdowns in current systems Design materials for interacting with users
  • 6.
    Concrete example: anew query language Original design Combination of 2 languages will make learning easier Visual Studio experience will increase ease of use Provide documentation up front to improve learning Document methods in concrete examples to speed up development UX findings Language knowledge created difficulties because of unexpected behaviors Breakdowns in understanding cloud vs. local operations Non-linear reading process creates mental model breakdowns Non-linear reading process makes documentation unfindable Skip to next document Skip to next code sample Read 1-2 surrounding lines Skip to code sample
  • 7.
    Concrete example: anew query language Recommendations & Changes Provide visually distinct syntax highlighting Map cloud behaviors to local operations Provide help and recommendations Increase code samples and provide explanations in comments UX findings Language knowledge created difficulties because of unexpected behaviors Breakdowns in understanding cloud vs. local operations Non-linear reading process creates mental model breakdowns Non-linear reading process makes documentation unfindable Skip to next document Skip to next code sample Read 1-2 surrounding lines Skip to code sample
  • 8.
    Sample Timeline: Whendo you bring in UX? Problem Idea solution/ new products Design specs/prototypes docs/etc. Implementation Release Modification features/maintenance
  • 9.
    Sample Research Timeline Problem Idea Design Implementation Release Modification Ethnography Contextualinquiry Exploratory interviews Field study Cultural probe Personas ... Scenarios Exploratory interviews Storyboarding ... Participatory design Usability testing Prototyping Iterative testing Think-alouds Heuristic evaluations ... Usability testing Iterative testing Behavioral testing ... Log analysis/telemetry User feedback analysis A/B testing ... Repeat from beginning!
  • 10.
    Examples of questionsyou might have How do users think about provisioning resources? Who’s even using our stuff? Why do our users write crappy queries? What problems are users having with the current process?