Use Cases, Huge Cases, Smart Cases

Get an overview of different versions of user stories in different agile methodologies.

We'll cover the following

Use cases

Just like user stories, use cases describe a project’s functional requirements. A use case defines the interaction between actors and the system. An actor represents a role that a person or thing plays in relation to the use case. Use cases are described as a list of steps. Each step describes a portion of the interaction between the actors and the system. Moreover, use cases recognize exceptions, also described as an enumeration of steps.

Use cases have been around for over 25 years. Because they were already used in previous generations of development methodologies, and because traditional use cases can be bulky, they’re usually considered to be non-Agile by Agile approaches. Despite this, use cases still belong in this discussion because the smart use case has been shown to be a useful unit of work on many Agile projects.

The literature offers numerous templates for describing the use cases, but in brief, a use case will contain at least the following components:

  • Name: Each use case has a short name that indicates what the use case is trying to achieve. This is usually a verb with a noun, such as claim damages or request subscription.
  • Actors: These are the roles that will execute the use case and will benefit from them. Usually, actors are people, such as a financial manager or subscriber, but actors are sometimes other applications or services.
  • Preconditions: These are the conditions to be fulfilled before a use case can start.
  • Postconditions: These are the conditions that make the use case successful for the actors. Damage is declared and a subscription is requested.
  • Basic flow: This is a list of steps that will be taken for the postcondition to become true. These steps are usually numbered. Normally, a flow doesn’t include decision points. When there are decision points with alternatives, alternative flows are written.
  • Alternative flows: Alternatives are also recorded as a numbered enumeration of steps. An alternative flow starts from a step of the basic flow, or from a different alternative flow.

The basic flow for the use case, Select Book, is described below. Each step is carried out by either one of the actors, or by the system.

Get hands-on with 1400+ tech skills courses.