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

source:/BRANCH/TRUNK/artifacts/presentations/agile_2008_logo.png 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. I gave a talk about this at Agile 2008 that set 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 the 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 believe it is helpful to keep a separation between the two terms. Another aspect of the talk was the idea that User Stories can be used to provide a uniform method of capturing functional requirements, as well as system constraints.

Having introduced the terms, 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.

If you are an experienced agile developer you may not get a lot from this presentation, but I would hope it does get you thinking.


No comments.