Thomas A. Alspaugh's Requirements Elicitation “Quick Start” thomasalspaugh.org/pub/fnd/quickStart.html

What is a problem?

A problem can be defined as a difference between things as perceived and things as desired.  In RE we are primarily concerned with identifying the problem.  We aren't looking for a solution (that's the role of design); we are defining the problem a solution would solve, and finding criteria to identify a successful solution. 

Starting points

Sometimes it's hard to get started.  One approach is to use an easy but less-than-ideal starting point, and then work on it until you have a problem definition that matches the template above. 

  1. Start with a potential solution (then ask what problems it solves). 
  2. Start with a technology (then ask what someone would really, really want that for). 
  3. Start with a simile (then ask questions to find out how a solution would be like that). 
    [Simile:  Oxford is like a hive of industry.]
  4. Start with a metaphor (then ask questions to find out how a solution would different from that). 
    [Metaphor:  Oxford is a hive of industry.]
  5. Start with a mockup; a mockup is a reified metaphor. 
  6. Start with a name; make up one if necessary. But be aware of what connotations it carries; connotations are the strength of using a name, but also the weakness.  Then talk about a solution using the name. 

By the time you realize a project has begun, the beginning phase is already past.  The moment you realize you are starting to develop something, stop and write down everything you can remember that led up to this point.  It is during this unconscious initial phase that the biggest assumptions are made. 

Context-free process questions

  1. Who is the client for a solution to this problem? 
  2. What is a successful solution worth to this client? 
  3. (If implausible) What is the real reason for wanting to solve this problem? 
  4. Who should be on the requirements team?  Should there be a single team or more than one? 
  5. How much time do we have to do this? 
  6. What is the tradeoff between the time it takes and the value of the result? 
  7. Can we copy something that already exists? 

Context-free solution questions

  1. What problems does this solution solve? 
  2. What problems could this solution create? 
  3. What environment is this solution likely to encounter? 
  4. Is there someplace I can go see where a solution will be used? 
  5. What kind of precision or reliability is required or desired in a solution? 

Metaquestions about questioning

  1. "Am I asking you too many questions?" 
  2. "Do my questions seem relevant?" 
  3. "Are you the right person to answer these questions?"  Are your answers official?" 
  4. "In order to be sure we understand each other, I've found that it helps me to have things in writing so I can study them at leisure. May I write down your answers and give you a written copy to study and approve?" 
  5. "The written material has been helpful, but I find I understand some things better if I can discuss them face to face.  Can we get together at some point, so we can know each other better and clarify some of these points?" 
  6. "Is there anyone else who can give me useful answers?" 
  7. "Is there anything else I should be asking you?" 
  8. "Is there anything you want to ask me?" 
  9. "May I return or call you later with more questions, in case I don't cover everything this time?" 

Effective listening

"People are given two ears but only one mouth, because listening is twice as hard as talking."

Consider these items which can affect the success (or not) of your elicitation: 

  1. What is your attitude?
    • Are you experienced or a novice with this area?
    • Do you like/respect/trust the speaker, or not?
  2. What is the speaker's attitude and situation?
    • Relaxed/nervous/impatient/confident/...?
    • Knowledgeable or not?
    • Motivated to give you what you need, or not?  If not, why not?
  3. What is the space like?
    • Your office, his/her office, a neutral location?  Each has advantages. 
    • Quiet or noisy?  Usually quiet is much better. 
    • Private or public?  Again, each has advantages. 
    • Useful materials (charts, notes, reference books, ...) are nearby or not?

Active listening

Whatever your questions, the process of asking them will be more efficient if you practice active listening

Paraphrasing what you are hearing is effective because

  1. it shows the speaker that you are interested and paying attention
  2. it helps the two of you identify misunderstandings and miscommunications
  3. it gives an opportunity for the speaker to correct any misunderstandings
  4. it gives you confirmation that you have understood (when you have).

Acknowledgements

Parts were adapted from Gause and Weinberg, Exploring requirements: Quality before design

Valid XHTML 1.0 Strict
Valid CSS!
2010Feb24We20:57
Thomas A. Alspaugh