TrainingConferencesAbout UsContact UsAdvertiseSQE.com

StickyMinds.com: brain food for building better software

Join

Join

Clarify Your Search Criteria
Tips on Using Our Search Feature(s)
StickyMinds.com Home
ResourcesEventsTopicsPowerPassJobs
Software Testing & QA Online Community  >  Detail: Requirement #1: Ask Honest Questions



A StickyMinds.com Original
Article Picture
Requirement #1: Ask Honest Questions

By Becky Winant

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: To get good requirements, you have to ask good questions. But what makes good questions, and how can you use them to systematically uncover requirements? In this week’s column, Becky Winant shares the art and science behind asking questions that work.


Tricentis
To get good requirements, you have to ask questions. This may seem obvious, but I’ve known analysts who believed that they had to have the answers instead. This stifled requirements sessions and left customers feeling as if their contributions were unimportant. Questions that don’t elicit involvement from the participants are false questions. Use an honest question and you’ll engage people, provoke interaction, and upgrade requirements quality.

Here is how it works. Though important, don’t stop with the basics of who, what, why, where, when, and how. Refine your questions by evaluating the expectation and intent behind each question. If honest, your questions

  • are egoless
  • seek useful answers
  • make no assumptions

Practicing Egoless Questioning
Working in New York City, I had many clients from Wall Street. To develop financial systems, I had to interview financial managers and analysts. Since I wasn’t a financial expert, I asked lots of questions. They were happy with the systems I delivered, and I was happy with my process.

One day my manager Roger sat in on discussions for a new system. After the meeting he sputtered, “How can you do that?” “Do what?” I asked. He went on, “How can you ask basic questions about standard financial practices?” Roger felt that he could never do that!

Probably Roger was afraid to appear foolish. I’m sure he knew that he wasn’t a financial expert, but his MBA in Finance made him feel that he needed to appear “qualified” (even though many people have degrees that they never apply professionally). This made it hard for Roger to realize that a question, far from indicating that you are dumb, instead indicates interest in the other person’s answer. I suspect that when Roger assumes he has to have the answers, he ultimately frustrates himself and his clients.

Seeking Useful Answers
When you ask a question, is the answer useful? Perhaps you wanted specific rules governing bonds, but received a survey of the bond business. Or you needed the accounting system overview, but got a litany on accounting procedure. Ask yourself, “How could I have asked the question differently?”

Try these approaches:

  1. If you want a broad perspective, consider types of questions that are necessary for any project effort. These probe for project parameters and motivation. Examples are “What problems are you trying to solve?” and “What problems might the solution create?” These are called “context-free” questions.
  2. If you seek specific information, ask pointedly narrow questions. Ask specifically how, specifically when, and specifically what. For example, “Exactly how does an invoice get processed?”
  3. If you’re lost, ask about your requirements-gathering process. Ask “What questions should I be asking you?” This meta-question invites the people closest to the system and the problems to express what is important to them. Responses target important issues and expectations for a project and may reposition your requirements efforts.

Making No Assumptions
In a court of law, they call questions with built-in assumptions leading questions. “You didn’t like Miss Smith, did you?” This leaves little room for an answer. By contrast, an analyst needs to expose as much information as possible within the bounds of the project mission. So, open up the dialogue.

Perhaps the problem perceived isn’t even the problem to solve. One client of mine built software for geologic surveys. In the field they experienced repeated system failures. Investigation of the software and hardware produced no clues to the problem. Noticing a cyclical pattern in the timing of the failures, one person asked questions about daily operations. It turned out that the local crew in Turkey was cutting the grid wires to shut down the system. They did this to accommodate their normal breaks for tea and cigarettes. The Americans made adjustments to fit local custom.

What else may be easily assumed? Examine scope, budget, schedule, what information is available, who has useful information, the problem boundary, timing, and the solution as resolution. Use context-free and meta-questions to get past assumptions:

  • “Where do you expect this to be used?” yields locations, departments, people, distribution, size, and implications for equipment, safety, security, and added physical requirements.
  • “What is it worth to you to solve this problem?” yields insight into budget assumptions, motivation, level of commitment, and true interest in defining requirements.
  • “When do you do this?” returns business and product cycles, timing, and ad hoc and planned system events. Events mark critical stages, starts and stops to processes, and granting and denying permissions. If an event doesn’t happen, that may be another event!
  • “Who should I talk to?” and “Who doesn’t need to be involved?” find people who know the business and system, need to use it, are backing it, benefit from it, and those who may want it to fail.
  • “How does this work?” and “How might it be different?” may come back with surprises you hadn’t anticipated.

Anything can be taken for granted. One analyst didn’t include in his requirements document the database that fed his system. I asked him why. He said, “Everyone knows it’s there. It’s obvious.” Words to be wary of! It turned out that the database was scheduled for redesign.

You might know a lot about the business and systems in your organization or industry. But remember my story about Roger. Your clients will give better answers when you recognize that they are the experts. Any questions?

Reference See Gerald M. Weinberg’s Exploring Requirements: Quality Before Design for a good discussion of questions.



About the Author
Becky Winant (rwinant@espritinc.com) has been mentor, teacher, and consultant on exploring requirements for more than twenty years. She also assists projects with team and process development and with system architecture and analysis modeling (www.beckywinant.com).

Back to Top
 

StickyMinds.com Weekly Column From 3/4/02 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Remeka Turk 1/30/2008

