Tuesday, 03 January 2012 11:55

Open-Ended Questions

Written by 
Rate this item
(0 votes)

FEATUREJan3rdThe Business Analyst as Explorer, Part 5 of 6 by Karl Wiegers

An effective business analyst is not simply a scribe who records whatever customers say. The BA needs to stimulate the thinking of the people he’s interviewing to get below the surface. The BA should ask questions such as “What else could happen that we haven’t already discussed?” and “Would anyone ever want to <do something>?” and “Could <some condition> ever occur?” These are ways to discover possible lower-probability scenarios or options the system should provide to the user.

In their book Exploring Requirements: Quality Before Design, Donald Gause and Gerald Weinberg describe “context-free questions.” In their words, context-free questions “are high-level questions that can be posed early in a project to obtain information about global properties of the design problem and potential solutions. Context-free questions are completely appropriate for any product to be designed….” The BA can use such questions to explore both processes and products. They’re a valuable complement to specific questions about the capabilities and characteristics of the product being specified.

In my experience, requirements elicitation discussions typically emphasize the expected normal behavior of the system. However, anyone who has ever done any programming knows that a good developer writes a lot of code to deal with exception conditions. An important aspect of requirements elicitation is to identify things that could go wrong, determine how the system should detect an error, and describe how the system should respond to the error. As a BA, you need to probe around the exceptions during your requirements discussions. Ask questions such as “What should happen if <some error condition arises>?” This is a way to detect missing requirements that haven’t come up in the discussion yet. It’s also a way to surface previously unstated assumptions. Testers are particularly adept at spotting exception conditions, so I like to have someone with testing experience participate in requirements elicitation sessions, if possible. I also engage a tester to review the emerging requirements documentation and look for exceptions and alternatives we haven’t considered.

Beware of asking questions that solicit a yes/no or multiple-choice type of response. Such questions can unnecessarily constrain the answer so that the requirements discussion misses an opportunity to discover (or invent) something that goes beyond the BA’s preconceptions. Of course, this doesn’t mean you can’t ever ask a question with a closed list of possible responses. Just make sure you aren’t prematurely constraining the exploration.

The last question I typically ask in a requirements elicitation discussion is, “Is there anything else I should be asking you?” This is an example of a metaquestion, a question about a question. I freely admit that I don’t know all the right questions to ask. Sometimes the person of whom I’ve asked this question realizes that we haven’t yet discussed some important topic. I simply didn’t know enough to bring it up.

I use this same question in daily life. A few years ago I had new kitchen counters installed in my house. I’d never done any home remodeling before and didn’t know that much about the process. Near the end of my discussion with a contractor, I asked, “Is there anything else I should be asking you about this job?” He thought for a moment and then brought up an issue we had not yet discussed. This is also a collaborative question to ask. It acknowledges that you rely on the expertise of other people to work toward a mutually satisfactory project outcome.

Business analysis is hard! Because it is intrinsically a communication-centric human activity, I don't know of any shortcuts. Business participants in the requirements elicitation process can get frustrated by the number of questions the BA asks and how long the process can take. But that's just the way it is. And it's a whole lot cheaper and less painful to have those discussions before you've actually built the software.

Don't forget to leave your comments below.


Karl Wiegers is Principal Consultant at Process Impact, www.ProcessImpact.com. His interests include requirements engineering, project management, peer reviews, and process improvement. His most recent book is a memoir of life lessons titled Pearls from Sand: How Small Encounters Lead to Powerful Lessons.

Read 6336 times Last modified on Tuesday, 27 March 2012 13:46
Karl Wiegers

Karl Wiegers is Principal Consultant at Process Impact, www.ProcessImpact.com. His interests include requirements engineering, project management, peer reviews, and process improvement. His most recent book is a memoir of life lessons titled Pearls from Sand: How Small Encounters Lead to Powerful Lessons. Karl produced this article for Enfocussolutions.

Comments  

 
0 # roger dukhan 2012-01-03 04:53
Great article..the value of the collaboration between the BA and the client cannot be overstated. Helping to create an environment where ideas can be shared on a collegial basis is incredibly rewarding in the requirements elicitation phase.
Reply | Reply with quote | Quote
 
 
0 # Don 2012-01-03 05:59
Great article Karl and loved the point about: "Is there anything else I should be asking you.." I think sometimes as BA's we need to swallow our pride a little bit and engage our project teammates fully. Plus it helps us to cover all the bases. Sometimes a question like that that is the trigger we need to unveil key information, Thanks!
Reply | Reply with quote | Quote
 
 
0 # Martin Schedlbauer 2012-01-03 07:16
Great points, as usual. I fully agree with your assessment that we need to ask more "context-free" questions and become facilitators in the quest for "solution needs and criteria". Too many BAs are order takers and assume that users and stakeholders can clearly articulate their needs without us truly facilitating the knowledge discovery process.
Reply | Reply with quote | Quote
 
 
0 # SimonTheBA 2012-01-03 14:02
One technique I like to use is the "stupid user" persona. When I'm talking to a stakeholder, I start imagining what a "stupid user" would do if faced with the situation the stakeholder is talking about. This usually leads to a "What if I did ?" kind of question (where is some totally out-of-the-blue stupid thing to do) which prompts further productive discussion.
Reply | Reply with quote | Quote
 
 
0 # David Ryan 2012-01-03 17:10
Interesting article Karl - particularly agree with having a testing voice during requirements gathering and review, I have always found this beneficial in bringing up scenarios that might otherwise have been missed
Reply | Reply with quote | Quote
 
 
0 # Bharath Venugopal 2012-01-04 22:41
A very nice article. Considering testing resources is a good idea to explore the unconsious requirements.
Reply | Reply with quote | Quote
 
 
0 # Bennett Mendes 2012-01-05 10:15
Coming from the tech ranks, I can relate to what Karl Wiegers is articulating. These tests that a Tester carries out are referred to as ' negative testing ' . They seek to discover : A - What is the system NOT supposed to do B - How would the system handle an exceptional case A good Developer should always handle the ' Else ' or exceptional condition, rather than leaving it dangling. Now, there is much ' Else ' logic that never gets executed for years in systems. But, on the odd case that it does, there is a controlled handling of the situation rather than a crash or worse still, producing of incorrect results. For a BA, by all means, ask the exception questions in an attempt to be thorough, but be careful not to spend too much time in that direction, because the likelihood of those scenarios occurring may be miniscule.
Reply | Reply with quote | Quote
 
 
0 # Chaminda 2012-02-27 03:40
Great article and it is real treat read small articles like that from Karl. @Bennett, I agree with you, exploring exceptions while on the elicitation stage... I also ask most of exception scenarios what is the likelihood of happening. I try to get it % answer. Basked on the % answer I decided to go or no go further on that path.
Reply | Reply with quote | Quote
 
 
0 # Business Analyst 2012-03-02 04:19
Reading this article today was so timely as I was just having this SAME discussion with another BA just this morning. I love the question "Is there anything else I should be asking you" is golden! I will definitely add this to my dialog, thank you Karl.
Reply | Reply with quote | Quote
 

Add comment