SlideShare a Scribd company logo
1 of 72
Download to read offline
“Please, draw me a sheep!”
“No. This sheep is already very ill. Make me another.”
“You have to see it too. This isn’t a sheep. It’s a ram. It has horns.”
“This one is too old. I want a sheep who will live a long time.”
“That’s a box. The sheep you want is inside.”
“That’s exactly how I wanted it!”
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Mufrid Krilic
Senior Software Architect/Coach
DIPS AS, Norway
Domain Storytelling
Facilitator’s Guide to Enhance Learning in Your Organization
Her kan du legge inn
bilde. Du finner
figurer her:
Link
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ In order to understand the business,
one must learn the language in which
the business operates
– i.e. a domain language
Motivation
Takeaways
1. Ability to communicate with domain experts on their terms
2. Engaging way to facilitate a customer workshop
3. Kick-off your development project with hints on context
boundaries
Ella Fitzegerald –
«They Cant’t Take That Away From Me»
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Part 1:
Ability to communicate with domain experts on
their terms
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Lightweight method to learn a domain language
What is Domain Storytelling?
How do you learn any language?
▪ Listen to people who speak the language
▪ Repeat what they had said
▪ Get a confirmation that what you said was correct
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ The facilitator asks and guides domain experts to explain the way
they work
Workshop Technique
Listen and Speak the Domain Language
▪ The facilitator builds Domain Stories by visualizing examples
from the domain
Workshop discussion
flows as a series of short
examples
Domain Experts Confirm The Visual Story
▪ The facilitator checks if everybody in the room agrees
Comments and
deviations are noted as
textual annotations
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Picture from www.domainstorytelling.org
The Domain Story Syntax - Build Visual Sentences
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Focus on what happens in the domain not on what could happen
What is a Domain Story
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ "You can learn more from a good
example than from a bad
abstraction.“
– after Peter Hruschka
What is a Domain Story
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ No branching or parallelism in Domain
Stories
– We are not building a flow or
sequence diagram
What is a Domain Story
Any rules?
▪ For noticeable differences create another Domain Story
▪ For minor differences make a comment as a textual
annotation
What if domain experts
differ on how the
business process is
conducted?
Any rules?
▪ An actor should not occur more than once in a story
Actors in a Domain Story
Any rules?
▪ A work object can occur multiple times
Work Objects in a
Domain Story
Any rules?
▪ Label activities in order in which they occur
Activities in a Domain
Story
Any rules?
▪ Avoid technical jargon
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Use Case: Group Therapy in a Hospital
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ For patients with identical diagnoses sometimes the therapy has the
best effect when done in a group of patients
Group Therapy in Norwegian Hospitals
Group Therapy in Norwegian Hospitals
▪ Mental Health Care
▪ Adult and Pediatric
▪ Somatic Health Care
▪ Training to improve quality of life with long-term diagnoses
Business areas in
hospitals utilizing group
therapy
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Group Planning:
– Physician decides to start a group
treatment for a group of patients
– Medical secretary creates a
patient group and lays out a
schedule
Group Therapy in Norwegian Hospitals
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Group Check-In:
– When patients check-in for an appointment in the group the
secretary:
•Registers patient attendance
•Deals with no-show and cancellations
•Informs patients on appointments which they do not need to
attend
•Follows-up on patient billing and reporting to authorities
Group Therapy in Norwegian Hospitals
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Domain Story for Group Check-In
Built using web-tool wps.de/modeler
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Domain Story for Group Check-In
E N A B L I N G E F F I C I E N T H E A L T H C A R E
E N A B L I N G E F F I C I E N T H E A L T H C A R E
E N A B L I N G E F F I C I E N T H E A L T H C A R E
E N A B L I N G E F F I C I E N T H E A L T H C A R E
E N A B L I N G E F F I C I E N T H E A L T H C A R E
FAQ
Alternative methods to learn a domain language
Event Storming
▪ Tell the story of the domain by plotting a timeline using
domain events
▪ Domain Event: Verb in a past tense for something that
domain expert cares about
eventstorming.com
by
Alberto Brandolini
Impact Mapping
▪ Focus on
▪ the goal you are trying to achieve,
▪ actors who can help you achieve it
▪ impacts you want to observe on the actors
▪ Rather than
▪ the software you want to deliver
impactmapping.org
by
Gojko Adzic
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Event Storming exposes how time influences the business processes
– Often ignored yet significant factor
Domain Storytelling vs. Event Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Domain Storytelling focuses on communication between people
and/or software systems
Domain Storytelling vs. Event Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Event Storming allows for very explorative modelling
Domain Storytelling vs. Event Storming
Deep Listening
▪ Domain Storytelling provides an environment where
everybody gets heard
▪ Every domain expert can tell hers/his story and get it
visualized.
truly remarkable
occurrence
Deep Listening
▪ substantially improving the collaboration between the team
and domain experts.
▪ If there is something that software developers can get better
at it is listening to the business.
truly remarkable
occurrence
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Part 2: Engaging way to facilitate a customer
workshop
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Combining Different Approaches
Event Storming vs. Domain Storytelling vs. Impact Mapping
No method lock-in!
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Facilitator’s Challenges with Domain Storytelling
DISTILLING AS-IS AND
TO-BE DOMAIN STORIES
AVOID BECOMING A
BOTTLENECK
SETTING THE STAGE
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Avoid becoming a bottleneck
trying to visualize a Domain Story
learning the domain language
keeping track of the essential comments from the other
participants
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Avoid becoming a bottleneck – Backstage Facilitator
“WHITEBOARD” FACILITATOR
RUNNING THE SHOW
“BACKSTAGE” FACILITATOR
DOCUMENTING THE DOMAIN STORIES
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Avoid becoming a bottleneck - Event Storming
Use Hot-Spots post-it notes as a
reminder of a valuable discussion
The most chaotic discussions are the most valuable ones
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Game Storming suggests combining
divergent and convergent methods
– divide the participants into groups
(divergent)
– then presenting the outcome of
group discussions to everybody
(convergent).
Avoid becoming a bottleneck - Game Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ What are the overall goals?
Setting the stage
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ What are we trying to achieve in the
workshop?
▪ Start a workshop with Impact
Mapping-inspired session
▪ Discover goals, impacts and needs
– Groundwork for writing Domain
Stories
Set the stage with Impact Mapping
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Summarize the workshop by running
Lean Coffee format based on the
insights in Domain Stories
– choose the topics for the Lean
Coffee session
• use textual annotations
• use hot-spots
Lean Chocolate
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Lean Chocolate - a dessert after the main course!
Lean Chocolate
the Lean Coffee variant
run at the end of the workshop
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Part 3: Discovering Bounded Contexts
Why I Value Domain-Driven Design
▪ DDD is an approach for dealing with complex problems with
emphasis on learning the domain
– in a close collaboration with domain experts
– in order to focus on the most important problems to solve.
Eric Evans
The «Blue» Book
The Two Pillars of DDD
▪ Ubiquitous Language
▪ Bounded Context
Vaughn Vernon
The «Red» Book
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Ubiquitous Language
– Develop domain model based on terms from the domain language
The Two Pillars of DDD
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Bounded Context
– tackle complexity by splitting application via inherent subdomain
boundaries
– Bounded Contexts are boundaries in the software system that
aspire to correspond to the subdomains
The Two Pillars of DDD
The Two Pillars of DDD
▪ Bounded Contexts are defined by the semantics of the
Ubiquitous Language!
Vaughn Vernon
The «Green» Book
Bounded Contexts Hints in Domain Stories
▪ Find boundaries that separate models but don't separate
people
Eric Evans
DDD Reference
Bounded Contexts Hints in Domain Stories
▪ One-way information flow
▪ Difference in language
▪ Different triggers
▪ Time vs. on-demand
Scott Millett and
Nick Tune
PPP of DDD
Bounded Contexts Hints in Domain Stories
▪ Start development based on suggested Bounded Context
▪ Then iterate
▪ New knowledge may lead to new insights
▪ New insights may lead to new Bounded Contexts
Scott Wlaschin
DDD and
Functional Model
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Bounded Contexts in our Domain Story
E N A B L I N G E F F I C I E N T H E A L T H C A R E
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Group Therapy in Norwegian Hospitals
▪ Mental Health Care
▪ Adult and Pediatric
▪ Somatic Health Care
▪ Training to improve quality of life with long-term diagnoses
Business areas in
hospitals utilizing group
therapy
Service-Oriented Architecture
▪ Service is a technical authority for a given Business Capability
– Udi Dahan, «Advanced Distributed System Design» - course
Boundaries by
Business
Capabilities
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Group Therapy and Business Capabilities
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Group Therapy and Business Capabilities
Discover business capabilities using
Pure Domain Stories
▪ Define top-most boundaries as services per business
capabilities
▪ Within each service define bounded contexts using linguistic
boundaries from the domain language
DDD and SOA
Takeaways
1. Ability to communicate with domain experts on their terms
2. Engaging way to facilitate a customer workshop
3. Kick-off your development project with hints on context
boundaries
Ella Fitzegerald –
«They Cant’t Take That Away From Me»
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ Domain Storytelling book and website
– https://leanpub.com/domainstorytelling
• Stefan Hofer and Henning Schwentner
– www.domainstorytelling.org
– https://github.com/hofstef/awesome-domain-storytelling
▪ Community on Slack
– #domain-storytelling channel at https://ddd-cqrs-es.slack.com
▪ My blog: https://mufridk.medium.com
References and Further Reading
E N A B L I N G E F F I C I E N T H E A L T H C A R E
▪ https://thenounproject.com/libraryofcongress/
▪ Maria Marin from the Noun Project
▪ Language by Gem Designs from the Noun Project
▪ group by Blake Thompson from the Noun Project
▪ Close up shot of hot coffee in glasses lined up ready for coffee tasting
by Suzanne Strong from Noun Project
▪ www.domainstorytelling.org
Photos and Icons Acknowledgements

