Tuesday, 27 September 2011 10:39

An Inquiry, Not an Inquisition

Written by 
Rate this item
(0 votes)

Sept27thFEATRURE

The Business Analyst as Explorer, Part 1 of 6 by Karl Wiegers

Many years ago, my manager, Jerry, sat in on a discussion I had with a customer named Steve to explore his requirements for a new application. After the meeting, Jerry pointed out that I had been rather aggressive in my questioning of Steve. He was right. I hadn’t realized how hard I’d been pressing Steve to make up his mind on certain points and tell me exactly what he wanted. Fortunately, when I contacted Steve to apologize, it was clear that he wasn’t offended. Nonetheless, our discussion probably felt like an inquisition to Steve, rather than an inquiry into what he was asking us to build. Not the best strategy for a business analyst to take.

Another extreme approach to requirements elicitation is for the BA simply to record whatever the customer says and pass that information on to the developers. This doesn’t work very well, either. As with most things in life, the appropriate behavior lies in between the possible extremes.

Requirements elicitation is a process of exploration and discovery, not just collection (which is why I don’t talk about “gathering requirements”), and the BA is the guide. BAs need to recognize that customers won’t be able to present all their requirements in a single workshop or discussion. They probably don’t even know what their real requirements are yet. Elicitation requires multiple cycles of refinement, clarification, and adjustment as the participants move back and forth between high-level concepts and specific details.

But First, Some Questions to Avoid

The worst question you can ask during a requirements discussion is “What do you want?” The second-worst question is “What are your requirements?” No one knows quite how to answer these questions. Customers and other elicitation participants might not share the BA’s understanding of what the word “requirement” even means. When customers attempt to answer these questions in good faith, they typically generate a large number of random—yet important—thoughts.

I’ve observed this in some of my training classes, in which small groups of students conduct a practice requirements elicitation workshop on a sample project called the Cafeteria Ordering System. The groups are trying to learn how to employ use cases to explore user requirements. One member of each group plays the role of a user who would employ this system to order meals. Some groups begin by asking this student, “What do you want?” because this is how they’re accustomed to launching requirements discussions. They typically get responses such as:

  • I need to be able to pay by either credit card or payroll deduction.
  • I want to be able to order group meals for lunch meetings.
  • The system has to be available from home as well as from work.
  • I’ll have to submit delivery instructions for my meals.
  • I shouldn’t have to pay any delivery charges.
  • Can contractors order meals or just employees?
  • I want to be able to order meals at least a week in advance.
  • It would be nice if I could easily reorder the same meal I ordered sometime in the past.
  • Could I get nutrition information for a whole meal?

These are unquestionably important thoughts and ideas. However, when asked “What do you want?” the workshop participants tend to spew out these thoughts in a random sequence with no organizing structure. This makes it hard for both the BA and the customers to know what the information means, what to do with it, where to store it, and what to discuss next. The student groups who take this approach invariably flounder in the sea of random input. In contrast, those groups that grasp the use case approach early on make much faster progress. An important BA skill is to structure the dialogue and ask questions that will guide elicitation participants through progressive layers of refinement in an organized fashion.

The BA should remember his role as a neutral facilitator. We all filter what we hear through our own biases, preferences, experiences, and hot button issues. Avoid asking leading questions that steer customers to agree with your own intentions. Also avoid overruling a customer’s idea just because it doesn’t agree with your own point of view. I once observed a 60-participant “voice-of-the-customer” workshop that one of my consulting clients conducted to explore requirements for a major new product. The workshop facilitator was the senior manager responsible for the product. He had strong opinions about the project’s direction and didn’t hesitate to steer the discussion toward his predetermined outcomes. This is discouraging for participants, who will feel that they’re wasting their time if the facilitator already knows what the answers will be.

In the next installment in this series, I’ll explore some questions that are helpful for eliciting business requirements. These requirements define the organization’s business objectives for undertaking the project, define the product vision, and enable scope definition and management.

