Scenario Casting is a collaborative tool for structuring and driving software development projects - based on your 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 your 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 come up with 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.
If you are 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.

Scenario Casting Strategies

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.
Do scenario castings with "neighboring" subdomains to clarify their interactions.
Encourage teams to build their own scenario backlogs and do Scenario Castings within their subdomains to dig deeper, discover edge cases, negative cases, variations, extensions, etc. and shape their domain models accordingly.

The Artifacts

A Scenario Backlog is a collection of scenarios that illustrate all the points of interest that we want to tackle step by step.
New scenarios are constantly being discovered, especially during collaborative modeling sessions, coding, testing and of course 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. It's never too late to add new scenarios that need consideration.
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, allowing for the individual efforts of the agile teams to be bundled.
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 Orientation Scenarios for?

An Orientation Scenario serves many purposes:
  • It sets a cross-team focus for the software development in the immediate future.
  • It serves as a comprehensive test case for the correct integration of the teams' product increments.
  • It helps to assess the complexity of the domain and better plan resources for collaborative modeling workshops.
  • It is a sound basis to identify subdomains and their boundary events for bounded context design and tailored technological decisions.
  • It serves as a starting point for further scenarios such as negative, alternative, expansion scenarios, etc.

Scaled yet agile - seriously?

It is bold to say that agile processes work at scale. The solution space is constantly changing as we develop software. Solutions evolve, some fail, new options arise. This requires short feedback cycles and frequent updates to our plan.
How can this possible work at scale? It doesn't feel agile, if teams are burdened with cumbersome cross-team planning based on premature programming tasks over long planning horizons.
Instead, it is more helpful to set a cross-team focus in problem space and let the teams continue to work as independently as possible. An Orientation Scenario sets such a focus: Let's bring the Orientation Scenario to life during the next couple of sprints / weeks!
An Orientation Scenario illuminates problem space but does not prescribe solutions. So it remains the agile teams' responsibility to design and develop solutions for their parts of the Orientation Scenario in
  • good old
  • team-owned
  • unscaled agile processes.
As soon as the last Orientation Scenario is brought to life we start off with the next one.
This is a simple yet powerful, truely domain-driven agile process at scale.

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 approaches that make this easier for everyone. Scenario Casting is one such approach.
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 Scenario Casting Workshops or simply help out with a few pro tips to make you hit the ground running.
Get in touch
If you tried Scenario Casting or if your are already an experienced Scenario Casting practitioner, please don't hesitate to send your 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.
Upcoming events

Scenario Casting @ upcoming and past events

OOP 2023 - DIGITAL
»Scenario Casting – Agility Starts in DDD's Problem Space!«
2023/02/08 - 9:00-10:30 a.m.
A talk by Jörn Koch
software@work 2022 - Hamburg
»EDDA – Vom Orientierungsszenario zur Architektur-Blaupause (GERMAN)«
2022/11/04 - 3:30-4:10 p.m.
A talk by Jörn Koch and Sönke Magnussen
DDD EUROPE 2021 - ONLINE
»Scenario Casting – Find common ground across teams in collaborative modelling«
2021/02/05 - 10-12 a.m.
A workshop by Jörn Koch