More Related Content

Similar to Domain storytelling – facilitator’s guide to enhance learning in your organization dev days europe 2021

From the right process to a solid cultural change
From the right process to a solid cultural changeFrom the right process to a solid cultural change
From the right process to a solid cultural changeFrancesco Zaia
 
Domain model in Multi-language Environment With Examples from Healthcare
Domain model in Multi-language Environment With Examples from HealthcareDomain model in Multi-language Environment With Examples from Healthcare
Domain model in Multi-language Environment With Examples from HealthcareMufrid Krilic
 
MCDM People and Story Reporting and BRoll Lecture
MCDM People and Story Reporting and BRoll LectureMCDM People and Story Reporting and BRoll Lecture
MCDM People and Story Reporting and BRoll LectureAlex Stonehill
 
Designers Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusDesigners Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusMotivate Design
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union colleenfry
 
The Modern Software Engineer - Nuno Job
The Modern Software Engineer - Nuno JobThe Modern Software Engineer - Nuno Job
The Modern Software Engineer - Nuno JobGreta Strolyte
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at ScaleDavid Simons
 
RadioActive Europe - Presentation at PLE-Conference 2014
RadioActive Europe - Presentation at PLE-Conference 2014 RadioActive Europe - Presentation at PLE-Conference 2014
RadioActive Europe - Presentation at PLE-Conference 2014 Andreas Auwärter
 
