I am always looking for the "right" way to describe software requirements. There is really only one litmus test for a successful technique; does the customer like it, understand it, and use it. In my experience each customer will identify with a different technique. Thus, it is nice to have a large bag of tricks.
Common techniques for describing software requirements are Use Cases and User Stories. Use Cases uses a narrative style of writing where the interactions between the user and system are described. User Stories are short descriptions of a feature that serve as a promise of a future conversation between the customer and developer.
Recently while working with Alistair Cockburn on a project, Alistair mentioned a technique I had not heard of. As I found out later, it comes from Behavior-driven development (BDD). BDD asks that feature requests are described in the follow format.
As a [X]
I want [Y]
so that [Z]
BDD further explains, "where Y is some feature, Z is the benefit or value of the feature, and X is the person (or role) who will benefit."
The power here is the first and last parts. Typically all that is described is the "I want" part. Encouraging the customer to identify the person or role that will be performing the task focuses their thoughts. Furthermore, identifying the value that will be gained helps tie everything together.
A couple of examples:
— As a web site content editor I want an interface for adding company news so that I can ensure our web site content is fresh and timely.
— As a web site visitor I want easy access to your company phone number and address so that I can quickly schedule an appointment by phone and know where you are located.
This new technique has shifted the way I think about features and feature requests. I encourage you to use this in thinking about the features of your web site. When you find yourself thinking about how cool a feature would be, try rephrasing it into the format As a [X] I want [Y] so that [Z].
Currently rated 4.0 by 3 people
- Currently 4/5 Stars.
- 1
- 2
- 3
- 4
- 5