This series of articles describes some questions a BA might consider asking during elicitation discussions—as well as some to avoid. The articles are adapted from my book More about Software Requirements: Thorny Issues and Practical Advice (Microsoft Press, 2006). A classic resource of good questions for discussing requirements for any type of project is Exploring Requirements: Quality Before Design by Donald Gause and Gerald Weinberg (Dorset House, 1989). Roxanne Miller also suggests hundreds of questions to help the BA with requirements elicitation in her book The Quest for Software Requirements (MavenMark Books, 2009).

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 3205 times Last modified on Monday, 02 April 2012 16:24
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 # Beverly 2011-09-27 07:47
So instead of "What do you want?" do you have suggestions for a better (or some better) question(s) to begin with?
Reply | Reply with quote | Quote
 
 
0 # Karl Wiegers 2011-09-27 07:54
Beverly -- Stay tuned for future installments in this series for lots of questions you might consider asking during various types of requirements discussions to get things rolling... Karl
Reply | Reply with quote | Quote
 
 
0 # Andre Gous 2011-09-27 09:15
Relevant and helpful. Thank you for this, and all the good (and so often free) guidance over the years.
Reply | Reply with quote | Quote
 
 
0 # Karl Wiegers 2011-09-27 09:34
Andre -- Glad you enjoyed it, and glad my work has been helpful for you. Thanks... Karl
Reply | Reply with quote | Quote
 
 
0 # Adriana B. 2011-09-27 10:29
Can't wait for the rest of the series, Karl! "The worst question you can ask during a requirements discussion is “What do you want?” So true. @Beverly : Try "What is the problem you are trying to solve?" or, "What you are trying to accomplish?". Just make sure you are not dealing with the stakeholder from this comic strip: http://dilbert.com/strips/comic/2006-01-29/ ;-).
Reply | Reply with quote | Quote
 
 
0 # Chris Carlis 2011-09-27 13:42
Karl, thanks so much for this article. We BAs are constantly seeking to hone our elicitation skills, so I'm looking forward to reading the subsequent articles and discussing with participants the ideas and issues you bring forth. Also, with all of the noise about how Business Analyst positions are the in-thing nowadays, leading to many people inquiring about how to get into the field, you're offering this series of articles at the right time.
Reply | Reply with quote | Quote
 
 
0 # Wilco Charité 2011-09-28 20:28
@AdrianaB @Beverly A question i often ask at the start of any elicitaition is "When a ready-made product is build using your requirements, what do you want to do with it"? Off course i ask for the problem also, but many times the client thinks to know a solution also. Mostly, the client finds it difficult to define his real problem!
Reply | Reply with quote | Quote
 
 
0 # Thea Rasins 2011-09-28 22:26
Karl, Excellent points. Thank you for putting this series together. We all need a reminder to see outselves from the other person's perspective. Great stuff - keep up the good work.
Reply | Reply with quote | Quote
 
 
0 # Nivruthi 2011-09-28 22:58
Really excellent information, please keep updating more about analysis :)
Reply | Reply with quote | Quote
 
 
0 # Karl Wiegers 2011-09-29 01:30
@wilco: This is a good suggestion that gets to the idea of how the product will be used, not just what features to build into it. That's the essence of the use case or usage-centric approach, which I'll be describing in future articles.
Reply | Reply with quote | Quote
 
 
0 # Ram 2011-10-03 22:37
It was pleasure reading this article and looking forward to the series!!
Reply | Reply with quote | Quote
 
 
0 # sujatha 2011-10-04 04:04
BA is an important role and it traditionally sprung from the need of bringing more domain sense to IT projects ; And also talk client's biz language; Howev er that doesn't mean you simply mimic the Busiess team's role and leave your IT teams hanging; In true sense, BA is the role definition for the IT project and he/she bridges the gap of his/her IT team with the Biz Team In today's world BAs hit on the domain more or less correct; what they miss is the IT perspective that the author has highlighted rightly Whats crucial for a BA is to carry both the Business & IT perspective and no-one is preaching about getting more IT depth here.
Reply | Reply with quote | Quote
 

Add comment