From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsRonald Ashri
 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsRonald Ashri
 
Lazy Penetration Tester Tricks
Lazy Penetration Tester Tricks Lazy Penetration Tester Tricks
Lazy Penetration Tester Tricks Core Security
 
Social Media 101 for Nonprofits with Adobe Spark
Social Media 101 for Nonprofits with Adobe SparkSocial Media 101 for Nonprofits with Adobe Spark
Social Media 101 for Nonprofits with Adobe SparkTechSoup
 
The secret life of an accessible player
The secret life of an accessible playerThe secret life of an accessible player
The secret life of an accessible playerHenny Swan
 
Creating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & FontsCreating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & FontsLogi Analytics
 
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Chris Snook
 
Combine workshops to boost business understanding.pdf
Combine workshops to boost business understanding.pdfCombine workshops to boost business understanding.pdf
Combine workshops to boost business understanding.pdfBruno Boucard
 
Atlassian collaboration state of the union - Matt Hodges
Atlassian collaboration state of the union - Matt HodgesAtlassian collaboration state of the union - Matt Hodges
Atlassian collaboration state of the union - Matt HodgesAmbientia
 
The value of learning and sharing
The value of learning and sharingThe value of learning and sharing
The value of learning and sharingBert Jan Schrijver
 

Similar to Domain storytelling – facilitator’s guide to enhance learning in your organization dev days europe 2021 (20)