I am conducting my first end-user requirements gathering. My goal is to poll the users to understand what do they perceive as good or problematic with the system. Can someone give some guidance regarding the specific questions I should ask?

 
 
Comment:    
by Catherine Moore 3/15/2002

I found the article very useful since one of the primary problems I experience when eliciting requirements is that my customers (for one reason or another) often don't know how their own business processes work. Since I define the root source of problems with existing software AND assist in developing novel systems, assumptions about how things are done at a business are deadly. That is also why it is so important to interview multiple sets of folks from all walks of a business' life, from manager to data entry, and not just one of each, if you can avoid it. If users or potential users of your software cannot articulate their own business...Read On

 
 
Comment:    
by Becky Winant 3/11/2002

I couldn't agree more with your point about facilitation being a key analysis role. And, defining everyone with an interest (or disinterest!) is a significant part of the process. Thanks for your feedback.

 
 
Comment:    
by Becky Winant 3/11/2002

Great idea! Yes, we can easily forget that requirements gathering is a personal process, too.

 
 
Comment:    
by Becky Winant 3/11/2002

I'm glad to hear that you find this approach useful. The commercial software segment is not alone in "leading the customer". That happens in IT and embedded systems. IT developers, like commercial develeopers may fall into leading the customer. Engineers fall prey to the trap of making assumptions.

 
 
Comment:    
by Patty Dowden 3/7/2002

I am about to take a test position where they are inventing the job. This article will help me to get up to speed quickly by using my own job description as the requirements base. Thanks,

 
 
Comment:    
by Tek Wallah 3/6/2002

What an excellent set of guidelines for talking to customers -- especially for commercial software that must fit the needs of many different businesses. We have all been guilty of 'leading' the client to a particular response based on our own preconceptions. The open-ended approach sounds like a much better way of eliciting what the customer both wants and really needs.

 
 
Comment:    
by cynthia mendoza 3/6/2002

Great article! I believe that asking straightforward questions is very important in order to gather good requirements. Too many analysts assume what the user needs and fail to understand what the user wants. I believe that it is the analyst’s job to assume the role of “facilitator” during requirements definition and help keep the user stay focused on communicating their likes, dislikes, and wants. As Analysts we should never assume ownership of the requirements as they belong to the user. Asking straightforward questions will help the user express the ideas in a clear and concise manner. After each answer, try and sum up what was said...Read On

 
 
Comment:    
by Krishnamohan ravipati 3/6/2002

A good article on the requirement gathering. A business analyst is the communication link between the Solution developer and the solution user. Unless the business analyst understands the problem he/she can not communicate to the developing team about the requirements. The Analyst will be able to communicate to both the teams only by asking Honest questions. Thank you Becky Winant

 
 
Comment:    
by Sam Shober 3/5/2002

This was a good article. I would add that one should try to solicit examples from the end user as often as possible for any output or design questions. Also use the questions "Are there any cases where these conditions do not hold true?" and "Can you think of any exceptions to the rules that you just stated?" ask them until the answer is "NO" then go ask someone else. Another thing to remember is that often times the end-users you are interviewing may not know how to use technical verbiage accurately even if they have the words in their vocabulary. Be sure to clarify all of the terminology they use since sometimes the words they use have...Read On

 
 
Comment:    
by Anthony Ludwig 3/5/2002

A bragging protégé – the title of the article states it all. I define “Honest question” as “to call on for an answer an interrogative expression free from fraud or deception.” What this means to me is that my questioning should not persuade my interviewee by taking him/her down a solution path, especially based on my past biases. Becky brings us back to the basics, “The only dumb question is the one we don’t ask.” We all know what happens when we assume, so turn it around and use it to our advantage. I have had wonderful feedback by different departments of a company when I have finished interviewing them with regards to gathering...Read On

Author's Response:
3/6/2002    
Tony, I like your observations that "the only dumb question is the one we don't ask" and that relationships are the underpinning for working together productively - questions, requirements and beyond! Glad to hear from you!

 
 
Comment:    
by Srinivasan Desikan 3/5/2002

Good article. I would like to add some more points. It is a good pratice to ask questions sothat you will be clear on what exactly the requirements for the product are. This is only the first step. The second step is converting the requirements into testable requirements. The third step is converting the requirements into measurable requirements. Now that all test engineers will find them easy to test. To give an example when a customer say "I want the product to work reliably for 24 hours with 100% availability" we should ask questions to find out what are the typical tasks/activity that will be done using the product. This will...Read On

Author's Response:
3/6/2002    
Srinivasan, You are right on about testable requirements. I tend to mentally segment getting requirements from spinning them into a strong document with rigor, so I didn't go there...yet. May be a good topic for next time. Thanks for your comments.

 
 
Comment:    
by yogita sahoo 3/4/2002

Requirement gathering is not a process of recording what the users want but helping the users explore and figure out what they want. So making honest and simple questions surely help to get the maximum out of this process. The idea should be to stir up a discussion, starting with the basics (like - who, what,where,when etc.) and slowly climb up to complicated issues. The author makes sense in writing that the answers shouldn't be pre-assumed. But at the same time, I feel that alternatives and options should be available to make the discussion clearer and faster. Just remember not to single out or stress on any particular option while putting...Read On

 
Back to Top



 
Ads By Google
What's This?
 
 



About Us   |   Contact Us   |   Terms & Conditions   |   Privacy Policy   |   RSS Feed



© 2013 StickyMinds.com. All rights reserved.
PNSQC

Tricentis



STARWEST