About Scott Sehlhorst

Scott is a strategy and product management consultant. He has also worked as a business analyst, technical consultant, software developer, project manager, program manager, and electro-mechanical design engineer.

Provocateurs Gather the Best Requirements

Ask someone what they want, and they’ll tell you they want a faster horse. Provoke them, and they’ll tell you they have a ‘get there faster’ problem, an ‘equine waste disposal’ problem, and issues with total cost of ownership.

Thought Provoking

If your requirements elicitation session looks like the photo above, you’re doing it wrong. However, just asking people what they want and confirming that you heard what they said is also not enough. Active listening is important, but to capture great requirements, you also have to provoke thought about why someone is expressing a “requirement.”

Adrian Reed wrote a great article this week (hat tip to Kevin Brennan) on asking provoking questions that leverage lateral thinking techniques to get better insight into the true requirements. Adrian presents eight questions, such as “Imagine if we fast-forward to 2 years after the implementation of this project, what will the organisation look like?” Some of his questions remind me a lot of the ideas behind Enthiosys’ Innovation Games (and Luke Hohmann’s Innovation Games book). The remember the future, and product box games immediately come to mind.

Unprovoked Thoughts

Most good subject matter experts I’ve met, when asked about the important problems to be solved, try and be really helpful and incorporate elements of solutions in their descriptions of problems. They will say things like “the system must integrate with [other system] to do X.” They may even ultimately be right, that this particular system integration is a constraint, and that “X” is the only acceptable (by policy) way to achieve “Y.” But usually, neither constraint is a requirement – it is a solution approach.

Subject matter experts who are not as good at having and sharing insights about their domain often confuse problem manifestations with their underlying problems. By analogy, it is requesting treatment for a runny nose, when the problem the you have is the flu. You can dry up your nose and still feel horrible.

Provoking Questions Reveal Real Problems

Adrian’s questions are designed to help you understand that you’re treating the flu, and not a runny nose. Requirements gathering is a lot like diagnosis of a medical malady. You have to discover the real problems. The problems that people are willing to pay to solve. You have to uncover the latent problems that are “hidden” behind problem manifestations.

In a (rare for me) American football analogy – the problem manifestation is that your quarterback is completing 1 of 20 forward passes. Replacing the quarterback and receivers will not solve the problem. The problem is that your offensive line is not able to give the quarterback sufficient time to throw higher-probability-of-success passes.

Asking questions that force people to describe their objectives differently is a good way to bypass solution-design answers. It also creates chinks in the armor of problem manifestations. Completing more passes is not the future you’re looking for, winning more games is the goal. When you’re treating your flu, your goal is not to be sick – but with a dry nose. Your goal is to be well. When you ask someone to remember the future, they will will describe being not sick, not being dry-nosed. The product box will be a description of a winning team.

Check out Adrian’s list of questions, and ask yourself, how do you get to the root causes? Ishikawa diagrams (also known as cause and effect or fishbone diagrams) provide a great visualization tool if you’re a spatial thinker or a whiteboard-talker. In the example below, you can quickly see that spending too much on fuel is part of the real problem – that the cost of operation is too high. You can likewise see that under-inflated tires are a source of poor fuel economy. Check out the Ishikawa article for an explanation, or this article on providing context (with Ishikawa diagrams), and this article on buyer and user personas for more examples of problem decomposition.

If you’ve got any examples of problem-statement-turned-problem, chime in below…

Reference: Provocateurs Gather the Best Requirements from our JCG partner Scott Sehlhorst at the Business Analysis | Product Management | Software Requirements blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

Leave a Reply


seven − 5 =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close