Tuesday, May 24, 2011

Use Cases or User Stories

When teaching use cases, a question that comes up now and then is what the difference is between a use case and a user story as used on agile projects. There is a lot to be found on the internet discussing this. Two useful references and a start for further investigation are mentioned below. What I try to do here is capture my conclusion of these discussions. But before coming to this, let's briefly discuss what is what.


User Story

A user story is a short statement about what a user wants to do, and why. A user story typically fits on an index card. The idea is that the development team uses this user story as a starting point of a conversation with this user about how this should work in practice, to get an understanding of what needs to be done to support that.

On some projects a particular format is being used for user stories, being "As a ... I want ... so that ...". Reviewing this format it becomes clear that the first ... can be compared with the actor of a use case, and the last one with the goal of a use case (although in many cases tend to be finer-grained). So the big difference apparently is in the middle, where it is described what the actor does to achieve that goal.


Use Case

Next to specifying a goal, a use case captures one or more scenarios describing the interaction between an actor and a system to achieve that goal. Scenarios may be captured using a format like:

1. This use case starts when the actor does ...
2. The system responds by doing ...

3. The actor does ...
...
x. The use case ends when ...


There is one main success scenario (happy path), there may be one or more alternate scenarios (other ways to achieve the same goal), and there may be one or more exception scenarios (describing what happens when that goal is not achieved).

You also capture what triggers the use case (which in many cases will be repeated as the first sentence of the main success scenario), pre-conditions (what needs to be in place when the use case starts), and post-conditions (what will have been achieved when the use case ends).


What's Different?

So, apparently, a use case elaborates more on what the actor does to achieve a goal. A user story has just one statement regarding that and, compared to a use case, concerns just one scenario. Also, compared to a user story, a use case adds a trigger, pre-conditions and post-conditions to that.

Some people say that use cases capture too much detail, and claim that user stories are better for this reason. Other people state that in practice user stories tend to oversimplify things, resulting in the first iterations taking much more time than anticipated. The way to resolve that is by elaborating more on the user story. When you think about it, that makes sense, doesn't it? I mean, at the end of the day even on agile projects the developers need to deal with details as well. They only may do it in a different way.


Conclusion

In my opinion the core difference has best been captured by a guy called Jim Standley who stated that a user story is a promise to have a conversation and a use case is the recording of that conversation.

So rather than arguing if user stories are better than use cases or vise verse, I think the better question is: "How formal do you need to be?". The more formal, the more appropriate use cases start to become.

Added to this, you should also think about "When do we need to be this formal?". I can imagine systems being developed starting with user stories, and then write use cases after the fact, because some external testing team requires that, or because the customer needs it for system maintenance.


Some Suggestions

If you are on an agile project creating use user stories, but you are required or may need to create use cases later on, make sure that a user story matches exactly scenario, and name them uniquely. That should not be too difficult.

Then, when the user stories have been realized and you need to deliver the use cases, you can then use the name of the user story as the name of the corresponding scenario. You combine all user stories that share the same user goal into one use case. Add the trigger, pre-conditions, and post-conditions to that, stir for one minute, and you're done!


Further Reading

Stellman/Green: User Stories vs Use Cases

Discussion at Allistair Cockburn: A user story is to a use case what a gazelle is to a gazebo.

9 comments:

oracle r12 new features said...

A fascinating and enriching article, just as I predicted. Thanks again, Jan. I can show this to my lecturer at college, I think he could learn a thing or two from you in teaching software :)

Joomla Developer said...

Great article.I like your thoughts and it's really great.Great discussion i agree it before i had a doubt .i cleared.Thanks for solving.

App Designer (nl) said...

Finally, somebody who has written down my thoughts. I was not able to translate them in a condensed and clear manner, but now I can. Especially, the reference to "a user story is a promise to have a conversation and a use case is the recording of that conversation" says it all. Thanks :D

Girin Jackson said...

Thanks that i have landed here some how. I learned some new techniques..



Anonymous said...

good
Pengobatan Herbal Penyakit Kanker Serviks
Pengobatan Kanker Serviks Stadium 4
Pengobatan Herbal Penyakit Kanker Serviks Stadium 1
Pengobatan Herbal Penyakit Kanker Serviks Stadium 2
Kumpulan Obat Ambeien Ampuh Apotik
Kumpulan Obat Ambeien Alami
Kumpulan Obat Ambeien Ampuh
Kumpulan Obat Ambeien Alami di Apotik
Beli Obat Ambeien Ampuh
Obat Ambeien Ampuh di Apotik
Beli Obat Ambeien Ampuh yang ada di Apotik
Beli Obat Ambeyen Ampuh di Apotik
Obat Ambeien Paling Ampuh
Obat Ambeien Paling Ampuh yang di Apotik
Obat Ambeien Paling Ampuh yang ada di Apotik
Pengobatan Ambeien Paling Ampuh di Apotik
Cari Obat Ambeien Ampuh
Obat Ambeyen Ampuh Apotik
Obat Ambeien Ampuh di Apotik
Cari Obat Ambeien Ampuh yang ada di Apotik
Jual Obat Ambeien Ampuh Apotik
Jual Obat Ambeien Ampuh yang di Apotik
Obat Ambeien Ampuh di Apotik
Jual Obat Ampuh Ambeien di Apotik
Penyebab Munculnya Kutil Pada Kemaluan Wanita
Penyebab Muncul Kutil Pada Kemaluan
Penyebab Kutil Pada Kemaluan Wanita
Penyebab Muncul Kutil Pada Kelamin Wanita
Penyebab Kutil Pada Kemaluan Wanita
Penyebab Tumbuh Kutil di Kemaluan Wanita
Tumbuh Kutil Pada Kemaluan Wanita
apa Penyebab Tumbuh Kutil Pada Kemaluan Wanita
Penyebab Ada Kutil Pada Kemaluan
Penyebab Adanya Kutil Pada Kemaluan Wanita
Penyebab Kutil Pada Kemaluan Wanita
Penyebab Ada Kutil Pada Kelamin Wanita

