Customer discovery: Interviewing with excellence and artistry

Research of known effective materials:

Steve Blank The tactics of Customer Discovery Login to slideshare/linkedin then download as .docx for offline use Pages 12-17

Startup Weekend Conducting Customer Interviews

Customer Discovery emails: Kevin Dewalt's Blog

Cold connecting through linkedin from


Card deck 1 of 2 Develop an interview Plan

Abstract assumptions
Generate a list of questions based on your customer segment
Abstract your questions to disguise what you would otherwise ask
Don't ask questions in a manner that can influence a customer's

Industry Research
Become an expert.
Search for industry report, establish Google alerts, read scholarly
articles, etc.
It's not hard to know more than the person across from you about
generalized industry trends.

Company Research
Read the companies website.

Person Research
Read their linkedin profile
From the companies website, read their biography.

Starter Questions
Build rapport by mentioning something you have discovered from the
company website or the personal research.

Conversation Prompts
If the conversation stalls, fall back to:
yeah, but why did (the last thing they said)
that's interesting, but how (the last thing they said)

Keep communication open
Develop a reference story and write a highly professional email getting
right to the ASK (which is an interview)

Sample Interview Questions
Can you tell me a story about that?
And then what happened?
Why/how did you do that?

What did you love/hate  about that?
If you could have a magic wand, what would it be like?
Can you tell me about the experience when ...

What are the best/worts parts about ...
Can you help me understand more about ...

Rehearse the opening approach. The start of the interview, the
conversation prompts, and the end ask.

Front of Card
Deck Back of Card

Card deck 2 of 2 Conducting Interviews

Customer discovery is an art
An intuitive process that relies on your ability to recognize
common themes expressed by others. 

You have to posses the self control, objectivity and realism to be
honest about whether your value proposition can meet their needs or fix
their problems.

Genuine interest
Demonstrate that you are authentically trying to deliver a solution
that will eliminate "pains" or create "gains" for the customer. 

Actually talking with customers
The interviews are for gaining empathy and surfacing insight.
Ask questions to seek understanding, not to sell an idea.

Forget about yourself. 
Be completely optimisitic and open to listening to the needs of your

Seek Stories
Find in-depth stories about a users experiences that touch their

Ask "Why" and "How"
As you are listening to stories and hear them express a point, always
dig deeper and ask why. Ask simple, penetrating inquiries to get them to
to describe a deeper need which they may not have understood initially.

Immersion - There is simply no better way to gain empathy for a problem
a customer experiences than actually living through their experience.

Observation - Ask them to physically demonstrate how they are currently
solving a problem. Have them draw the process flow of how they are
currently performing a specific job.

Customer doorways
Bold statements
Inconsistency between what they say and do
Sudden, animated gestures

Go through the customer doorway and probe further by asking how and why.

Known market 
Problem Presentation
Describe your assumed list of problems, pause and ask the customers what
they think the problems are. Where you are missing any problems.

Unknown market 
Seek stories
People don't always understand their own problem.
Find specific stories about their day to day experiences.

A single message left behind:
Leave them with the feeling that you are genuinely interested in helping
solve their pains and give them gains. 
It doesn't matter if they never see the prototype as long as they feel
that you are trying to help.

Front of Card
Deck Back of Card


Here's a typical workflow:

Search google for "job role [place, technology, company]"

Process each link on each google results page.

Keep two separate documents:
    Search terms:
        A list of all search terms tried 

    Contact and stop list:
        Identifiers such as names, address and domains grouped into 'has
        been contacted' and the 'stop list'

In the instructions below stop means put the domain in the stop list
(unless already contacted) and then close the page and go back to the
google search page.

Process each link:
    If the domain is already in the contact list == stop
    If the domain is already in the stop list == stop

Open the web page link
    If does not load in 10 seconds or has a security warning == stop
    Do they actually perform [role]?  No == stop
    Do they actually work in [place]? No == stop
    Are they employed by [company]?   No == stop

Find email address for that person.
    Kick off 'find emails' harvester script
    While that is processing, do the manual search of the persons
        history, their blog roll, or whatever is topical that you can
        use to learn more about them.

Write a short comment about work they have done - this is the
personalization step to show that you have done research and start the
process of building rapport.

Get the email from the harvester (see below), if none available, go back
to the website and look for contact page. 
    The bottom of home page
    The about page
    Then instagram
    Then Twitter
    Do not look at facebook or pinterest

Send email with the subject:
    "[short comment subject] from your [recent event]"
    "[short comment subject] from your blog"
    "[short comment subject] from your website"

Email body is pasted from the form connect request below, with

Add email to contact list

Go to next link on google page.

If at the end of the google page, count the number of new, valid
contacts.  If at least 3, continue to next page, otherwise iterate the
search terms.

