Interviewing users is the most commonly employed approach to requirements gathering. In this technique the interviewer relies on the interviewee to know, and be able to verbalize, all of his requirements. This procedure may work very well for requirements that people are conscious of, but few people know all their requirements or can think of them all during an interview. For this reason, it is wise to avoid relying on interviews as your sole method of gathering requirements; instead, use them in conjunction with other techniques. That cautionary note notwithstanding, interviewing skills are highly useful in other contexts. For example, a requirements analysts can "interview" a model or a document. The skill here is knowing which questions to ask of the model or the appropriate stakeholder for the model. Often requirements analysts may choose to draw up questionnaires in advance. While this preparatory step gives some structure to the subsequent interview, we have found few stakeholders who are motivated enough, or who have time enough, to fill in a questionnaire prior to meeting the analyst. We suggest that you send an agenda of the topics that you wish to cover to your interview subject. This at least gives the interviewee a chance to have needed material close by or to ask subject matter experts to be present. Stakeholders should not remain completely passive during the interview. Instead, do your best to involve them by building modelsbusiness event responses, use cases, scenarios, and so onduring the interview. This approach creates a feedback loop between you and your stakeholders, and it means you can iteratively test the accuracy of what you are being told. Follow these guidelines to make your interviews more effective:
Thank the stakeholders for their time. Asking the Right QuestionsThe technique called neurolinguistic programming (NLP) utilizes a set of models, skills, resources, and techniques for improving communication. One of its resources is a linguistic meta-model for helping interviewers listen to what interviewees are saying and arrive at an unambiguous common understanding. This meta-model consists of a number of patterns together with questions that you can ask to identify potential misunderstandings and clarify meaning.
A linguistic meta-model is a guide for helping interviewers listen to what interviewees are saying and arrive at an unambiguous common understanding. Suppose that one of your stakeholders says, "We get the sales information . . . ." But what is meant by "we"? Who, specifically, are we talking about? And what about the "sales information"? What is the subject matter of this information? Just in this innocent sentence you uncover two examples of a pattern known as unspecified noun. This pattern is characterized by a term that is not defined consistently and might be interpreted differently by two people who are having a conversation, even though those people are nodding and thinking that they agree with each other. Another pattern leads to further questions: What is meant by "get the sales information"? Who is getting it from where? Does this imply some other activity associated with the sales information? This pattern is referred to as an unspecified verb. Some other useful patterns to listen for and trigger questions follow:
We are often tempted to make assumptions about which meanings people are intending to communicate. In reality, most of the terms we use have a certain amount of elasticity; we can stretch almost any term to accommodate a number of different meanings. As a requirements analyst, you can take advantage of NLP patterns to identify elastic terms and then use those terms as the basis for triggering questions that lead you to a more precise understanding.
Most of the terms we use have a certain amount of elasticity; we can stretch almost any term to accommodate a number of different meanings. |