User Stories and Use Cases? Sure, it even makes sense.

room: Civic South, 2 — time: Thursday 08:30-10:00
Average Rating: -

I’m not sure why but somewhere along the way User Stories were branded ‘agile’ and Use Cases largely relegated to a high ceremony tool for non-agile methodologies. This talk sets out to challenge that view by suggesting that both User Stories and Use Cases could, and should, co-exist as complimentary techniques in effective agile methodologies.

The terms User Story and Use Case are two pretty broad terms, so the first thing this talk does is to clarify just what I mean by each. It would of course be possible to adopt one term over the other. For example, we could call a User Story a Use Case Brief (a la Cockburn), but I offer reasons why it is helpful to keep a separation between the two terms. I also will show how User Stories can be used to provide a uniform method of capturing functional requirements, as well as system constraints.

Once we are all on the same page I outline how, and when, User Stories and Use Cases can be used in a typical agile methodology, and importantly how one relates to (and compliments) the other. For example, typically User Stories are the technique of choice when Release Planning and Use Cases help a lot with Iteration Planning.

As User Stories and Use Cases can exist at different levels, from business use down to component interaction, I show how a User Story can relate to more than one Use Case, and how a Use Case can be related to more than one User Story. Similarly I also look at how Use Cases can sometimes provide a ‘glue’ between User Stories.

To illustrate how this all actually works in the wild I offer some real life examples where this approach was adopted successfully. A major benefit of this approach was improved stakeholder understanding of the project and an easier foundation for QA.

Process/Mechanics

I’ve initially marked this down as a 30 minute talk. It could probably be longer but I think the key message could be delivered in 30 minutes. I expect there to be some discussion points and will probably try to allow enough time for discussion throughout the presentation. Of course neither using user stories or use cases is new so I won’t be introducing them, other than to clarify what I mean by the terms. The intention is to be thought provoking by re-casting older, possibly stale ideas in a fresh and useful way.