SlideShare a Scribd company logo
1 of 14
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
Mufrid Krilic, Senior Software Developer/Coach, DIPS AS, Norway
Twitter: @mufridk
How to Learn a Domain Language
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
– By applying the same principles we use when we try to learn a foreign
language
• Listen to people who speak the language
– Domain experts
• Repeat what they had said
• Get a confirmation that what you said was correct
 Increase ability to communicate with domain experts on their terms
Motivation
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
 Arrange a workshop with domain experts
– Domain experts
– Development team
– Facilitator
 The facilitator ask domain experts to explain the way they work
 Important that explanation is centered around short examples
How does it work?
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 follows the explanation by visualizing each example as
a Domain Story
 The domain experts confirm whether or not the visualized story is
correct
 The facilitator checks if everybody in the room agree
 Comments and deviations are noted as textual annotations
Facilitating Domain Storytelling
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 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
Any rules?
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
 If domain experts differ on how the business process is conducted
– For noticeable differences create another Domain Story
– For minor differences make a comment as a textual annotation
No Branching or Parallel Flows
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
 An actor should not occur more than once in a story
 A work object can occur multiple times
 Label activities in order in which they occur
 Avoid technical jargon
Story is Preferably a Short Example
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
Demo - Use Case from Healthcare – Group Treatment
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 treatment has
the best effect when done in a group of patients
 Often applied in psychiatry
Group Treatment in Healthcare
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
 Actor - Physician
– decides to start a group treatment for a group of patients
 Actor - Supporting consultant
– Creates a patient group and lays out a schedule
– When patients check-in for an appointment in the group:
• Register patient attendance
• Deal with no-show and cancellations
• Follow-up on patient billing and reporting to authorities
– Notice patients on appointments which they do not need to attend
Group Treatment – Basic Business Flow
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
 Event Storming,
– By Alberto Brandolini: www.eventstorming.com
– 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
 Impact Mapping
– By Gojko Adzic: www.impactmapping.org
– Focus on the goal you are trying to achieve, actors who can help you achieve
it and impacts you want to observe on the actors rather than focus on the
software you want to deliver
Alternative Methods to Learn a Domain Language
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 references
– Stefan Hofer and Henning Schwentner
– www.domainstorytelling.org
 Community on Slack
– #domain-storytelling channel at https://ddd-cqrs-es.slack.com
 Domain Storytelling book
References and Further Reading

More Related Content

Similar to Domain storytelling

Chapter 13: Speaking to Inform (Public Speaking and Persuasion)
Chapter 13: Speaking to Inform (Public Speaking and Persuasion)Chapter 13: Speaking to Inform (Public Speaking and Persuasion)
Chapter 13: Speaking to Inform (Public Speaking and Persuasion)MichelleValencia31
 
Presentation skills with guided sign post
Presentation skills with guided sign postPresentation skills with guided sign post
Presentation skills with guided sign postTimothy Wooi
 
management la gestion industrielle projet
management  la gestion industrielle projetmanagement  la gestion industrielle projet
management la gestion industrielle projetWiemChaouachi1
 
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
 
Phone Survey Software: The All You Can Know Guide
Phone Survey Software: The All You Can Know GuidePhone Survey Software: The All You Can Know Guide
Phone Survey Software: The All You Can Know GuideNiharika Gupta
 
5 Steps to Writing a Resume that Sells
5 Steps to Writing a Resume that Sells5 Steps to Writing a Resume that Sells
5 Steps to Writing a Resume that SellsApnaCourse
 
Product Innovation Storytelling - 5 tips to breakthrough to your consumers
Product Innovation Storytelling - 5 tips to breakthrough to your consumersProduct Innovation Storytelling - 5 tips to breakthrough to your consumers
Product Innovation Storytelling - 5 tips to breakthrough to your consumersJosh Hansen
 
The 10 commandments for starting the great IT outsourced project
The 10 commandments for starting the great IT outsourced projectThe 10 commandments for starting the great IT outsourced project
The 10 commandments for starting the great IT outsourced projectSoftwareHut
 
Easy Tips for Public Speaking | Raychel Harvey Jones
Easy Tips for Public Speaking |  Raychel Harvey JonesEasy Tips for Public Speaking |  Raychel Harvey Jones
Easy Tips for Public Speaking | Raychel Harvey JonesRaychel Harvey Jones
 
