What is a use case – An agile approach

Writing functional requirements as use cases. The image shows a use diagram for a hotel reception system.

‘What is a use case – An agile approach to developing use cases’ is a free mini course for business analysts and others who use, or are considering using, use cases to define requirements.

The course describes,

  • What a use case is
  • Benefits of use cases
  • How use cases support business activities
  • An agile approach to use cases
  • How to take use cases forward to software development and testing

Access the course immediately

Launch Use case mini course

‘What is a use case?’ – Course objectives

The course is designed for people who want to know, not only what a use case is, but also how to create them.

After following this e-learning course, the reader will know how to develop a flexible, ‘agile style’ approach that helps them to rapidly discover, model and specify user requirements with use cases.

Use Cases and User Stories

What is a user story?

User stories are probably the most popular agile approach to defining requirements. There are now a number of styles based around a common understanding, typically starting, “As a <<user role>>”

What is a use case?

Use cases identify a role and what the role needs, i.e., its objectives. They also provide symbols to build a picture of the situation.

Use cases are best developed in a workshop with a team of business stakeholders, business analysts, or equivalent roles, and developers. The first workshops might involve only the business stakeholders and analysts.

The scope of the work area to be considered is defined by the roles in it.

The workshop identifies the,

  • Problem area or system
  • Nature of the problem
  • Business roles who work in the problem area

The workshop attendees should include at least one person to represent each of the business roles.

This team works fast. The stakeholder can identify the user roles immediately because they know the work area. The roles are represented graphically but simply and quickly. Teams use whiteboards and other easily visible forms.

The functions performed by the user roles are similarly identified and added to the model.

The initial specification of the use cases is brief. Too much detail, too early, is a classic mistake in use case modelling. It has led to the rejection of use cases in favour of user stories. Use cases work well with user stories. They can complement each other, to their mutual benefit.

The set of stakeholders and developers is expanded as necessary to contain more technical roles. This group adds detail to the use cases and proposes ways of implementing them.

An agile approach to use cases

Analysts sometimes think that use cases are too detailed to be used in agile projects. This is not correct. The amount of detail is up to the team, both developers and business stakeholders.

We can start by creating a place holder for the use case; this is simply its name, typically in a ‘verb noun’ form, e.g. ‘Create order’. At the same time, the role that needs the use case is identified.

Detail can be added gradually, when needed and to the extent needed. The business stakeholders describe the detail in business terms.

Because a use case can shown visually, it is easily accessible to all.

This mini course shows how the use cases can be identified quickly to visually demonstrate the scope of the project, and then progressively developed by the whole team.

‘What is a use case?’ – Course content in detail

  • Definition of use cases
  • Running workshops to identify, model and specify use cases
  • The link between business tasks and use cases
  • How to name use cases
  • Use case structure
  • How to document a Use Case
  • Use case scenarios for the detail of the requirement
  • Actors
  • Diagrams – Modelling use cases
  • Defining system scope with use cases
  • Non functional requirements
  • A team approach to system design with use cases
  • Testing

Course Style

The course comprises a series of lessons.

The learner can follow the lessons in any order, at their own pace.