obat mujaRab said...

nice post, thank's
Penyebab Kutil Pada Kemaluan Wanita
Penyebab dan Obat Kutil Pada Kemaluan Wanita
Penyebab Tumbuh Kutil Pada Kemaluan Wanita
Penyebab Munculnya Kutil Pada Kemaluan Wanita
Penyebab dan Gejala Kutil Pada Kemaluan Wanita

Aulia Herbal said...

Cara terbaik mengobati wasir berdarah cepat sembuh
Cara terbaik mengobati wasir ambeiyen berdarah cepat sembuh
Cara terbaik mengobati wasir luar cepat sembuh
Cara terbaik mengobati wasir terlihat benjolan cepat sembuh
Cara mengobati wasir terbaik dan cepat sembuh
Cara cepat menyembuhkan wasir berdarah nyeri tak hilang hilang
Cara mengobati wasir tuntas dan cepat sembuh
Cara mengobati wasir tuntas dengan herbal cepat sembuh
Cara cepat mengobati wasir terbukti tuntas sembuh
Cara menyembuhkan wasir cepat sembuh tidak kambuh lagi
Cara cepat mengobati wasir luar dalam
Cara mengobati wasir dan menghilangkan dengan tuntas
Cara menghilangkan / mengobati benjolan wasir sampai sembuh
Cara mengobati wasir stadium 3 cepat sembuh
Cara alami mengobati wasir stadium 3 cepat sembuh
Cara mengobati wasir stadium 3 benjolan sudah keluar anus
Cara mengobati wasir stadium 3 dalam sebulan cepat sembuh
Cara mengobati wasir dan menghilangkan benjolan di anus
Cara tercepat mengobati wasir stadium 3 cepat sembuh
Cara yang aman mengobati wasir stadium 3 cepat sembuh
Cara cepat mengobati wasir sampai sembuh
Cara cepat mengobati wasir tidak kambuh sembuh seperti semula
Cara cepat mengobati wasir parah sampai sembuh

Anonymous said...

Cara terbaik mengobati wasir berdarah cepat sembuh
Cara terbaik mengobati wasir ambeiyen berdarah cepat sembuh
Cara terbaik mengobati wasir luar cepat sembuh
Cara terbaik mengobati wasir terlihat benjolan cepat sembuh
Cara mengobati wasir terbaik dan cepat sembuh
Cara cepat menyembuhkan wasir berdarah nyeri tak hilang hilang
Cara mengobati wasir tuntas dan cepat sembuh
Cara mengobati wasir tuntas dengan herbal cepat sembuh
Cara cepat mengobati wasir terbukti tuntas sembuh
Cara menyembuhkan wasir cepat sembuh tidak kambuh lagi
Cara cepat mengobati wasir luar dalam
Cara mengobati wasir dan menghilangkan dengan tuntas
Cara menghilangkan / mengobati benjolan wasir sampai sembuh
Cara mengobati wasir stadium 3 cepat sembuh
Cara alami mengobati wasir stadium 3 cepat sembuh
Cara mengobati wasir stadium 3 benjolan sudah keluar anus
Cara mengobati wasir stadium 3 dalam sebulan cepat sembuh
Cara mengobati wasir dan menghilangkan benjolan di anus
Cara tercepat mengobati wasir stadium 3 cepat sembuh
Cara yang aman mengobati wasir stadium 3 cepat sembuh
Cara cepat mengobati wasir sampai sembuh
Cara cepat mengobati wasir tidak kambuh sembuh seperti semula
Cara cepat mengobati wasir parah sampai sembuh

Anonymous said...

good
Obat Wasir Tradisional
Kumpulan Obat Sakit Wasir Tradisional
Kumpulan Obat Alami Wasir Tradisional
Kumpulan Obat Untuk Wasir Tradisional
Resep Obat Wasir Ambeien Tradisional
Resep Obat Ampuh Wasir Tradisional
Resep Obat Wasir Tradisional Ampuh
Resep Obat Wasir Tradisional Mujarab
Obat Wasir Tradisional Mujarab
Pengobatan Wasir Tradisional
Obat Wasir Tradisional Mujarab
Obat Wasir Tradisional Ampuh
Beli Obat Ambeien Wasir Tradisional
Beli Obat Ambeien Tradisional Herbal
Beli Obat Sakit Ambeien Tradisional
Beli Obat Wasir Ambeien Tradisional
Resep Obat Ambeien dari Tradisional
Resep Obat Ambeien dan Wasir Tradisional
Resep Obat Alami Ambeien Tradisional
Resep Obat Ampuh Ambeien Tradisional
Cari Obat Ambeien Manjur
Cari Obat Ambeien Manjur Ampuh
Cari Alami Obat Ambeien Paling Manjur
Cari Obat Ambeien Wasir Paling Manjur