Duke ECE 490L: How to Start New Ventures in Poornima Vijayashanker

Duke ECE 490L: How to Start New Ventures in
Electrical and Computer Engineering
Poornima Vijayashanker
poornima@femgineer.com
Jeff Glass
jeff.glass@duke.edu
Akshay Raut
ar118@duke.edu
1
Review
• Customer Discovery
• Mental Models
• Customer Interviews
Duke ECE 490L
2
Announcements
• Quiz 1 results on Sakai - talk to TA: Akshay
• Questions on Lab 2?
Duke ECE 490L
3
Review Session:
Wednesday October 23, 2013
DUHatch
Idea Summary
4
Agenda
• Stories to Features
• Usability Testing
• Paper Prototyping
• Interaction Testing
Duke ECE 490L
5
We’re gonna start building!
Duke ECE 490L
6
Market Research
Customer Discovery
Early Adopter
Pricing
Product
Distribution
Validation
Customer Creation
Business/Company
Formation
Mainstream Adopters
Money for Marketing
Duke ECE 490L
7
Customer Discovery
Validation
Customer Creation
Business/Company
Formation
Early Adopter
Pricing
Product
Distribution
Duke ECE 490L
8
We’ve conducted interview to test across
various segments.
Duke ECE 490L
9
Formed our Mental Models per segment or
gotten rid of segments based on needs.
Duke ECE 490L
10
Goals: validated problem AND understand
the needs to bring clarity to design and
product implementation.
Duke ECE 490L
11
Collect feedback and categorize customers.
Duke ECE 490L
12
1. Learn verbs of a customer
2. Create personas
3. Comb for tasks
4. Match personas to tasks
5. Look for patterns
6. Tasks become stories
7. Stories fit into features
Duke ECE 490L
13
Everyone should understand personas!
Duke ECE 490L
14
Everyone should comb for tasks!
Duke ECE 490L
15
Tasks
What customers do that
you might want to design a
solution for.
Desire, Feelings,
Characterizes level of need.
Preference, Expectations
Duke ECE 490L
16
Tasks
Implied Task
Third-Party Task
Compound Tasks
Vague Verbs
Desire, Feelings,
Preference, Expectations
Quotes
Philosophical Beliefs
Duke ECE 490L
17
How can a compound task affect design?
Duke ECE 490L
18
Steps.
Duke ECE 490L
19
e.g. “When I take attendance if I see a student is
expired, I notify them immediately.”
Duke ECE 490L
20
What about a vague verb?
Duke ECE 490L
21
e.g. “Read an attendance report.”
Duke ECE 490L
22
Know how many students have come
to particular classes.
Duke ECE 490L
23
Once you’ve gotten clarity, you may
need to add additional stories.
Duke ECE 490L
24
Stories lead to features, which fit into
product implementation.
Duke ECE 490L
25
Tasks
Desires, Preferences,
Feelings, and Expectations
Want to be able to take
Take attendance for each class.
attendance quickly.
Type of Task
Third party task.
Enter new students.
If we keep track of new
students we can follow up with
this later.
High Level Task
View history of attendance.
If we can view the attendance history per
student we’ll know who our best students
are and who hasn’t come in awhile.
High level task.
Provide students with reports.
If we provide students with reports they
will know when they are about to expire,
and hopefully renew their membership.
High level task.
Notify them of expired
memberships.
If we want to get paid on time, then we
need to notify students of expired
memberships.
Third party task.
Students need to pay.
I want my students to pre-pay for classes
so that I know I’m getting paid on time. I
also want a way to automatically renew
them.
Implied task
Duke ECE 490L
26
Tasks
Desires, Preferences,
Feelings, and Expectations
Want to be able to take
Take attendance for each class.
attendance quickly.
Enter new students.
View history of attendance.
Provide students with reports.
If we keep track of new
students we can follow up with
this later.
Stories
As a yoga studio owner, I’d like to take
attendance quickly before class to keep
track of student’s memberships.
As a yoga studio owner, I’d like to record
information of new students as they come
to my studio.
If we can view the attendance history per As a yoga studio owner, I’d like to see a
student we’ll know who our best students breakdown of when students attended
AND I’d like to see an aggregate number
are and who hasn’t come in awhile.
of attendees.
As a yoga studio owner, I’d like to send
If we provide students with reports they
students a report so they know when
will know when they are about to expire,
they’re about to expire AND will pay on
and hopefully renew their membership.
time.
Notify them of expired
memberships.
If we want to get paid on time, then we
need to notify students of expired
memberships.
As a yoga studio owner, I want to notify
students the moment they expire, so that I
will get paid on time.
Students need to pay.
I want my students to pre-pay for classes
so that I know I’m getting paid on time. I
also want a way to automatically renew
them.
As a yoga studio owner, I want all
students to pre-pay for class packages
AND I want to provide an option to do this
automatically.
Duke ECE 490L
27
If you’re limited on time or resources
you’ll need to prioritize feedback to
help pick stories to build.
Duke ECE 490L
28
Tasks
Take attendance for each
class.
Enter new students.
View history of attendance.
Provide students with reports.
Notify them of expired
memberships.
Collect money from students.
Desires, Preferences,
Feelings, and Expectations
Stories
Want to be able to take
attendance quickly.
As a yoga studio owner, I’d like to take
attendance quickly before class to keep
track of student’s memberships.
If we keep track of new
students we can follow up with
this later.
As a yoga studio owner, I’d like to record
information of new students as they come
to my studio.
If we can view the attendance history per As a yoga studio owner, I’d like to see a
student we’ll know who our best students breakdown of when students attended
AND I’d like to see an aggregate number
are and who hasn’t come in awhile.
of attendees.
As a yoga studio owner, I’d like to send
If we provide students with reports they
students a report so they know when
will know when they are about to expire,
they’re about to expire AND will pay on
and hopefully renew their membership.
time.
If we want to get paid on time, then we
need to notify students of expired
memberships.
As a yoga studio owner, I want to notify
students the moment they expire, so that I
will get paid on time.
I want my students to pre-pay for classes
so that I know I’m getting paid on time. I
also want a way to automatically renew
them.
As a yoga studio owner, I want all
students to pre-pay for class packages
AND I want to provide an option to do this
automatically.
Duke ECE 490L
29
Group tasks into patterns to understand
connections.
Duke ECE 490L
30
Think about mental spaces.
Duke ECE 490L
31
Enter student info
Take attendance
Review Attendance
Collect payment &
record membership
Review expired
membership
Notify students who
are expired
Are there pauses between these steps?
Is there a chronological order?
Is there a flow of data?
Duke ECE 490L
32
Also need to model data.
Duke ECE 490L
33
Enter student info
Take attendance
Review Attendance
1
2
3
Data Needed
Student Info
Package Purchased
Expiration Date
Packages
Data Needed
Class Info
Student Attendance
Duke ECE 490L
34
Go back and refine stories.
Duke ECE 490L
35
As a yoga studio owner, I’d like to record the
following information for new students: first
name, last name, email, and address.
Duke ECE 490L
36
More granular:
As a yoga studio owner, if students do not
provide me with a valid email address I’d like
to be notified.
Duke ECE 490L
37
Additional stories:
As a yoga studio owner, I’d like to view
invalid email addresses of students.
As a BzB, I need to validate a student’s
email address once it’s entered by a yoga
studio owner.
Duke ECE 490L
38
As a yoga studio owner, I’d like to take
attendance for each class taught.
Duke ECE 490L
39
More granular:
As a yoga studio owner, when I’m taking
attendance, I’d like to include the date, time,
instructor name, and student who attended
the class.
Duke ECE 490L
40
Getting very granular helps avoid
scope creep and conveys important
design details.
Duke ECE 490L
41
Now we need to implement these
stories and collect feedback!
Duke ECE 490L
42
Based on tasks we may have to test
on various user segments.
Duke ECE 490L
43
Data
Technique
Uses
Preferences
Opinions, likes, dislikes
Survey
Focus Group
Mood Boards
Preference Interview
Customer Feedback
Visual Design
Branding
Market Analysis
Advertising Campaigns
Evaluative
What is understood or accomplished
with a tool.
Usability Test
Log Analysis
Search Analysis
Customer Feedback
Interaction Functionality
Screen Layout
Nomenclature
Information Architecture
Generative
Mental environment in which things
get done
Non-Directed Interview
Mental Model
Diary
Ethnography
Contextual Inquiry
Navigation & Flow
Interaction Design
Alignment & Gap Analysis
Contextual Marketing
Duke ECE 490L
44
Paper Prototyping.
Supplemental Reading: Paper Prototyping
Duke ECE 490L
45
What is paper prototyping?
Duke ECE 490L
46
Paper prototyping is a variation of usability
testing where representative users perform
realistic tasks by interacting with paper
version of the interface that is manipulated
by a person.
Duke ECE 490L
47
Why paper?
Duke ECE 490L
48
Benefits of Paper
• Quickly
& cheaply iterate
• Avoid opinion wars
• Focus on workflow
•
“Please take attendance”
• System
•
agnostic
“I don’t know how to use a Mac...?!”
• Validate
stories
Duke ECE 490L
49
How to design an interface on paper?
Duke ECE 490L
50
Structure
• Define
•
design elements
consistent scheme for buttons, links, etc.
• “Interactions”
can lead to additional pages of paper
• Doesn’t have to be to spec but dimensions should be
close
•
mobile v. web
Duke ECE 490L
51
Usability Testing with Paper
• Sample
design with interaction.
• How to do a usability test & key things to keep in mind.
• How to convert design and feedback from users into
stories.
Duke ECE 490L
52
Set Goals for What You Are Testing
• Copy
• Is
the design clear?
• What is missing?
Duke ECE 490L
53
Conducting a Usability Test
Explain the
product.
Set
expectations.
What you are
testing.
Make them
comfortable.
What are you
testing.
Thank them
for their time.
Setup a
follow up.
How they are
helping.
Duke ECE 490L
54
Demo.
Duke ECE 490L
55
Collect feedback and do another iteration!
Duke ECE 490L
56
Interaction Testing
Duke ECE 490L
57
Goal: to validate workflows and data flows.
Duke ECE 490L
58
Demo.
Duke ECE 490L
59
Tools
• Balsamiq:
wireframes
• Invision: share wireframes with teams to collaborate
• Verify: scaling user testing
Duke ECE 490L
60
Review
• Stories to Features
• Usability Testing
• Closing Customers
Duke ECE 490L
61