Domain storytelling
Domain storytellingDomain storytelling
Domain storytelling
 
Upwork profile optimization secrets
Upwork profile optimization secretsUpwork profile optimization secrets
Upwork profile optimization secrets
 
From the right process to a solid cultural change
From the right process to a solid cultural changeFrom the right process to a solid cultural change
From the right process to a solid cultural change
 
Domain model in Multi-language Environment With Examples from Healthcare
Domain model in Multi-language Environment With Examples from HealthcareDomain model in Multi-language Environment With Examples from Healthcare
Domain model in Multi-language Environment With Examples from Healthcare
 
MCDM People and Story Reporting and BRoll Lecture
MCDM People and Story Reporting and BRoll LectureMCDM People and Story Reporting and BRoll Lecture
MCDM People and Story Reporting and BRoll Lecture
 
Designers Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusDesigners Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From Venus
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union
 
The Modern Software Engineer - Nuno Job
The Modern Software Engineer - Nuno JobThe Modern Software Engineer - Nuno Job
The Modern Software Engineer - Nuno Job
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
 
RadioActive Europe - Presentation at PLE-Conference 2014
RadioActive Europe - Presentation at PLE-Conference 2014 RadioActive Europe - Presentation at PLE-Conference 2014
RadioActive Europe - Presentation at PLE-Conference 2014
 
From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dots
 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
 
Lazy Penetration Tester Tricks
Lazy Penetration Tester Tricks Lazy Penetration Tester Tricks
Lazy Penetration Tester Tricks
 
Social Media 101 for Nonprofits with Adobe Spark
Social Media 101 for Nonprofits with Adobe SparkSocial Media 101 for Nonprofits with Adobe Spark
Social Media 101 for Nonprofits with Adobe Spark
 
The secret life of an accessible player
The secret life of an accessible playerThe secret life of an accessible player
The secret life of an accessible player
 
Creating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & FontsCreating Great Dashboards - Beyond the Colors & Fonts
Creating Great Dashboards - Beyond the Colors & Fonts
 
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!Elevated.com's 2018 General Capabilities Deck-We are growing!!
Elevated.com's 2018 General Capabilities Deck-We are growing!!
 
Combine workshops to boost business understanding.pdf
Combine workshops to boost business understanding.pdfCombine workshops to boost business understanding.pdf
Combine workshops to boost business understanding.pdf
 
Atlassian collaboration state of the union - Matt Hodges
Atlassian collaboration state of the union - Matt HodgesAtlassian collaboration state of the union - Matt Hodges
Atlassian collaboration state of the union - Matt Hodges
 
The value of learning and sharing
The value of learning and sharingThe value of learning and sharing
The value of learning and sharing
 

More from Mufrid Krilic

Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Mufrid Krilic
 
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Mufrid Krilic
 
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Mufrid Krilic
 
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Mufrid Krilic
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsMufrid Krilic
 
Strategies to learn complex domains - Experiences from Developing Enterprise ...
Strategies to learn complex domains - Experiences from Developing Enterprise ...Strategies to learn complex domains - Experiences from Developing Enterprise ...
Strategies to learn complex domains - Experiences from Developing Enterprise ...Mufrid Krilic
 
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Mufrid Krilic
 

More from Mufrid Krilic (7)

Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
 
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
 
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
 
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking Questions
 
