Sourcegraph Learn

How to conduct a user interview as part of software product development

Shaili Shah
Published on December 8, 2021

Interviewing users is a way to glean valuable insights into a user’s needs, experiences, and expectations to help you create software that serves your target audience. While user interviews can be useful during any part of the product or software development process, they are most useful in the beginning stages and after the product has been released: depending on when you use it, this tool can help you brainstorm solutions to pain points identified by your interviewees, can offer feedback on a project already underway, and can help you understand how target users interact with your finished product.

This guide will pertain to the early stages of product development, either before or after you have a prototype to present to your target users.


Before jumping in, have the following in place.

  • Know the goals of your research: what do you want to know about your target users?
  • Engage at least 5 participants to interview (this is a standard of usability testing) for each type of user that may have different roles or needs from the software project
  • Be sure to set aside an hour maximum for each interview
  • If you have one already, have a prototype on hand for working through with users

With these in place, we are ready to begin.

Step 1 — Write a list of interview questions#

We first need a list of interview questions or a discussion guide. This set of questions or guide need not be comprehensive like a script; it can be loosely structured to foster engagement and direction from the users you are interviewing.

A user interview begins with a brief explanation of the purpose of the interview. From there, you can begin with some general questions that contextualize how the interviewee uses related products or software, or what their needs are in relation to your product. You want to start with understanding the user’s background and their general use of technology.

For example, you may include a set of preliminary questions like:

  • What apps and websites do you use on a regular basis?
  • What is your typical work day like?
  • How often do you use the internet/digital tools like…?

In this first set of questions you will likely include any other lifestyle-related prompts that would affect the use of your product.

Then start to include more specific questions that align with your product (or similar products) and the problem that it solves.

  • How do you currently [complete the task that your product addresses]?
  • Are there any products or tools you have tried to help you complete this task more effectively? What are they?
  • Are these digital tools or products meeting your current needs? Why or why not?
  • Is there anything you wish were possible with this sort of tool?
  • What would make the tasks you perform on this app easier?

In general, you can include questions on any topics that relate to something you need to ask your users directly. Do be careful about making assumptions and asking leading questions. For instance, if you are building a video chat app, avoid mentioning specific apps or assuming the participant is familiar with products like Zoom; instead ask how often the participant chats on video.

Finally, if you have a prototype, you should have a set of questions in place to ask as you walk your user through the flow of the program. You can start with these prompts:

  • What do you think of this product? What’s your first impression? Ask this when they are looking at the first screen.
  • Can you see yourself using this tool?
  • How do you think this app may help you [complete tasks discussed earlier]?

Ask open-ended questions, and always ask why or why not. Try to ask why a few times in relation to the same question. The more you ask why, the more insight you could get into a user’s behavior and impressions of your product and what kind of solutions or tools would really help them. But it might take some digging into surface-level answers before you get to a more detailed understanding.

A few more pointers on identifying and phrasing your interview questions:

  • Read your questions out loud to make sure they are clear before the interview.
  • Stick to clear, jargon-free language when possible.
  • Keep your questions brief; it’s harder for people to focus on long-winded sentences.
  • Ask questions in the present tense or about their current experience or preferences; people are not always accurate about predicting what they will want in some future, hypothetical scenario and may instead try to tell you what you want to hear.

Finally, it is recommended that you test the interview questions with a friend or colleague beforehand to see if they feel natural and comprehensive. Getting feedback prior to conducting interviews can ensure that you get valuable insights from users.

Step 2 — Prepare the right environment for your interviews#

Creating an interview environment that feels good for your interviewees can help you get more accurate, natural responses. An interviewer with a warm and approachable demeanor and positive attitude can also put participants at ease.

Try to conduct your interviews in a comfortable physical space so that participants don’t feel like they’re being tested or analyzed. It could be helpful to have two people facilitating the interviews in case there are responsibilities to distribute: someone to manage the actual interview and someone to manage the tech, for example. Two facilitators would also mean more insights from two different perspectives and approaches to asking questions.

Be prepared to go off script: don’t just read the questions in order, treat it as a dialogue. The best user interviews mix structured questions and unstructured conversation, which allows a more natural flow with fluid topic changes, especially if the participant has some unexpected insight or question that could be useful to you later that you may not have thought about in advance. You may consider recording the interview — with the participants’ permission — so you can revisit it later for anything you might have missed in the moment.

Step 3 — Start the interview with a welcoming introduction#

Begin by greeting the participants by their names and asking them about themselves. For instance, ask about how their work is going and about their background. You want to help them feel comfortable talking about themselves and their opinions.

Explain why you’re conducting this interview and express appreciation for their honest feedback. This helps them feel that they don’t need to offer responses that please you. Make it clear that this is not a test, that there are no wrong answers, and that the purpose of the interview is to assess the product or solution in question, so that the product can improve.

Step 4 — Use your discussion guide as a loose structure for your interview#

Again, ask follow-up questions whenever it feels natural or productive to do so. If a participant’s answers seem vague or unclear in any way, ask for them to clarify. Restating what they said could also lead them to elaborate or recall specific incidents or scenarios performing similar tasks or using similar tools. These examples from their experience can lead to useful reflection on what worked and what didn’t for them.

Make sure to keep making eye contact and being present. Avoid focusing too much on note taking or recording your observations, because it may make the participant self conscious and distracted. This is why it’s often helpful to have two people facilitating the interview.

When you wrap up the interview, it’s important to not end abruptly. After asking your last question or finishing your discussion, share with the participants how you plan to use their answers if they are curious (you can be as general or specific here as you would like). Also, ask them if they have any questions. Thank the participant for their time and help before they leave.

Step 5 — Analyze your results#

As you conduct these interviews, you’ll naturally reflect on how they went and if there needs to be any adjustments in your interview questions or strategy. You’ll notice what questions led to more details and insights than others, what order it would be best to ask them, and other ideas specific to your individual software project.

Collect all your notes, recordings, and impressions in one place before you start analyzing your results. Assess the most useful way to organize the data collected: you may want to use your interview questions as categories in which to compare findings, or use mind mapping or other visual ways to represent and chart your findings. This is also a good time to consider whether you want to use other user research tools like usability testing or A/B testing.

Wrap up#

User interviews are great tools that can be used throughout the product development process that allow you to directly talk to potential users about their needs and experiences. You can ideate and improve your software projects or solutions with a greater understanding of how your target user will interact with your product.

In combination with other user research during the product development cycle, user interviews can be an efficient way to gather data and test your assumptions and hypotheses about how to best design your software project.