More excellent resources that were consulted to generate the scripts for cold emailing and calling customers:

Getting Customer Interviews with Cold Emails - Customer Development Labs

Setup your email for effective communication

Make sure the links in your signature all point to at least a basic
landing page on your website.

Ensure that your email has a short signature with job title and company

Craft an introductory email:

Hi [Persons name] - [Short comment about their work you have done the
research on]. 

I'm the [job title] at [employer], a [company description] trying to
improve [job that the customer performs].

I'm not looking to sell anything, but since you have so much expertise
with [specific job function], I'd love to get your advice on our product
so we don't build the wrong thing.

If you're available, I'd love to chat for just 20 minutes - [two-day
option] morning?

Thanks for any help, [name]

If they want more info about the company

Thanks for your willingness to help! I'm [job title] at
[company website], where we are trying to solve a problem we think
all [customer job title] may have. We're using the Customer Discovery
process to work to truly understand our customers, the jobs they perform
and their real pains to make sure we don't build the wrong thing.

The questions are about talking with you about what your job is, how you
go about it on a day to day basis, and what your routines are.

If they want more info about company and product

I'm [job title] at [company website], where we are using the
Customer Discovery process to work to truly understand our customers,
the jobs they perform and their real pains to make sure we don't build
the wrong thing. The questions are about talking with you about what
your job is, how you go about it on a day to day basis, and what your
routines are.

It's a software product designed to [basic vague product description]
Yes, I'm being specifically vague about the product specifications -
this is not be be deceptive, but rather to make sure we understand you -
our customer - so we don't build the wrong thing.

I'll be glad to send you the full product description if you like, but
we like to hold off on that until we discover if we truly understand
your needs. If that sounds ok, I'd love to talk with you and get your

The [customer community] has been incredibly supportive of our research
so far, and I realize that this may be your [busiest time], so I
just want to say thanks again for considering helping us!

Schedule the interview

If the response is 'yes that time will work' or something similar. Pick the closest 1 hour window (starting at :15 after), and create a calendar entry of the type:

Call with [persons full name] at [time] who [interesting note from their
linkedin profile or their 'about' section on their webpage]

Then when the call is about to happen, review their name and the interesting note to mention during the opening approach to build rapport.

Follow up email after connection on linkedin

They accepted the connection request on linkedin, and did not respond with a custom message. Find their email address from the linkedin profile, and send:

Hi [persons name] - I'm working with [company name] on building a
[product idea] and was hoping to get your advice to make sure we
understand the problem. Could I ask you a few questions and get your
feedback over a fifteen minute phone call? Maybe [two-day option] morning
of next week? Thanks! [name]

Follow up email after interview

Send this immediately after the interview

