posted on Wednesday, September 22, 2004 11:28 AM
by
mlorengo
Of Use Cases and User Stories
I've put together some Use Cases and User Stories for the Virtual Cellar
project. First we'll look at the User Stories I've come up with and then compare
that with the initial set of User Cases via the Rational Unified Process (RUP)
model.
Virtual Cellar User Stories
Wine Maintenance, we should be able to add, remove, update and view
individual wines currently in our cellar
Report on the inventory of our cellar
Search our cellar for a wine matching a given set of criteria
Save the state of our cellar
Virtual Cellar Use Cases
For the Use Cases following the RUP Method, I've detailed much more of the
system. Here we have a notion of two different types of actors, the Guest and
Member roles. The lines connecting them with the different types of Use Cases
that they can execute.

I've also
created a VirtualCellar.UseCaseSurvey.doc Word document file detailing the
actors and use cases. The following is a snapshot from the table of contents.

The word document details information about the actors and each of the use
cases. Initially these are limited to no more than one paragraph. Here is an
sample excerpt from the document for the Review A Wine use case.

In addition to the Use Case Survey Document, I've also prepared a Software
Development Plan as part of the Inception Phase deliverables for the Virtual
Cellar. One of the main components of the Software Development Plan is the
Project Iteration Plan, a portion of which is shown below.

According to the schedule in the Software development plan, I will need to
finish the Inception phase by October 7th. The purpose of the project plan is to
measure the progress of the project according to the schedule, and to track how
close to the projected timeline the project is. If necessary, one of the
three sides of the triangle will need to be adjusted. Here are the
deliverables for the Inception phase.

Compare / Contrast
With RUP, I've documented a little bit more about the system and functions
will be available. With the User Stories, I've focused on what I plan to get
done with the first iteration of the system. I have not put as much time into
documenting the system as a whole, but more of on an as needed basis. I've also
produce a bit more documentation in RUP than in
XP, this can be a good thing when
working on larger teams or communicating across teams or business units, yet it
also adds some formality (and overhead) which may not be needed in all shops.
Indeed
In the Agile Programming world, I've also created some initial paragraphs
around the system so that other team members are aware of "where the system is
going". In this way we can focus on the here and now, and begin programming what
we believe at the time to be the core effort based on
sound architecture.
Now, I'm really getting at the extremes of each methodology, and there really
is a happy medium here. In fact I'll be taking that happy medium forward during
the continuation of my project. Incidentally, there's a
"free"
seminar in Redmond that goes into this very topic. If I'm not on vacation
during this time, I'm planning on attending!
Tomorrow, I'll get around to installing
NAnt so that I can begin developing tests for my first User Story.