Strategies to learn complex domains - Experiences from Developing Enterprise ...
Strategies to learn complex domains - Experiences from Developing Enterprise ...Strategies to learn complex domains - Experiences from Developing Enterprise ...
Strategies to learn complex domains - Experiences from Developing Enterprise ...
 
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
 

Recently uploaded

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Recently uploaded (20)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

Domain storytelling – facilitator’s guide to enhance learning in your organization dev days europe 2021

  • 1. “Please, draw me a sheep!” “No. This sheep is already very ill. Make me another.”
  • 2. “You have to see it too. This isn’t a sheep. It’s a ram. It has horns.”
  • 3. “This one is too old. I want a sheep who will live a long time.”
  • 4. “That’s a box. The sheep you want is inside.” “That’s exactly how I wanted it!”
  • 5.
  • 6. E N A B L I N G E F F I C I E N T H E A L T H C A R E Mufrid Krilic Senior Software Architect/Coach DIPS AS, Norway Domain Storytelling Facilitator’s Guide to Enhance Learning in Your Organization Her kan du legge inn bilde. Du finner figurer her: Link
  • 7. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ In order to understand the business, one must learn the language in which the business operates – i.e. a domain language Motivation
  • 8. Takeaways 1. Ability to communicate with domain experts on their terms 2. Engaging way to facilitate a customer workshop 3. Kick-off your development project with hints on context boundaries Ella Fitzegerald – «They Cant’t Take That Away From Me»
  • 9. E N A B L I N G E F F I C I E N T H E A L T H C A R E Part 1: Ability to communicate with domain experts on their terms
  • 10. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Lightweight method to learn a domain language What is Domain Storytelling?
  • 11. How do you learn any language? ▪ Listen to people who speak the language ▪ Repeat what they had said ▪ Get a confirmation that what you said was correct
  • 12. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ The facilitator asks and guides domain experts to explain the way they work Workshop Technique
  • 13. Listen and Speak the Domain Language ▪ The facilitator builds Domain Stories by visualizing examples from the domain Workshop discussion flows as a series of short examples
  • 14. Domain Experts Confirm The Visual Story ▪ The facilitator checks if everybody in the room agrees Comments and deviations are noted as textual annotations
  • 15. E N A B L I N G E F F I C I E N T H E A L T H C A R E Picture from www.domainstorytelling.org The Domain Story Syntax - Build Visual Sentences
  • 16. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Focus on what happens in the domain not on what could happen What is a Domain Story
  • 17. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ "You can learn more from a good example than from a bad abstraction.“ – after Peter Hruschka What is a Domain Story
  • 18. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ No branching or parallelism in Domain Stories – We are not building a flow or sequence diagram What is a Domain Story
  • 19. Any rules? ▪ For noticeable differences create another Domain Story ▪ For minor differences make a comment as a textual annotation What if domain experts differ on how the business process is conducted?
  • 20. Any rules? ▪ An actor should not occur more than once in a story Actors in a Domain Story
  • 21. Any rules? ▪ A work object can occur multiple times Work Objects in a Domain Story
  • 22. Any rules? ▪ Label activities in order in which they occur Activities in a Domain Story
  • 23. Any rules? ▪ Avoid technical jargon
  • 24. E N A B L I N G E F F I C I E N T H E A L T H C A R E Use Case: Group Therapy in a Hospital
  • 25. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ For patients with identical diagnoses sometimes the therapy has the best effect when done in a group of patients Group Therapy in Norwegian Hospitals
  • 26. Group Therapy in Norwegian Hospitals ▪ Mental Health Care ▪ Adult and Pediatric ▪ Somatic Health Care ▪ Training to improve quality of life with long-term diagnoses Business areas in hospitals utilizing group therapy
  • 27. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Group Planning: – Physician decides to start a group treatment for a group of patients – Medical secretary creates a patient group and lays out a schedule Group Therapy in Norwegian Hospitals
  • 28. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Group Check-In: – When patients check-in for an appointment in the group the secretary: •Registers patient attendance •Deals with no-show and cancellations •Informs patients on appointments which they do not need to attend •Follows-up on patient billing and reporting to authorities Group Therapy in Norwegian Hospitals
  • 29. E N A B L I N G E F F I C I E N T H E A L T H C A R E Domain Story for Group Check-In Built using web-tool wps.de/modeler
  • 30. E N A B L I N G E F F I C I E N T H E A L T H C A R E Domain Story for Group Check-In
  • 31. E N A B L I N G E F F I C I E N T H E A L T H C A R E
  • 32. E N A B L I N G E F F I C I E N T H E A L T H C A R E
  • 33. E N A B L I N G E F F I C I E N T H E A L T H C A R E
  • 34. E N A B L I N G E F F I C I E N T H E A L T H C A R E
  • 35. E N A B L I N G E F F I C I E N T H E A L T H C A R E FAQ Alternative methods to learn a domain language
  • 36. Event Storming ▪ Tell the story of the domain by plotting a timeline using domain events ▪ Domain Event: Verb in a past tense for something that domain expert cares about eventstorming.com by Alberto Brandolini
  • 37. Impact Mapping ▪ Focus on ▪ the goal you are trying to achieve, ▪ actors who can help you achieve it ▪ impacts you want to observe on the actors ▪ Rather than ▪ the software you want to deliver impactmapping.org by Gojko Adzic
  • 38. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Event Storming exposes how time influences the business processes – Often ignored yet significant factor Domain Storytelling vs. Event Storming
  • 39. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Domain Storytelling focuses on communication between people and/or software systems Domain Storytelling vs. Event Storming
  • 40. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Event Storming allows for very explorative modelling Domain Storytelling vs. Event Storming
  • 41. Deep Listening ▪ Domain Storytelling provides an environment where everybody gets heard ▪ Every domain expert can tell hers/his story and get it visualized. truly remarkable occurrence
  • 42. Deep Listening ▪ substantially improving the collaboration between the team and domain experts. ▪ If there is something that software developers can get better at it is listening to the business. truly remarkable occurrence
  • 43. E N A B L I N G E F F I C I E N T H E A L T H C A R E Part 2: Engaging way to facilitate a customer workshop
  • 44. E N A B L I N G E F F I C I E N T H E A L T H C A R E Combining Different Approaches Event Storming vs. Domain Storytelling vs. Impact Mapping No method lock-in!
  • 45. E N A B L I N G E F F I C I E N T H E A L T H C A R E Facilitator’s Challenges with Domain Storytelling DISTILLING AS-IS AND TO-BE DOMAIN STORIES AVOID BECOMING A BOTTLENECK SETTING THE STAGE
  • 46. E N A B L I N G E F F I C I E N T H E A L T H C A R E Avoid becoming a bottleneck trying to visualize a Domain Story learning the domain language keeping track of the essential comments from the other participants
  • 47. E N A B L I N G E F F I C I E N T H E A L T H C A R E Avoid becoming a bottleneck – Backstage Facilitator “WHITEBOARD” FACILITATOR RUNNING THE SHOW “BACKSTAGE” FACILITATOR DOCUMENTING THE DOMAIN STORIES
  • 48. E N A B L I N G E F F I C I E N T H E A L T H C A R E Avoid becoming a bottleneck - Event Storming Use Hot-Spots post-it notes as a reminder of a valuable discussion The most chaotic discussions are the most valuable ones
  • 49. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Game Storming suggests combining divergent and convergent methods – divide the participants into groups (divergent) – then presenting the outcome of group discussions to everybody (convergent). Avoid becoming a bottleneck - Game Storming
  • 50. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ What are the overall goals? Setting the stage
  • 51. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ What are we trying to achieve in the workshop? ▪ Start a workshop with Impact Mapping-inspired session ▪ Discover goals, impacts and needs – Groundwork for writing Domain Stories Set the stage with Impact Mapping
  • 52. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Summarize the workshop by running Lean Coffee format based on the insights in Domain Stories – choose the topics for the Lean Coffee session • use textual annotations • use hot-spots Lean Chocolate
  • 53. E N A B L I N G E F F I C I E N T H E A L T H C A R E Lean Chocolate - a dessert after the main course! Lean Chocolate the Lean Coffee variant run at the end of the workshop
  • 54. E N A B L I N G E F F I C I E N T H E A L T H C A R E Part 3: Discovering Bounded Contexts
  • 55. Why I Value Domain-Driven Design ▪ DDD is an approach for dealing with complex problems with emphasis on learning the domain – in a close collaboration with domain experts – in order to focus on the most important problems to solve. Eric Evans The «Blue» Book
  • 56. The Two Pillars of DDD ▪ Ubiquitous Language ▪ Bounded Context Vaughn Vernon The «Red» Book
  • 57. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Ubiquitous Language – Develop domain model based on terms from the domain language The Two Pillars of DDD
  • 58. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Bounded Context – tackle complexity by splitting application via inherent subdomain boundaries – Bounded Contexts are boundaries in the software system that aspire to correspond to the subdomains The Two Pillars of DDD
  • 59. The Two Pillars of DDD ▪ Bounded Contexts are defined by the semantics of the Ubiquitous Language! Vaughn Vernon The «Green» Book
  • 60. Bounded Contexts Hints in Domain Stories ▪ Find boundaries that separate models but don't separate people Eric Evans DDD Reference
  • 61. Bounded Contexts Hints in Domain Stories ▪ One-way information flow ▪ Difference in language ▪ Different triggers ▪ Time vs. on-demand Scott Millett and Nick Tune PPP of DDD
  • 62. Bounded Contexts Hints in Domain Stories ▪ Start development based on suggested Bounded Context ▪ Then iterate ▪ New knowledge may lead to new insights ▪ New insights may lead to new Bounded Contexts Scott Wlaschin DDD and Functional Model
  • 63. E N A B L I N G E F F I C I E N T H E A L T H C A R E Bounded Contexts in our Domain Story
  • 64. E N A B L I N G E F F I C I E N T H E A L T H C A R E
  • 65. E N A B L I N G E F F I C I E N T H E A L T H C A R E Group Therapy in Norwegian Hospitals ▪ Mental Health Care ▪ Adult and Pediatric ▪ Somatic Health Care ▪ Training to improve quality of life with long-term diagnoses Business areas in hospitals utilizing group therapy
  • 66. Service-Oriented Architecture ▪ Service is a technical authority for a given Business Capability – Udi Dahan, «Advanced Distributed System Design» - course Boundaries by Business Capabilities
  • 67. E N A B L I N G E F F I C I E N T H E A L T H C A R E Group Therapy and Business Capabilities
  • 68. E N A B L I N G E F F I C I E N T H E A L T H C A R E Group Therapy and Business Capabilities
  • 69. Discover business capabilities using Pure Domain Stories ▪ Define top-most boundaries as services per business capabilities ▪ Within each service define bounded contexts using linguistic boundaries from the domain language DDD and SOA
  • 70. Takeaways 1. Ability to communicate with domain experts on their terms 2. Engaging way to facilitate a customer workshop 3. Kick-off your development project with hints on context boundaries Ella Fitzegerald – «They Cant’t Take That Away From Me»
  • 71. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ Domain Storytelling book and website – https://leanpub.com/domainstorytelling • Stefan Hofer and Henning Schwentner – www.domainstorytelling.org – https://github.com/hofstef/awesome-domain-storytelling ▪ Community on Slack – #domain-storytelling channel at https://ddd-cqrs-es.slack.com ▪ My blog: https://mufridk.medium.com References and Further Reading
  • 72. E N A B L I N G E F F I C I E N T H E A L T H C A R E ▪ https://thenounproject.com/libraryofcongress/ ▪ Maria Marin from the Noun Project ▪ Language by Gem Designs from the Noun Project ▪ group by Blake Thompson from the Noun Project ▪ Close up shot of hot coffee in glasses lined up ready for coffee tasting by Suzanne Strong from Noun Project ▪ www.domainstorytelling.org Photos and Icons Acknowledgements