Domain Storytelling - Collaborative Modelling with Strategic Domain-Driven Design
Domain-Driven Design at its very core focuses on collaboration between software developers and business stakeholders as traditional businesses and IT melt together. Collaborative Modelling is a paradigm for all kinds of activities that represent working together across different disciplines, ranging from traditional workshops to outright software design and modelling.
The challenge of Collaborative Modelling lies in both facilitating the collaborative process and aligning the acquired understanding of the problem domain with boundaries in the software system. The cost of poor facilitation is a mismatch in expectations between the stakeholders and the development team while the cost of misaligned boundaries is a software design with little adherence to the principles of high cohesion and low coupling.
This workshop addresses the challenge by presenting Domain Storytelling as a technique to build shared understanding between people with different backgrounds while providing ground for deep technical insights in software design. The focus is on building visual stories that highlight both the implicit relations in the problem domain and candidates for system boundaries.
Fundamentals of DDD. Analysis of the business domain in the problem space. Defining boundaries in the software system in the solution space.
Domain-Driven Design and Collaborative Modeling:
Different approaches to achieve close collaboration between developers and domain experts. Short survey of Event Storming, Impact Mapping and similar techniques
Domain Storytelling Basics:
Domain Storytelling as an approach to Collaborative Modeling. Syntax of the pictographic language of Domain Storytelling, visualized using examples from the domain of healthcare.
Exercise: We model the ‘Story of your domain!’
Facilitating the Workshop:
Basic facilitation for a straightforward workshop. Advanced variants for challenging workshops that let you keep the flow and learn even in the most chaotic conditions
Domain Storytelling in Legacy Environments:
Using As-Is, To-Be and Pure Domain Stories to achieve the state of Deep Listening ie. achieving true understanding of the way business is conducted in your domain.
Finding Boundaries in Domain Stories:
Boundaries for software design based on a use-case from a complex domain.
Exercise: Look for boundaries using Ubiquitous Language of Domain-Driven Design
Demo: Boundaries aligned with business capabilities
Each topic will be followed by a Q/A session
One of CoWorkers at CoWork, Norway, a consultancy travelling together with the customers on their IT-transformation journey.
I have 20+ years of experience as software architect, developer and coach, in telecom and healthcare, thus being deeply involved in developing enterprise-solutions in complex domains. The major part of the last 10 years of my professional career has been devoted to leading and coaching different development teams, by cultivating knowledge sharing in the organization and increasing co-developer’s business understanding. My professional philosophy is rooted in Domain-Driven Design and in building agile and technical coaching culture on an organization-wide level.
Apart from work I enjoy spending time engaging my kids in STEM activities. I am an enthusiastic First Lego League mentor and have actively contributed to the FIRST community locally and internationally.