Why don't we actually focus on the customers for use cases and scenarios for a change?

Scenarios, also known as use cases, are key to getting people up to speed on what you plan to test and keeping your tests focused on user needs. I have looked at a lot of scenarios lately and they all needed some love. There is a pattern to really good scenarios I have noticed. Here is an analogy and some example that will help you write great use cases. Great use cases are an important aspect of delighting your customers.

Focus on user goals, not user actions.

Remember the user doesn’t want to use a product just for the sake of using it. It makes their life easier or work better somehow. Focus on the job the user wants to get done. Not the technology we offer. When you write a use case, make sure you have a user goal firmly in mind. Then write about how the user would use our product to get to the goal. This isn’t a test case, so don’t mention UI, menus or other technology centric things. Think more about workflow. A very basic analogy is a shopping trip. If we made cars it would be easy to think uses want to steer left and right. But going left in a car isn’t a goal. It’s a means to a goal. What the user really wants is to get to the store. If the car had a “store” button (that worked) that might be a better solution than a steering wheel for that scenario. But if we confuse actions (turn the car) with goals (get food from the store) our scenarios won’t really be user focused. They will end up focused on our own technology in a useless sort of naval gazing.

The Kitchen Analogy (Based on a true story.)

Imagine you just purchased a new house. Imagine the kitchen is empty and you don’t have anything yet to put in it. You could just go to the store and buy a lot of “kitchen stuff.” That’s likely to end in several repeat trips while you flesh out your kitchenware. You could also do some scenarios. If you think about the goals you have in the kitchen you could end up with a pretty basic set of scenarios that will effectively drive your buying.

Use case examples

Using the kitchen metaphor here are some examples.

Poor: Our goal in the kitchen is to cook stuff in Skillet™ brand cookware.. In order to cook stuff we will need our Skillet™ brand pots, pans and utensils for cooking.

Better: Our goal in the kitchen is to prepare food. A typical food preparation scenario includes chopping (need knives), cooking (need pots and pans), serving (need flatware and serving ware) and cleaning (need sponges and soap.)

Best: Our favorite menu during a week includes scrambled eggs for breakfast, sandwiches for lunch and curry for dinner. We like to have martinis on the weekend.

Scrambled eggs use case: In order to scramble eggs we crack them into a bowl, mix them with a wisk, then cook them in a non-stick medium sized frying pan. We serve them with toast from a toaster on regular plates and use forks and knives to eat. We clean the plates and flatware in the dishwasher with powdered detergent and scrub the pan in the sink with a scrubby sponge and liquid soap. We dry hand cleaned items in a drying rack on a dish towel.

Sandwich use case: We make sandwiches from fresh bread that we cut with a bread knife on a plastic cutting board. We spread peanut butter and jelly on the bread with butter knives. We serve sandwiches on a regular plate and eat them in front of the tv with a paper towel to wipe the jelly from fingers and face. We clean everything up in the dishwasher with powdered detergent.

Curry use case: We make curry by chopping vegetables with a chopping knife on a plastic cutting board. We cut meat with a meat knife on a cutting board we only use for meat and never vegetables. All the ingredients go in a large stock pot. We serve rice as a side dish that is cooked in a medium pot. The rice is served in a serving dish. The curry is served in another serving bowl. We eat from bowls with spoons. We clean the serving ware in the dishwasher with powdered detergent and clean the pots by hand in the sink with a scrubby sponge and liquid detergent. We dry hand cleaned items in a drying rack on a dish towel.

Martini use case: When want to relax with a drink we like to prepare martinis in a shaker and drink them from martini glasses. We clean everything up (the next morning) in the sink with liquid soap and dry with a towel.

Spending your budget.

Every kitchen has limits on space, budget and shopping time. Test effort is exactly the same. If you make your scenarios focus on user goals, you can create a much more user focused test suite. Just like focusing on your favorite menu makes it easy to make sure you have all the things in the kitchen you need for your favorite meals. Favorite meals is another way to say "core user scenarios". No go out and delight your customers by thinking about what it's like to be them.