0

I am new to working with project diagrams such as Use Cases, Activity Diagrams, etc. I was wondering where one might start in determining the use cases out of a business case:

"There shall be a means for users to share content and access others’ content."

to be honest, this sounds like a single use case in itself. I think it's possible to expand on this statement though, I just don't really know how to.

Any advice would be great.

1
  • That's not a use case, that's a vision statement. – Todd A. Jacobs Feb 12 '15 at 12:54
1

Use cases are a mechanism to describe how a user (technically anyoune outside the system) interact with the system you are making to achieve a certain goal.
Use cases typically contain a sequence of steps, where each step describes a singular action by the user, an action taken by the system or a response from the system.

A classical example of a use case is this:

Withdraw money

System: ATM
Actor: Bankcard holder

Sequence:

  1. User presents bankcard to ATM
  2. ATM verifies that it can process cards from this bank
  3. ATM prompts user for PIN
  4. User provides PIN
  5. ATM verifies the PIN
  6. User provides desired amount
  7. ATM dispenses money

In your one-sentence business case, I see two use cases lurking:

  • User shares content with others
  • User accesses shared content from others

In addition, there might be additional use cases for uploading content without sharing, sharing previously uploaded content, un-sharing content, etc.

0

Use cases are usually very specific, and are described from the perspective of the user, in active rather than passive voice.

Different use cases for the same business case are often different examples/flavors/variants of the same general type of activity. Or, they might be different pieces or sub-activities of the same larger activity.

Is that enough help to get you started?

0

Bart gives an example of a classic use case and the break down of the business shows how you can start digging into what it really means.

One of key tenets of agile is to satisfy the customer, to do this you need to understand the customer. Classic Product Management requirements are often don't discuss the customer or user at all (The product MUST support concurrent downloads of data from multiple clients). In the example given her at least we have a user mentioned.

Instead of trying to parse the business case (or PRD requirement) its often better to step back and start with a more basic question "What is the end goal? When the user is done, what do they get?" At this point a judicious use of the "5 Whys" can help to make sure the end goal is really understood.

Once you know what the end is, you've got a start at an acceptance criteria. Now you need to figure out what needs to be done to get there.

A timeline exercise is excellent here, as it is really good at finding missing items. You start at a state of zero and start walking through what the user does to get to the state of done. For example, you're building a tropical resort and you want to offer scuba diving. It will of course help to understand the why and customer's done, but even if your stakeholder just says "because everyone else has it," the timeline can help. You start the timeline with the user in their hotel room and you walk through the entire experience until they are back in their hotel room.

Not only will this catch pretty much everything you need for the story, you'll probably pick up a lot of dependencies. For example, the docks where the scuba boats are is three miles from the hotel. You'll need a shuttle service, this is a whole other Epic and becomes a dependency to this story. Create an Epic story dependency, set that to the side and move on with your timeline.

So I guess in a round about way, my answer to converting business cases to user stories is "don't". Instead use them as a conversation starter to create user stories for the real user need.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.