back to notes

Use Case 2.0 and DBB Tag-Team

UC2.0 / BDD Tag-Team

In Use Case 2.0, each UC Slice is equivalent to a User Story. As such, the slice has Acceptance Criteria, expressed as Test Cases. These Test Cases are derived by analyzing the UC Flows (Scenarios) that have been grouped into the UC Slice. The “Given, When, Then” structure of the Behavior Driven Development (BDD)’ Gherkin language is ideal for defining the scenario-based tests that Slicing requires and which become the Acceptance Criteria when a Slice is converted into a User Story.

UC2.0, BDD & Gherkin:
BDD is a Practice that helps discover and define functional scenarios; Gherkin is the language that defines the Given/When/Then syntax that expresses those scenarios. Although Use Cases and BDD are both ‘Scenario-driven’, they complement each other in that the Use Case has a structure that more readily supports the concept of Alternate Flows, whereas BDD has an element of precision that removes ambiguity that can creep into Use Cases.

Slicing the Slice
One common question that we are seeing relates to “can I use the same flow in more than one slice?”

You may recall from the training that we considered the incremental development of a Basic Flow by handling the functional outcome in once slice and then adding the NFR for performance in a second slice.

By considering what aspect of the flow(s) that you wish to address, you can create appropriate Test Cases that become the Acceptance Criteria for any commensurate User Story.

If the Team feels that a certain risk needs to be driven out of a large flow (too big to be one User Story), then the key is to use that flow as the context for a Slice where the Test Case focuses on that single risk.

The Team can implement the less risky parts of the flow without much fidelity (design), and concentrate on being able to demonstrate how the risk is addressed. The demo still has a functional context that helps the Stakeholder understand what is happening and when.

Use Case 2.0 was invented by Ivar Jacobson (The ‘Father’ of Use Cases) and his team, to provide a highly effective Agile practice.


last updated september 2019