Webinar: how to get off to a fast start with your intelligent assistant progr...
Webinar: how to get off to a fast start with your intelligent assistant progr...Webinar: how to get off to a fast start with your intelligent assistant progr...
Webinar: how to get off to a fast start with your intelligent assistant progr...CX Company
 
The Developer Customer Profile
The Developer Customer ProfileThe Developer Customer Profile
The Developer Customer ProfileJamesChristopher21
 
The five elements of operational excellence
The five elements of operational excellenceThe five elements of operational excellence
The five elements of operational excellenceEric A. Magada
 
BUSINESS ANALYST SKILLS LIST 2022
BUSINESS ANALYST SKILLS LIST 2022BUSINESS ANALYST SKILLS LIST 2022
BUSINESS ANALYST SKILLS LIST 2022Sprintzeal
 
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...Optimizely
 
[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program
[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program
[Webinar] Getting Buy-in for Your Experimentation and Personalisation ProgramDan Ross
 
Individual course project assignments crafting a personal entre
Individual course project assignments crafting a personal entreIndividual course project assignments crafting a personal entre
Individual course project assignments crafting a personal entressuserd93c47
 
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
 

Similar to Domain storytelling (20)

Chapter 13: Speaking to Inform (Public Speaking and Persuasion)
Chapter 13: Speaking to Inform (Public Speaking and Persuasion)Chapter 13: Speaking to Inform (Public Speaking and Persuasion)
Chapter 13: Speaking to Inform (Public Speaking and Persuasion)
 
Presentation skills with guided sign post
Presentation skills with guided sign postPresentation skills with guided sign post
Presentation skills with guided sign post
 
management la gestion industrielle projet
management  la gestion industrielle projetmanagement  la gestion industrielle projet
management la gestion industrielle projet
 
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
 
Phone Survey Software: The All You Can Know Guide
Phone Survey Software: The All You Can Know GuidePhone Survey Software: The All You Can Know Guide
Phone Survey Software: The All You Can Know Guide
 
5 Steps to Writing a Resume that Sells
5 Steps to Writing a Resume that Sells5 Steps to Writing a Resume that Sells
5 Steps to Writing a Resume that Sells
 
Product Innovation Storytelling - 5 tips to breakthrough to your consumers
Product Innovation Storytelling - 5 tips to breakthrough to your consumersProduct Innovation Storytelling - 5 tips to breakthrough to your consumers
Product Innovation Storytelling - 5 tips to breakthrough to your consumers
 
The 10 commandments for starting the great IT outsourced project
The 10 commandments for starting the great IT outsourced projectThe 10 commandments for starting the great IT outsourced project
The 10 commandments for starting the great IT outsourced project
 
Upwork profile optimization secrets
Upwork profile optimization secretsUpwork profile optimization secrets
Upwork profile optimization secrets
 
Easy Tips for Public Speaking | Raychel Harvey Jones
Easy Tips for Public Speaking |  Raychel Harvey JonesEasy Tips for Public Speaking |  Raychel Harvey Jones
Easy Tips for Public Speaking | Raychel Harvey Jones
 
Webinar: how to get off to a fast start with your intelligent assistant progr...
Webinar: how to get off to a fast start with your intelligent assistant progr...Webinar: how to get off to a fast start with your intelligent assistant progr...
Webinar: how to get off to a fast start with your intelligent assistant progr...
 
Sherlene Lian's Work Portfolio
Sherlene Lian's Work PortfolioSherlene Lian's Work Portfolio
Sherlene Lian's Work Portfolio
 
The Developer Customer Profile
The Developer Customer ProfileThe Developer Customer Profile
The Developer Customer Profile
 
The five elements of operational excellence
The five elements of operational excellenceThe five elements of operational excellence
The five elements of operational excellence
 
BUSINESS ANALYST SKILLS LIST 2022
BUSINESS ANALYST SKILLS LIST 2022BUSINESS ANALYST SKILLS LIST 2022
BUSINESS ANALYST SKILLS LIST 2022
 
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...
How to Get Buy-in For Your Personalisation and Experimentation Platform | Opt...
 
[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program
[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program
[Webinar] Getting Buy-in for Your Experimentation and Personalisation Program
 
Individual course project assignments crafting a personal entre
Individual course project assignments crafting a personal entreIndividual course project assignments crafting a personal entre
Individual course project assignments crafting a personal entre
 
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
 
Using Powerpoint
Using PowerpointUsing Powerpoint
Using Powerpoint
 

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
 
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 (6)

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
 
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

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
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
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
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
(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
 
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 Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

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...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
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
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
(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...
 
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 Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
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...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Domain storytelling

  • 1. 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 Mufrid Krilic, Senior Software Developer/Coach, DIPS AS, Norway Twitter: @mufridk How to Learn a Domain Language
  • 2. 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 – By applying the same principles we use when we try to learn a foreign language • Listen to people who speak the language – Domain experts • Repeat what they had said • Get a confirmation that what you said was correct  Increase ability to communicate with domain experts on their terms Motivation
  • 3. 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  Arrange a workshop with domain experts – Domain experts – Development team – Facilitator  The facilitator ask domain experts to explain the way they work  Important that explanation is centered around short examples How does it work?
  • 4. 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 follows the explanation by visualizing each example as a Domain Story  The domain experts confirm whether or not the visualized story is correct  The facilitator checks if everybody in the room agree  Comments and deviations are noted as textual annotations Facilitating Domain Storytelling
  • 5. 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 Domain Story Syntax - Build Visual Sentences
  • 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 Any rules?
  • 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  Focus on what happens in the domain not on what could happen  If domain experts differ on how the business process is conducted – For noticeable differences create another Domain Story – For minor differences make a comment as a textual annotation No Branching or Parallel Flows
  • 8. 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  An actor should not occur more than once in a story  A work object can occur multiple times  Label activities in order in which they occur  Avoid technical jargon Story is Preferably a Short Example
  • 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 Demo - Use Case from Healthcare – Group Treatment
  • 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  For patients with identical diagnoses sometimes the treatment has the best effect when done in a group of patients  Often applied in psychiatry Group Treatment in Healthcare
  • 11. 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  Actor - Physician – decides to start a group treatment for a group of patients  Actor - Supporting consultant – Creates a patient group and lays out a schedule – When patients check-in for an appointment in the group: • Register patient attendance • Deal with no-show and cancellations • Follow-up on patient billing and reporting to authorities – Notice patients on appointments which they do not need to attend Group Treatment – Basic Business Flow
  • 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
  • 13. 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, – By Alberto Brandolini: www.eventstorming.com – 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  Impact Mapping – By Gojko Adzic: www.impactmapping.org – Focus on the goal you are trying to achieve, actors who can help you achieve it and impacts you want to observe on the actors rather than focus on the software you want to deliver Alternative Methods to Learn a Domain Language
  • 14. 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 references – Stefan Hofer and Henning Schwentner – www.domainstorytelling.org  Community on Slack – #domain-storytelling channel at https://ddd-cqrs-es.slack.com  Domain Storytelling book References and Further Reading

Editor's Notes

  1. Learning a foreign language – amazing experience - Domain Storytelling a technique that helps us achieve the same amazing experience Presentation, DIPS, enterprise software for healthcare industry, in market for over 25 years
  2. Reference to introduction about foreign languages
  3. When not fluent in the domain it is easier to communicate by concrete examples. The generic abstract patterns of the business can later be deduced from the concrete examples
  4. Visual representation helps involve everybody in the room Even in a small workshop it is hard to get everybody to agree. Quick annotations allow for multiple perspectives to be respected while keeping the flow of the workshop
  5. Mechanics of Domain Storytelling
  6. Well, every game has rules, so does this one…
  7. By labeling activities in order in which they occur you will be able to follow the story from the beginning to the end
  8. As mentioned, my background is from software development for healthcare industry. It seemed natural to present use case from this domain, drawing from the experience when working for my company DIPS. It is also something non-trivial, hopefully resembling the level of complexity in your domain
  9. Let’s see how a Domain Story for the check-in process looks like
  10. Compiled using the Domain Storytelling tool on the web-site: https://www.wps.de/modeler/. TODO: Textual annotation for No-Show and cancellations Another Domain Story for notifying patients on appointment they do not need to attend
  11. Reference to workshop by Thomas Pierrain and Bruno Boucard Differences between Domain Storytelling and Event Storming Both methods are pretty versatile and can also be combined. If you are interested in the timeline, Event Storming might be a better start. If you want to know how people and/or software systems work together, go for Domain Storytelling. If the problem space is very vague, maybe even chaotic, I would first try Event Storming. If you think people can articulate what they are doing, Domain Storytelling should work well.