Slide 1

Slide 1 text

“Please, draw me a sheep!” “No. This sheep is already very ill. Make me another.”

Slide 2

Slide 2 text

“You have to see it too. This isn’t a sheep. It’s a ram. It has horns.”

Slide 3

Slide 3 text

“This one is too old. I want a sheep who will live a long time.”

Slide 4

Slide 4 text

“That’s a box. The sheep you want is inside.” “That’s exactly how I wanted it!”

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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»

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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?

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Domain Experts Confirm The Visual Story ▪ The facilitator checks if everybody in the room agrees Comments and deviations are noted as textual annotations

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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?

Slide 20

Slide 20 text

Any rules? ▪ An actor should not occur more than once in a story Actors in a Domain Story

Slide 21

Slide 21 text

Any rules? ▪ A work object can occur multiple times Work Objects in a Domain Story

Slide 22

Slide 22 text

Any rules? ▪ Label activities in order in which they occur Activities in a Domain Story

Slide 23

Slide 23 text

Any rules? ▪ Avoid technical jargon

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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!

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

The Two Pillars of DDD ▪ Ubiquitous Language ▪ Bounded Context Vaughn Vernon The «Red» Book

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

The Two Pillars of DDD ▪ Bounded Contexts are defined by the semantics of the Ubiquitous Language! Vaughn Vernon The «Green» Book

Slide 60

Slide 60 text

Bounded Contexts Hints in Domain Stories ▪ Find boundaries that separate models but don't separate people Eric Evans DDD Reference

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

Service-Oriented Architecture ▪ Service is a technical authority for a given Business Capability – Udi Dahan, «Advanced Distributed System Design» - course Boundaries by Business Capabilities

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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»

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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