Collaborative DDD with Storystorming

Martin Schimak April 13-16, 2021
9:00 AM - 12:30 PM (MDT)

This workshop will take you on a journey through the exciting field of visual and collaborative modeling and mapping methods. By applying lightweight methods domain and software experts can collaboratively work their way through all three pillars of Domain-Driven Design: Strategic Design, Collaborative Modeling and Modeling in Software.

Together we will work with Domain Storytelling, Event Storming, Context Mapping, Impact Mapping, User Story Mapping, Event Modeling and Example Mapping. We will examine how such methods can be applied using the colors and building blocks defined with Storystorming and visually connect the dots.

In our first six sessions you will experience how to

  • Explore important domain scenarios with Domain Storytelling
  • Discover a big picture of your domain with Event Storming
  • Make the implicit power of definition explicit with Context Mapping
  • Manage your backlog with Impact Mapping and User Story Mapping
  • Design user journeys and software systems with Event Modeling
  • Refine user stories and acceptance criteria with Example Mapping

We will then spend two sessions exploring the important but often neglected topic of

  • Modeling (semi-) automated business processes and sagas

Using the four message types defined with Storystorming (which are based on the sentence types of human language), we will design a multi-step service collaboration and examine the options we have for autonomy and coupling in the software and in our organization.

Who is this for?

This workshop is really aimed at three groups - in no particular order!

  1. Tech-savvy domain experts who are interested in better software projects
  2. Agile business analysts who are interested in lightweight modeling methods
  3. Software developers and architects who are interested in domain experts ;)

What you will learn

  1. Shaping the ubiquitous language around all three pillars of DDD
  2. Collaborating about strategic DDD on the green- or brownfield
  3. Enabling team autonomy and responsibility for models and components
  4. Exploring project strategy and prioritizing epics and user stories
  5. Aligning mental models (not only) in a context of Event Sourcing & CQRS
  6. Defining and refining system behavior with Specification by Example
  7. Designing business processes and sagas using four message types

Each session lasts around 90+ minutes and will consist of knowledge transfer, a hands-on whiteboard activity, and time for questions and discussions. Each participant receives all of the material shown by the trainer as a handout for personal use.

For remote workshops, we’ll be using Zoom Video Conference and Miro Online Whiteboard.

Agenda

Session 1

Knowledge: Shaping the ubiquitous language around all three pillars of DDD

Hands-On: Explore important domain scenarios with Domain Storytelling

Session 2

Knowledge: Collaborating about strategic DDD on the green- or brownfield

Hands-On: Discover a big picture of your domain with Event Storming

Session 3

Knowledge: Enabling team autonomy and responsibility for models and components

Hands-On: Make the implicit power of definition explicit with Context Mapping

Session 4

Knowledge: Exploring project strategy and prioritizing epics and user stories

Hands-On: Manage your backlog with Impact Mapping and User Story Mapping

Session 5

Knowledge: Aligning mental models (not only) in a context of Event Sourcing & CQRS

Hands-On: Design user journeys and software systems with Event Modeling

Session 6

Knowledge: Defining and refining system behavior with Specification by Example

Hands-On: Refine user stories and acceptance criteria with Example Mapping

Session 7 + 8

Knowledge: Designing business processes and sagas using four message types

Hands-On: Specify a multi-step service collaboration with Storystorming

Prerequisites

  • As a business stakeholder: a genuine interest in fundamental properties of software
  • As a software engineer: a genuine interest in understanding a business or new domain
  • Recommended: some work experience with cross-functional, Agile environments

About Martin Schimak

At the age of ten Martin fell in love with coding. Later he left his love and studied business and law. Only to find out: that’s awesome for programming business software! In the 15+ years since then he talked to energy traders, telecom people, wind tunnel experts and many others. They formed a hands-on domain decoder with a passion for DDD and a soft spot for colored sticky notes. Martin is a trainer with experience in 50+ companies and 10+ countries. He regularly speaks at meetups and conferences across Europe - and from time to time in the US.