Scenario Casting is a collaborative tool for structuring and driving software development projects - based on domain expertise - expressed in scenarios.
Scenario Casting is especially helpful for getting a handle on complex or even overwhelming domains. If your domain feels like this and there are a lot of people involved too, you should give Scenario Casting a try.
Scenario Casting allows you to cast a wide variety of ideas, questions and concerns into a small set of very meaningful scenarios that shed light on the domain. These scenarios set a focus for all teams and enable them to pull together.

What is a Scenario?

Telling the story of a scenario is like traveling: make sure you hit all the points of interest, be open to discoveries, and get ideas for future trips.
Scenario Casting is like planning the next trip - or your first one.
A scenario is an outline of some interesting situation that implies a certain outcome, e.g. "Ada orders a calzone pizza". It's as simple as that.
A scenario is described from domain perspective in pure domain language. It is concrete, detailed and distinctive.
A good scenario is bursting with concrete information about the domain needed to design a perfect solution for your business - but it does NOT prescribe a specific solution!

How do we find scenarios?

Find scenarios by looking for examples that show, from a domain perspective, why your ideas, questions, and concerns - or other points of interest - are relevant.
Is one type
of pizza box
enough for our
business?
Ada orders
1 calzone pizza,
1 pizza Margherita,
and 2 kids' pizzas.
Point of interest
Example scenario
The more complex your project, the more diverse the points of interest. The corresponding example scenarios make them compatible with each other and help to get everyone on the same page!

How do we work with scenarios?

Customize, split and merge those scenarios to focus on the things that are most relevant at the moment.
Use scenarios for targeted knowledge crunching: to explore the purpose and mechanisms of business processes, to uncover dependencies and pitfalls, to drill down into detail without getting lost.
As a developer, you know that every realistic scenario will sooner or later become reality. So, it's all about choosing the right scenarios to create solutions that are up to any challenge! Scenario Casting will help you find them step by step.

Scenario Casting - the Workshop Format

Scenario Casting in a 5 minutes nutshell:
Watch on
YouTube
Scenario Casting is done collaboratively in three iterative steps:
  1. Brainstorm example scenarios of how individual ideas, questions and concerns affect the domain - strictly in domain language! This provides an initial Scenario Backlog outlining the problem space.
  2. Prioritize the Scenario Backlog and agree on scope.
  3. Combine the top scenarios into coherent overarching Orientation Scenarios.
Then flesh out and tell the stories of the Orientation Scenarios in collaborative modeling sessions using Domain Storytelling or Event Storming.

How do we use the results of Scenario Casting?

Now that we've explored the problem space a little further by fleshing out the Orientation Scenarios, let's move on to solution space and build software for it!
Let's use the Orientation Scenarios to define the overall team goal for the next few sprints: Bring the Orientation Scenarios to life! This is, so to speak, a concise “mini-project” that makes sense from domain perspective and also covers all agreed relevant points of interest.
Teams focus on their individual parts of the Orientation Scenarios and develop solutions for those.
Finally, their results are integrated, tested, and signed-off according to the Orientation Scenarios. An Orientation Scenario should always be concrete, detailed and precise enough to serve as a test case.
Then start over with a new Scenario Casting.
When we are still at the very beginning, we analyze longer Orientation Scenarios to look around the domain - like on a sightseeing tour! Later, we want to make many shorter trips to certain areas to really get to know them better - the Orientation Scenarios become smaller and more varied.
The Scenario Backlog helps us to keep track and adjust our Scenario Casting strategy to the needs.
Perform Scenario Castings within individual subdomains: Discover special cases, negative cases, variations, expansions, etc. Let the teams build up their individual Scenario Backlogs.

The Artifacts

A Scenario Backlog helps to ensure that all relevant points of interest are addressed step by step.
New relevant scenarios are constantly being discovered, especially during collaborative modeling sessions, coding, testing and using the software. They all go into the Scenario Backlog and will be considered in future Scenario Castings.

How do we use the Scenario Backlog?

The Scenario Backlog helps to control your project in the long term and shape the evolutionary software development process without having to commit to solution ideas too early.
The Scenario Backlog is a living object. Unlike other concepts that try to scale agile, the Scenario Backlog is strictly limited to the problem space, thus avoiding upfront design and premature planning. Instead, the Scenario Backlog helps to tailor Orientation Scenarios that set a cross-team focus within the problem space and thus shape the solution-finding process of the individual teams.
An Orientation Scenario illuminates the problem space. It outlines the main intentions of the actors involved and describes the results they achieve in an exemplary business process along the current points of interest.
New Orientation Scenarios are compiled from the current top priority scenarios of the Scenario Backlog. There is often a causal relationship between scenarios. We make this clear by putting those together. In this way, many small scenarios become one coherent and iconic Orientation Scenario that everyone in the project knows!

What do we use the Orientation Scenarios for?

An Orientation Scenario serves many purposes:

Scaled yet agile - seriously?

An Orientation Scenario shapes solution design but does not prescribe any specific solutions! Thus, it remains the task of the individual teams to find and develop solutions in good old team-owned unscaled agile processes - embedded in a cross-team agile process that has its origin in the problem space!
This makes it possible to scale agile without actually scaling the individual teams' own agile processes. No agile team should be burdened with cross-team planning efforts of their tasks over long, non-agile planning horizons.

The Background

Scenario Casting is an agile and collaborative tool based on Domain-driven Design (DDD).
The first Scenario Casting was carried out ad hoc in 2018 – driven by the need to event-storm the most relevant scenarios possible with a large group of experts in a very limited time frame. Since then, countless hours of intensive workshops involving dozens of teams have crafted the method into its current form.
Jörn Koch is enthusiastic about ambitious and highly cooperative projects in complex domains.
He sees agile approaches and DDD as the keys to successful software development - keys that can be hard to turn, though. Therefore, Jörn is always on the lookout for lightweight and elegant solutions that make this easier for everyone. Scenario Casting is one such solution.
Jörn is a DDD and agile expert. He works as coach and trainer at WPS – Workplace Solutions.

Get started with Scenario Casting

Are you considering using Scenario Casting in your project?
Let's talk about how you get the most out of Scenario Casting at the current stage of your project.
We are happy to facilitate & moderate Scenario Castings in your domain and make you hit the ground running.
Get in touch ✉
If you are already a Scenario Casting practitioner, please don't hesitate to send your questions and feedback!

Get a Training

Would you like to learn how to use Scenario Casting in your organization?
The training shows you how to use Scenario Casting to
The training consists of practical exercises and explained theory (including DDD and agile approaches in a nutshell). It is specifically designed to involve everyone in your project : domain experts, users, BAs, POs, agile masters, testers, UX designers, developers, etc.
Although the training is about software development, no programming skills are required!
The training is available in English / German, online / on-site.
Request training offer ✉
WPS – Workplace Solutions is the official organizer of the Scenario Casting training.
Don't forget to check out the other trainings offered by WPS.