Thinking in Scenarios Simplifies Scoping

When scoping out and planning work, an easy way to get a comprehensive understanding of everything that needs to happen is to enumerate every scenario. I find this technique saves a lot of time and clarifies what to do in a way that avoids surprises later.

How do you do it?

Start by laying out each variable (try using a scenario table). For a product feature it might be some aspect of the user and the action. For example: is the user new or existing?, did they take the action yet?, is the action complete or in-progress?, did something go wrong?

This gives you a set of scenarios to enumerate: a new user who hasn’t taken the action, a new user who has taken the action but it’s not done yet, a new user who completed the action, a new user that encountered an exception (same for an existing user). Now you can trim down the list of permutations to the ones that makes sense and decide how to handle each one.

That’s a trivial example, but I find the same technique is just as useful when negotiating a contract and wanting to make sure all your bases are covered.

See also:

  • Many more things can be explained with finite state machines but it’s a little harder to understand compared to the scenarios technique
  • This also helps spot potential issues early like a pre-mortem exercise
  • Use a Scenario Table to Organize Complicated Situations

    When thinking in scenarios, I find it useful to lay it out as a table. A table is the most compact way of sharing definitions with a team. A table helps you explain what’s going on in a way that is mutually exclusive and collectively exhaustive. This keeps the team organized and provides the ability to refer to each case.