[Person's name] - Thanks for speaking with me today! I really value your
advice and insight. If you can think of anyone else who might want to
talk about [general problem descriptions covered in the meeting],
please send them my info:

I'm [name] with [company website] and we're trying to
solve a problem with think all [customer job title] may have. I'm not
selling anything, but would love to get your advice to make sure we
don't build the wrong thing.

Thanks for any help! - [name]
[your email address]

Building a reference story email

During a customer discovery interview, they mention that you should talk to person X. After the interview, you send the follow up email above.


After the referring person says 'I will forward your info' or 'I will let them know you will be contacting them', send the email below:

To: Don Jones
cc: Joe Smith
Subject: Referral from Joe Smith
Hi Don, Joe may have mentioned that I would drop you a quick note
to ask for your advice.

I'm exploring an [type of) idea around making it easier for [job role]
to [perform aspect of their job role]. Joe suggested that
I talk to you given your expertise with [same or other job role].

Do you have time for a quick call next week? I'm not selling anything,
just looking for advice.


Thanks for your time. You can't imagine how helpful your advice was to
me and hopefully you'll let me return the favor.

Thanks in advance, [name]

Interview Script

During the interview:

Write down the name of the person you are supposed to be talking to. Write down the name of the person you are talking to now.

The single most important thing is that they feel you are trying to help. Stop and take every opportunity to explicitly say we're just trying to help understand what your real needs are.

On the script write in order from top to bottom:

Opening approach:
    I saw on your profile [interesting note form their profile that you
    put on the calendar entry]

Start of the interview:
    I'm [name] with [company] and we're trying to solve a problem we
    think all [customer job title] may have. I'm not selling anything.
    What I'd like to do today is ask you some questions about your
    routines to see if I understand the problems that you have. It
    should only take about 20 minutes.

    If I do understand, I'd like to share our prototype with you and get
    your feedback. 

    Does that sound ok?

First question:
    Something extremely straight forward and fundamental that they will
    be able to immediately answer. This is to get the process flowing
    and make them feel at ease:

    What is the first thing you do when you start [job description]?
    Where are you when you usually have to do [job description]?
    When was the first time you had to do [job description]?

Conversation prompts:

    When you lose focus for whatever reason, fall back to the:
    that's interesting, but how [the last thing they said]
    yes, but why [the last thing they said]

Fill in abstracted questions for your customer segment here:
    (These are highly specific to your customer segment assumptions and
    the items below are highly generalized examples)

    How often do you communicate with [other people involved in job]?
    What do you use to communicate with them?

    When do you find time to maintain your tools?
    Can you tell me a story about a time an event happened during the
        job that was not in your control?

    What do you love about [specific job]?
    What are the parts about [specific job] that you hate?
    What are the worst parts about getting ready to do [specific job]?

    Can you help me understand more about [specific job]?
    What apps do you use on your phone to do [specific job]?

    If you could have a magic wand for [specific job], what would it be

    Do most [peer job description] work that way?

The end ask:
    Would it be ok if I sent you a short description of who we are and
    what we're working on to make it easier to forward? We'd really love
    to talk with anyone else you might think has these same problems.
    Does that sound ok?

Express gratitude. Not through just words. Through inflection and a
genuine appreciation for their attitude of collaboration and service.
This is the single most important part of the entire interview.

Questions not to ask

The Startup Weekend Conducting Customer Interviews video says to begin with: "To start off, what are the three biggest problems you deal with in your business?" This was almost a universally consistent conversation killer. Many of these customers were even hesitant to use the word problem. They also did not seem to know what the problems are. What is truly keeping them from the ideal existence.

Train yourself to not ask "Is that something you would be interested in?" - that type of question is contra-indicated during the search to gain empathy.

Do not ask them what problems they have. It leads to instant flow blockage. It's like the listener has been trained to not recognize the problems. Seek stories. At the end of the interview they should feel that you were generally trying to understand the narrative of their life as they perform a job. It's not a complaining session, it's a shared understanding session.

Many of the people willing to speak with you know this implicitly. They are naturally willing to help you because they know that collaboration and learning is always a good experience.

When you hear them express a point or describe a problem, do not ask: "Why do you think that is?". Usually if they knew, it would not be a problem, they would be focusing on their steps to execute around the event, not the confusion generated by the event.

Real world customer discovery notes

The above scripts and steps were developed over approximately one week of intense effort. These were to test the assumptions about what constitutes an effective mechanism for building contacts and getting to at least phone interviews with customers that are in your customer segments.

Intense effort in this case is about 35 hours of work over a 7 day period, in the midst of all the other daily life activities.

For a given one week interval:

373 potential customers evaluated
150 domains, emails, names in the stop list
223 emails or form submittals in contact list

11 interviews setup and executed during the week
5% response to interview rate during the one week interval

9 interview requests setup and accepted for the subsequent week. If half
of those turn into actual phone interviews:
7% response to interview rate total

That actually seems unsustainably low. For 35 hours of work you get about 8 hours of direct communication with potential customers.

Memorizing the questions allows you to focus on the process of gaining empathy. Memorizing the flow of the interview and experiencing it allows you to focus on their needs instead of getting the information you want.

The search for common themes expressed by the customer requires some structure. Try and ask as many of the same questions in the same order as possible in order to make the data analysis easier.

Exactly what was said in the udacity materials is exactly what happened. The customers interviewed eventualy showed what was really important to them. Very little during the performance of one of their specific jobs impacted them. They have mastered the art and craft that is the core of what they do on the day of. The things that really bother them are around the anxieties of where do customers come from? How do they continue to pay their bills so they can focus on what is truly valuable to them?

In addition - they will literally tell you exactly how to position the product. The vocabulary and structure of their selected points of expression are exactly what can uniquely position the product during the subsequent phases. This will happen repeatedly, make sure you write it down.

Custom theHarvester wrapper script

To make this easier, use whois records and theHarvester for finding emails:

# Run a basic whois and a theHarvester and only print emails
# Usage:
# Output: email addresses from whois and the harvester
# Expects the user to setup a conda environment with:
# conda(2) create --name harvester
# source activate harvester
# pip install requests

export PATH=/home/nharrington/miniconda2/bin:$PATH
source activate harvester

if [[ $# -eq 0 ]] ; then
    echo 'You must specify a domain'
    exit 0

# To speed this up, comment out the command line above, and just copy
# the domain to the system clipboard, then run:
#DOMAIN=`xclip -o`

# Extremely rough and ready strip of domain details. This is so you can
# cut and paste a typical url with any file tree suffix and get just the
# bare domain 

echo "Searching $DOMAIN"

# Filter out knowns
whois $DOMAIN \
    | grep @ \
    | grep -vi abuse \
    | grep -vi privacy \
    | grep -vi \
    | grep -vi \
    | grep -vi

python -u -d $DOMAIN -b all -l 100 \
    | grep @ \
    | grep -v