| Part 4 | What Is A Scenario? | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
  |
Scenarios enable software developers to verify that we understand how the users expect to use system that we are about to build. Here are two classic definitions of the term scenario: a) An outline or synopsis of the plot of a drama, opera, etc., indicating scenes, characters, etc. b) The outline of a motion picture, indicating the action in the order of its development, the scenes, the cast of characters and their appearances, etc |
||||||||||||||
|
R E A L   W O R L D   S C E N A R I O S |
of a Scenario in the real world? A scenario serves the same purpose as a map. We know that it isn’t possible to experience San Francisco by looking at a map of the city, but we can get an idea of the different business and residential neighborhoods in the city, and how to move across the city via highways or public transportation. As we all know, the map isn’t the territory, however, the map provides a means to evaluate some aspects of the territory. Let’s say we have a friend who is a playwright. She has a concept in her head for a play, which is derived from a book. There’s lots of description in the book about the thinking of the characters, who they are, how they came to be they way they are, and why they behave they way they do. In a play, this description must be represented to the audience without written words. The thoughts of the characters, while clear in the book, will be conveyed to the play audience explicitly through body language and implicitly through dialogue. Our playwright needs to find financial backing and someone to produce the play. Although she perceives the performance in her head, she must distill it down to the essence so that the producer can quickly understand the concept and become emotionally involved. Asking the producer to sit through a play reading isn’t appropriate at this early stage of development; the producer wants just enough information to determine whether go with the concept. The book is a popular title; the producer most likely has read it. However, the playwright can’t assume that the producer’s understanding will be the same as hers. People can read the same book, or see the same movie, and each person will take away their own impressions. She builds a scenario to convey the big picture of a play. The scenario will expose the major themes and characters that enable those themes to develop. A critical selling point is suggesting who might play the major characters. Imagine if Shirley Temple had been Dorothy in the Wizard of Oz. |
||||||||||||||
|
P U R P O S E   O F A S C E N A R I O |
In the context of software development projects, we have refined the common definition to apply to software designed for business purposes. Nevertheless, the fundamental definition of a scenario is still applicable: it’s the example that everybody always gives when they want to make the point clear. The scenario isn’t perfect solution, but it’s better than many (most) of the popular methods of gathering requirements. Scenarios enable us to identify process and metrics at the time as we create the usage model. The process of formulating the scenario gets us to visualization (shared hallucination). Once we have the visualization, we still have to tease out the rest of the requirements. Let's modify our definition of a scenario to be:
a) An unambiguous view of what the consumer wants
What do we mean by an unambiguous view? An unambiguous view leaves no room for interpretation, i.e., the consumer either wants to accomplish something or not, the consumer either does things a certain way or doesn’t. Earlier, we talked about how two people can read the same book, or see the same movie, and walk away with completely different impressions. An objective of the scenario is to minimize the ambiguity. What do we mean by consumer? In the context of a software development technology project, a consumer is a person who has a specific business task to complete, and, using a software application facilitates completing that task. We write a scenario from the consumer’s point of view so that the consumer can read the description and instantly relate to the events and activities as if she or he was physically involved with the task at this very moment. When we tell a story, whether it be the background for a play or a movie, we describe a sequence of events. When we tell a story about accomplishing a business task, we specify the attributes and behaviors of the people involved as well as the task being accomplished. Sometime the task is a compilation of related tasks. When we talk with the consumer, we ask, What is it that you want to do? In a scenario, we articulate what it is, what it is not, and what its behaviors are. A scenarist’s modus operandi is objectivity and clarity in describing these attributes and behaviors. The more objective and clear the scenario, the easier it will be for the consumer to understand, relate to, and evaluate.
|
||||||||||||||
|
W H Y   U S E   A   S C E N A R I O |
We talked about how a scenario captures the essence of the big picture. For software development project purposes, a scenario is a means to bridge the gap between the business consumer’s worldview and the software system designers’ worldview. In a scenario we describe a business task so that the consumer can recognize the task, yes, that is what I do, or yes, that is what I wish would happen. Our description is constructed as a sequence of deliberately chosen events so that we can measure the complexity, usefulness, and desirability of an application that would bring the scenario to life. We often build scenarios in pairs or in multiples. Again, our objective is to obtain a basis for metrics. We often need to ascertain how big a change the consumer is asking for. A pair of scenarios, one describing the current sequence of events, the other describing the accomplishment of the same task via the new or proposed sequence of events, gives us the ability to measure, and to quantify the delta between the current situation and the proposed new world. Sometimes a business task is a complex combination of related tasks. In order to describe completely the global task, the scenarist often finds it necessary to write multiple scenarios. One scenario provides the context for the rest; however, each scenario can stand on it’s own for the purposes of validation by the consumer.
|
||||||||||||||
|
S C E N A R I O   C O N T E N T |
Remember word problems? Unlike the nice clean problem with just numbers and function symbols, the problem is articulated in text. Here are two examples: Example 1
Example 2
In the first example, you were given just the information you needed to solve the problem and nothing more. The fourth example includes information that is interesting, but does not appear relevant to solving the problem. How can you be sure? It is much harder to solve a “noisy” word problem. Using the same reasoning, a scenario should clearly separate what is and is not information relevant to the business task at hand. A good scenario is structured. Here is the solution to the first problem:
Example 1
Example 2
|
||||||||||||||
|
S C E N A R I O   F O R M A T |
There are two formats for a scenario, simple English and highly structured. For an example of the simple English scenario, see the (example in progress). |
||||||||||||||
|
S U M M A R Y |
|
||||||||||||||
|
Back to Balsamfir Home Page |
|||||||||||||||
|
Mountain View, California 94043-2715
|
|||||||||||||||
|
Copyright © 1997 Cecilie Hoffman |
|||||||||||||||
| Design by pRC
Modified April 24, 1997 |
|||||||||||||||