Powerful Questions

Powerful questions are key to good analysis sessions.

From http://www.theworldcafe.com/pdfs/aopq.pdf a great quick read btw.

“Questions can be like a lever you
use to pry open the stuck lid on a
paint can. . . . If we have a short
lever, we can only just crack open
the lid on the can. But if we have a
longer lever, or a more dynamic
question, we can open that can up
much wider and really stir things
up. . . . If the right question is
applied, and it digs deep enough,
then we can stir up all the
creative solutions.”

Powerful questions dig into underlying assumptions, they create interest, and most of all they get people interested and good discussions come forth from them.

Question why

I am looking for what powerful questions you use in your analysis process so we can create a list (grabbing some from an old thread in my email as well). Here are some examples:

What is the smallest possible thing we can do to deliver this business value?

What is the need this system fills, not “what it does”

If I turned off the server tomorrow who would be the first person to notice and why?

How would you verify that this is working correctly?

what is the earliest point you can know whether the system has any value to you? How will we do this?

Why are we starting here?

Please keep them coming, the idea of powerful questions can quickly unlock the door to great discussions involving our software process.


  1. Posted February 29, 2012 at 8:44 am | Permalink | Reply

    What is the minimal setup needed for first release?
    If we could keep only half of the existing features, what would they be?
    How much money do we gain or save from this change?

    What is the smallest step that would give us the most benefit?

  2. Posted February 29, 2012 at 12:49 pm | Permalink | Reply

    What is the least beneficial technology in our stack?
    How expensive would it be NOT to solve this problem?

    What if we take 1 developer away from this project?

    What would happen if our entire datacenter crashed and all data is lost?

  3. Posted February 29, 2012 at 12:57 pm | Permalink | Reply

    What is the time frame ? When this must be in sandbox/ready for testing/production ?
    Lay out few dirrerent dirrections to implement this (in terms of SW architecture) ? How they differ ? How much will cost us to switch from variant A to B ?
    Who will be engaged in this task/project ? Who will give feedback/requirements ? Who will tell that it is compleated.

  4. Posted February 29, 2012 at 1:00 pm | Permalink | Reply

    Posted these to my blog a while back. The context is set based concerns in a DDD\CQRS\ES world, but could be adapted to (defensive) features in general.

    Under what exact circumstances / business operations could this issue occur?
    What are the chances of this happening? Or, how big is the window of opportunity for this to occur?
    What is the business impact of something like this happening?
    Is it possible to mitigate the chances of it happening through design of the business operations?
    Can it be automatically detected?
    How quickly can it be detected after the issue occurs?
    Can it be compensated (fixed) after occurring?
    Can the compensation be automated and transparent?

  5. Posted February 29, 2012 at 1:32 pm | Permalink | Reply

    Few questions are stronger than a simple “Why?” or “So what?”, but here are some other thoughts…

    On top of my head:
    One simple but effective tactic is to extract a broader concept from a proposed solution/feature to verify the need and find alternatives (I called it “Extract Concept”: http://www.agilesensei.com/blog/articles/2008/03/12/patterns-of-systematic-creative-thinking-extract-concept/).
    Once a feature or solution is proposed or implied, I’d ask:
    “This is a specific way of doing what?”
    An then: “What other (an potentially cheaper) alternatives can we think of?

    Another is to “reverse assumptions”.
    “What assumptions are we making?”
    Then create a list of those assumptions/constraints (e.g. “users need to be notified via email”)
    Finally create a list of their reversal (e.g. “users don’t need to be notified via email”) and see if you can create alternatives that challenge/overcome one or more of those assumptions.

  6. Posted February 29, 2012 at 1:59 pm | Permalink | Reply

    Hey Greg, a question I usually make is: could you explain me, step by step, what would you do if you had to accomplish this same task without any system?

  7. Billy Stack
    Posted February 29, 2012 at 2:14 pm | Permalink | Reply

    Really interesting blog post…

    We are currently trying to solve a brand new problem in a completely unfamiliar domain at the moment.
    The problem is rather complex, so we have been performing domain familiarisation, learning and knowledge crunching for the past few weeks.
    Some of the better questions I have heard are already mentioned above but here are a few others:

    What part of the business solution is not solved (or is the domain expert unsure in any area)? – Then zonal discusion around that area is performed that may lead to solutions.
    We have a list of “ities”, where we question the projects “reliability”, “security”, “durability” etc – We mark this and it gives us a very good picture of the type of solution required
    You have explained the preferred solution, now with resources and deadlines taken into account – can we define the scoped solution we are going to deliver?

    Also, during these “knowledge crunching” sessions, we have a facilitator who can deem a question unsuitable or too off topic. Screening questions can be a very good way of ensuring the right stuff is being talked about during these discussions

  8. KCiesielski
    Posted February 29, 2012 at 3:28 pm | Permalink | Reply

    What would be the negative consequence if on this view we presented data that is not up-to-date?

  9. Chris B
    Posted February 29, 2012 at 4:18 pm | Permalink | Reply

    Recognising the volatility, targeting the complexity
    + What in your processes changes most? Why?
    + What part of the system took you the longest to learn/understand? Why?

  10. Posted February 29, 2012 at 5:12 pm | Permalink | Reply

    “How’s this any different from … ?”
    “Are we really in the business of … ?”
    “Is it going to be worth anything beyond the first use ?”
    “How hard would it be for a competitor to come up with the same thing ?”
    “How likely are users to understand this feature ?”

  11. Posted February 29, 2012 at 7:23 pm | Permalink | Reply

    Whomever you are asking questions to, or getting answers from, make sure they have some serious skin in the outcome.

  12. Mark
    Posted March 1, 2012 at 11:43 am | Permalink | Reply

    This is one of those articles that say in a few lines what I have been struggling to express with many words. Thanks! Here two more questions:

    Do you know what end users want, what they care about? Can we give it to them?
    How much can be removed from the product? Does it get better or worse?
    Do you know where bottlenecks occur in the system?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: