Alex Rivera | Logout

User stories vs use cases

Asked 2008-12-18T19:07:36.610
14

Are use cases just multiple user stories??

What are the benefits of using user stories over use cases.. and vice-versa... When to use one over other... Does all agile methodologies uses user stories??

Edit
Report

2 Answers

8

When it comes down to it "agile" is just a label, and people disagree over exactly what it means. Similarly people call very different things "use cases."

In my experience the primary difference between the two is that a user story is focused on the user, and is usually shorter and less formal - ideally, it should easily fit on a postcard. It probably doesn't give details of error handling etc.

Use cases can be much more formal (although some people write them informally too) - they focus on every interaction with the system, and may well go into more detail about several different systems/actors/etc within the same use case.

That's just my experience though - chances are everyone will have used these tools in different ways. I wouldn't get too hung up about labels - just use what works for your project.

answered 2008-12-18T19:13:09.610
5

Use cases aren't compilations of user stories.

User stories are generally much simpler than use cases. I think use cases try to cover absolutely everything to do with the behaviour of some aspect of the system. That is, all behaviours, all error paths and all exception handling.

The recommended template for a user is:

As a (role) I want (something) so that (benefit)

(Thanks Mike Cohn for providing this simple template)

Descriptions of behaviour expressed like this are more agile.

This sort of template lets you describe behaviour using different levels of detail. For example:

  1. for those stories being implemented in a much later sprint, you can describe behaviour in a high level sort of way, e.g. as an ops team member I want to monitor the system remotely so that I can determine system health while on the road.
  2. for those stories being implemented in the next sprint, you can describe behaviour is a slightly more detailed way, e.g. as an ops team member I want to have a dedicated ops only login so that I can check system health.
  3. for those stories being implemented in the current sprint, you can describe behaviour in a highly detailed way, e.g. as an ops team member I want to have a web interface so that I can check current status of the ingest ftp server.

IMHO Use cases are much more carved in stone! And hence can be a problem to update after the initial version.

HTH

cheers,

Rob

answered 2008-12-18T19:49:24.137

Your Answer