In this post, I'm going to explain how I write scenarios.
Imagine, you have a newly-minted PM. He might write the following text as a Scenario:
User selects File / Batch Save Wizard form the menu. The wizard launches. The user picks where the source files are, where to put the destination files, and then any options for resizing the pictures. He clicks Finish and the wizard does its thing. Then when the wizard is finished with the batch save the user clicks Close and the wizard goes away.
This is a terribly-written Scenario
It may be technically accurate or grammatically correct. But, it has failed as a scenario.
A better example:
"The user just took a lot of pictures (hundreds) on vacation with his digital camera. He wants to put them all on his website. Well, the pictures are just too big, they don't fit on his web pages correctly and they take up too much file space on his website. He could do this manually in PhotoDraw by opening and resizing each picture. This will take him hours. He wishes there was a way to just tell Photodraw to just make them all the same size and have PhotoDraw do the hard work. So, while playing around with the File menu he sees and then launches Photodraw's Batch Save Wizard. He tells the wizard where the original pictures are and where to put the new ones and he chooses to make them all fit into 1024x768. When the wizard finishes, he opens his "My Documents" folder and he has all his photos resized. He can now copy them to his web site. We saved him many hours of really-boring work."
Key points about the re-written scenario:
It's not perfect. But it's much more useful. Someone reading the specification can provide better feedback when the spec frames the feature with a such scenario.
A framework for coming up with scenarios
I formulate scenarios by asking and answering 4 questions.
I learned this technique during one of our many reviews with a VP. It's worked extremely well for me and I always suggest this technique to other program managers.