On Dan North‘s blog you will find a nice writeup on this subject the post is called What’s in a Story? and explains it a bit better.
Compare to use cases where you describe the interaction between the stakeholder and the other stakeholder (mainly the system) this describes the desired behaviour of the system.
This is an example of such a use case. Found here.
Use Case Example
Example for the Club Information System (CIS)
Actor: A member of the public (MP)
Use case: The MP is searching for club events on a particular date.
Preconditions: The MP is at the CIS home page, but not logged in as a member.
Scenario A:
MP selects “Search Events” on MP home page
System presents a page with choice of dates for the current month
MP selects a date from among the choices
System presents a page with events for that date, giving time and club name
MP selects an event
System presents a page with details of that event, including location, description and cost
Exception:
- If there are no events for the selected date, System presents a page saying that there are no
events for the selected date
Alternative Scenario A1:
3a. MP selects a different month
3b. System presents a page with choice of dates for the current month
Actor: A club officer (CO)
Use case: The CO is adding a new event for the club
This is an example of such a story copied from .
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from an ATM
So that I can get money when the bank is closed
Scenario 1: Account has sufficient funds
Given the account balance is $100
And the card is valid
And the machine contains enough money
When the Account Holder requests $20
Then the ATM should dispense $20
And the account balance should be $80
And the card should be returned
Scenario 2: Account has insufficient funds
Given the account balance is $10
And the card is valid
And the machine contains enough money
When the Account Holder requests $20
Then the ATM should not dispense any money
And the ATM should say there are insufficient funds
And the account balance should be $20
And the card should be returned
Scenario 3: Card has been disabled
Given the card is disabled
When the Account Holder requests $20
Then the ATM should retain the card
And the ATM should say the card has been retained
Scenario 4: The ATM has insufficient funds
…
I’m not sure what I like best. I think both serve the same purpose in the end and that is to make the system a good one and one that the user is willing to use. In the end the stakeholder doesn’t care how you got there but he cares on how it can be of use to him hence the name user. if the system is not useful then the user will go to another system. And that is the number one rule in software development. Else you are just wasting money and time.