Summary: Identifying and asking the right questions is a critical part of functional requirements elicitation.
You can use this Functional Requirement template to define a function of a software system and how the system must behave when presented with specific inputs or conditions. These may include calculations, data manipulation and processing and other specific functionality.
In this tutorial, Ivan looks at how to interview subject matter experts (SMEs) when gathering requirements for user, business, or functional requirements. The following guidelines should help new business analysts improve their interview techniques and keep difficult interviewees on track.
There are three stages involved in interviewing SMEs.
- Advance pre work
- Interviewing the SMEs
- Transcribing what you’ve learned, typically into draft spec documents
There is also a fourth, which is when you confirm your understanding with the SME, but we’ll come back to that later.
Before the interview
Before you meet the Subject Matter Experts (SMEs), preform the following tasks:
- Send an invite – arrange to meet in a room away from distractions and where, hopefully, you have a white board to draw on.
- Identify the project – as the SME may be working on different projects, highlight the project to orient the SME. This also helps as they may have technical documentation from previous interviews they can share. Also, they may need to know which project for timesheets.
- Explain your needs – be as specific as possible. What do you want to understand? Where is the gap in your knowledge? The more specific you are, the more they can prepare, even mentally, in advance. Don’t’ say, ‘let’s meet to discuss the project.’
- Gather subject matter before meeting – find everything you can about the project and the subject matter in advance. You may have to dig around for this. Documents such as functional requirements and proposals should give you background information to understand the business driver for the project.
- Read as much as possible – then go through the documents, making notes, and identify what’s unclear to you.
Running the Requirements Gathering Meeting
Next, we have the meeting.
- Arrive early – arrive before they do. It looks bad if the interviewee arrives before you, the interviewer. Get there first, tidy the room, clean the white board. Get fresh water and a few cups, if possible.
- Ask open ended questions – start by asking probing questions that encourage the SME to talk, to expand, to give you as much information as possible. Then, when you need clarification on a point, as them to confirm if you’re understanding of a point is correct.
- Listen, don’t interrupt – don’t cut across them when talking. Show you’re there to learn. Take notes, be responsive, let them talk. Also, look for clues if they side-step or avoid a question. Dig a little but respect boundaries.
- Repeat back what you understand – to confirm that you understand something, rephrase it slightly, the repeat it back to them.
For example, ‘So I understand this correctly, you mean that the CRM software is designed for mobile devices?’
- Ask for clarification – for those points you need to get specific answers for, interrupt when appropriate, and ask them to confirm exactly what you need to know. Here, we want to know the Android version is supports. For example, ‘Ok, the CRM software only works on android 6.6 systems, right?’
- Use white boards – you can only talk for so long before fatigue sets in. One sign of this is when the SME starts repeating themselves. To avoid this, use a white board to diagram the concepts, relationships between ideas, and processes. Once you’ve finished this, take photos, and use these to refresh your memory and create flowcharts, use cases, and other diagrams for your document.
- Create an agenda – this keeps the interview on track. It stops verbose personalities wandering off topic. Then, start at the top, then work into the details. As the meeting is progressing, go through the items and see if you’ve covered all the points.
- Big picture first – ask them to outline the larger aims of the project first, just to put things in context. This also helps orient the interviewee as they may not have had time to prepare for the meeting. Identify the big ticket item, then drill down into the finer detail.
- Drill down to smaller areas – Isolate specific areas you want to discuss. It’s not unusual for interviewees to have pet subjects or gripes they want to complain about. If you notice this, nip it in the bud, then get back to the agenda.
- Keep SME on track – Avoid deviations. Again, it’s not unusual for SMEs to lose focus or go off on a tangent. Nudge them back in the right direction and make sure you get the answers your after.
- Keep an eye on time. One suggestion is to stop at the half-way point of the meeting, assess where you are, share this with the SME, then continue. Avoid getting caught up in the momentum of the meeting, then realizing you’re out of time.
- Aim to understand the concepts for yourself. The most important outcome from the meeting is that you now understand the subject. You can’t document what you don’t understand. So, keep probing and asking questions until you’re satisfied that you understand the subject.
- Keep asking questions until you understand how it works. Explain to the SME how you understand the concept, ask if this understanding is correct, and remove any ambiguity or assumptions you may have had about the topic.
- Relationships between concepts. One way to deepen your knowledge is to look at the topic from different angles. See how it relates to other areas. Where’s the connection? What do they have in common?
- Ask for real world examples. To avoid getting stuck with abstract concepts, ask how this will work in the real world. For example, diagram a few use cases. This is also a good way to test your interpretation of the subject. Real world examples will also help you explain how to works to non-technical readers.
- Known issues. Another area to discuss is known issues with the application. This gives you more insight into how it should work but may be having difficulties during development.
- Clean the white board. Don’t leave anything behind. This also supports ISO and compliance requirements for data protection and confidentiality.
Functional Requirements Evaluation Form
As soon as the meeting is over, write up the notes. You’ll forget things very fast. Write them up while your understanding is still fresh.
- Create use cases based on what you discussed at the meeting. Use these are reference points to develop other materials.
- Share these for confirmation. Ask the SME to review the notes. Encourage them to add anything we may have overlooked.
- Update the documents if necessary.
In this tutorial, we look at what’s involved in gathering requirements.
For me, what I’ve learned as a business analyst, is that learning to listen, to ask the right questions, and ignoring the ‘noise’, as critical points to capture the requirements. If you have any thoughts on this or areas where you are stuck with your functional analysis contact me.
Editor’s Note: This post was originally published in April 2015 and has been updated for freshness, quality, and comprehensiveness.