Software Engineers,
When developing a project for a client it is important to conduct interviews with as many stakeholders as possible.
The ability to conduct effective interviews is an essential skill many engineers forget to develop.
Interview Skills are Essential to Software Engineering
There are many situations that will require you to sit down with users or other stakeholders.
- requirements gathering
- business analysis
- defining use cases
- presenting wireframes
- iterative prototyping
At multiple stages you’re going to need to sit down with the client to gather feedback and ask questions. This is the exact same thing as an interview.
The better you can conduct an interview, the better decisions you will be able to make afterwards.
Remain Polite and Courteous
The most important thing to remember when conducting interviews is to remain polite and courteous at all times.
Most people dislike interviews, so make sure your client is as comfortable as possible!
Prepare for the Interview
Take plenty of time to prepare for an interview.
You want to get as much actionable information out of the interview as possible, so take the time to research and prepare questions ahead-of-time.
You want to gain a better understanding of exactly what the client is asking for.
At the end of the day, you want to build the right product – something that will be useful and solve a problem for your client.
Hey, the better you deliver, the more likely you are to get more work again in the future.
What types of questions should you ask?
Open-Ended Questions
If you are still in the earlier stages of development, the best questions to ask are open-ended questions because these can help you get very rich information from your client.
Open-ended questions are those which require more than a yes/no response.
These types of questions require the user to think for a moment in order to then provide a detailed response.
Closed-Ended Questions
If you are in the later stages of development, you should already have assembled a clear idea of what the software application should do and what it should be like.
Interviews done at this stage should therefore use closed-ended questions in order to answer very specific questions.
Closed-ended questions are those which can be answered with a simple yes/no, true/false or multiple choice selection which give a definite response to a question.
Understand Different Stakeholders
When interviewing people, always let them know the purpose of the interview.
Different stakeholders will have a very different perspective on the product, and it’s important to approach each interview with tact, and an understanding of the different needs of different users.
For example, some people that you interview may feel that the software product you are creating is intended to replace them and put them out of work. These users may therefore be hostile towards you and might be unwilling to help. It is therefore important to be honest with everyone and let them know exactly what is going on, what you are developing, and why you need to interview them.
Always Recap – Is Everybody on the Same Page>
Always wrap-up by sharing your own thoughts about how you think the interview went.
Never assume that just because you wrote down some notes, that now you know exactly what your client wants.
Describe your understanding to your interviewee, and ask them if your interpretation is correct.
Also let them know what you were unable to discover and see if they know who might be able to provide this information giving you a hint as to whom you should interview next.