[Systers-dev] Fwd: Learning about use cases
Robin Jeffries
robin at jeffries.org
Wed May 5 21:04:10 PDT 2010
I've been talking up use cases to several of the students that I've been
working on (primarily on the archives project, where use cases are going to
be very important). Jen suggested that this might make sense to share with
more of the students and mentors, both to get others thinking about use
cases and so that more mentors who have experience with use cases (and other
perspectives on them -- I doubt any two use case users do it the same way)
can chime in.
Here is the introduction I sent out to a smaller group. It has some good
starter reading at the end. I'm going to try to work out a sample use case
for Kanika Vats' project, as she is ready to start creating her use cases
(she is working on moving dlists to MM3.0 and creating a UI for that
functionality). I'll send that to the group when I do (and it will be
imperfect, as I'm trying to do this as I pack for a trip tonight, so it
won't get the kind of careful review that it deserves. I leave it as an
exercise for you students who want to learn more about use cases to improve
on it :-)
Robin
I've added Kanika Vats to this conversation, since she is working on use
cases for the port of dlists to mailman 3.0 and Anna Granudd, who is working
on the mailman 3.0 UI. Both of them will benefit from learning about use
cases, and Kanika Vats and I have been having conversations about use cases
already. (Both Kanika Vats and Anna are returning GSOC students from last
summer). Anna and Kanika Vats, Priya, Pinar and Yian are all going to be
working on parts of the archives project, and I want us to start from use
cases, so understand what we need to build from the user's perspective.
My view on use cases is that they are the way you come to understand what
kind functionality will serve your users well. So use cases are written
from the perspective of the user(s) of the system, and any functionality you
plan to add must be justified by one (preferably several) believable use
cases (and you will find that one of my most common forms of push back will
be to ask you to convince me that a particular use case is believable; that
a real person would want to do whatever the use case says people want to
do.)
Use cases start from a user scenario: "sally is running a political
campaign. She wants to start a mailing list for all the campaign workers to
help them keep up on what is going on with the candidate and his schedule.
When thinking about the kind of mailing list software she wants to use, the
things that are important to her are: ....." Once we have the user
scenario, then there's the work of defining what the user does, what other
actors do, what the system does, etc. But the most important part is
getting the right user scenarios.
The hallmark of a "bad" use case is that the solution is "go to my app;
click on X; fill out the form there; click OK" -- that is, the use case maps
directly onto the functionality of the application. Real life is seldom
that simple, and it usually implies that the use cases are being designed to
fit the app, rather than are based on what real people would do.
Here is some reading on use cases I have found. I haven't read all of
these, but I've skimmed them and they look useful.
http://www.usability.gov/methods/usecases.html overview of use cases from a
usability perspective (about a page)
http://en.wikipedia.org/wiki/Use_case the Wikipedia article is sort of more
the classical view than the usability view, but it gives a good overview.
http://www.usabilitynet.org/tools/scenarios.htm another overview of use
cases with some actual examples of projects that used them
http://www.ibm.com/developerworks/library/co-design5.html this IBM article
goes into detail of the hows (and points to other articles about other
aspects of use cases). I think it's taking the Rational (company name)
point of view, which is somewhat more formal than we need to be, so take it
with a little salt.
Two longer articles I found
http://www.soberit.hut.fi/t-121/shared/thesis/Thesis_MSa6.pdf is someone's
thesis from Finland. Pages 41-53 talk about the contents of a use case and
later on she uses them in an extended example. Only if you want to go very
deep into the topic.
http://www.it.uu.se/research/hci/publications/ml/UIM.pdf another article
from Sweden. Both these articles focus on use cases for making applications
more usable.
I'm heading out of town on Thursday, so I will be slow to respond for about
10 days. I'm going to try to work out an example use case for Kanika Vats
which I will share with everyone here. Feel free to chime in and start
discussing. I'm sure you will all learn a lot from each other.
Robin
To contribute to this conversation, send mail to <systers-dev+learning at systers.org>
More information about the Systers-dev
mailing list