Questions at menti.com 8937 4165
Crafting Your Digital Confidence
Multiple Models with
Multiple Perspectives in
a Cross-Functional Team
Case Study From Healthcare
KanDDDinsky 2023
Mufrid Krilic,
Domain-Driven Design Coach,
CoWork, Norway
About myself….
• Developer, architect, agile and
technical coach
• Healthcare, Telecom, Insurance
• “Domain-Driven Design enthusiast”
• Feel free to reach out!
• www.linkedin.com/in/mufrid/
• mufrid@cowork.no
Crafting Your Digital Confidence
CoWork - something
to inspire you
• Trust-Based Leadership in Practice
Tight-Loose-Tight - TLT
Crafting Your Digital Confidence
Some light reading
Why this talk….
«At times, it is bewildering to read all of
the material on #DomainDrivenDesign
posted here. Close to zero talk about
the actual models being fleshed out or
related breakthroughs, which, let's face
it, are at the heart of it.»
- Yves Reynhout on LinkedIn
The topics to be covered
• Strategies to learn complex domains
• Domain problem decomposition
• Aligning different perspectives in a cross-functional team
• Delivering value in legacy constrained environments
• Modeling breakthrough
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Let’s start with the story….
Questions at menti.com 8937 4165
▪ For patients with identical diagnoses sometimes the
treatment has the best effect when done in a group of
patients
▪ Examples from different subdomains in healthcare:
• Conversation therapy groups in psychiatry
• Training sessions post-injury
Domain: Healthcare - Group Treatment
The Team
….and the constraints
Questions at menti.com 8937 4165
The business goal
constraint
• “Replace the legacy system”
• It must work “everywhere” and for
“everyone”
• Is this really a business goal?
• However, reality in many
organizations
Questions at menti.com 8937 4165
Legacy system
constraint
• ….or the opportunity?
• Works “everywhere” and for
“everyone”
• Why are we replacing it?
• “Complex systems run as broken
systems.”
• Quote from “How Complex Systems
Fail” by Richard I. Cook
Questions at menti.com 8937 4165
The team and the
knowledge
constraint
• No prior/limited knowledge of
the domain
• Developers
• Tester
• Product Owner
• Very knowledgeable in the domain
• Very good overview of customer’s organization
and history
• Apprehensive that the customers might be using
the legacy system in “unpredictable” ways
• 4 developers
• 1 QA
• 1 Product owner
Strategies to Learn
Complex Domains
Tight-Loose-Tight
We deal with complexity by
incentivize learning!
Questions at menti.com 8937 4165
Two Mindsets
• What kind of problems are you working on?
• Simple
• Complicated
• or Complex Problems
Simple problems -> no need for TLT!
Simple Problems
Best Practice
Rational Decision Making
Standards
5. Our Mission
4. Our Users
3. Our Plans
2. My Role
1. My Expertise
Automate!
Outer Alignment
Inner Alignment
If you have previous experience, stick to the plan!
Complicated Problems
We have previous
experience
We can trust the plan
We can trust our judgement to
guide the decisions
5. Our Mission
4. Our Users
3. Our Plans
2. My Role
1. My Expertise
Outer Alignment
Inner Alignment
Hypothesis-driven development for
complex problems
Complex Problems
Never done before
Learn from Failure
Challenge your
assumptions
We lack experience
5. Our Mission
4. Our Users
3. Our Plans
2. My Role
1. My Expertise
Outer Alignment
Inner Alignment
Questions at menti.com 8937 4165
Combining leadership approach with
strategic design
• Tight-Loose-Tight
• Discover purpose and needs (T)
• Evaluating multiple models (L)
• Challenge your assumptions (T)
Questions at menti.com 8937 4165
TLT argues for
Collaborative
Modeling
• Collaborative Modeling workshops
• Discovering purpose and needs
• All the right people in the same
room
• Different perspectives!
• End-users and stakeholders from
different departments
• To challenge our assumptions
Learning New Domain
Healthcare – Group Treatment
How to learn a new domain?
1.Discover Use Cases
2.Drill into scenarios using collaborative modeling techniques
• Ask a bunch of questions
3.Listen!
4.Repeat step 2 on different or same(!) scenarios
• Ask (hopefully) the right questions ☺
Questions at menti.com 8937 4165
Use-Case
Approach
• Pre-workshop conversations
• Identify the most common use
cases
• or the ones with most “pain”
Questions at menti.com 8937 4165
▪ Setting up a group
• Planning
▪ Conducting group appointments
• Check-in process
Group Treatment Use Cases
Collaborative Modeling in Practice
Group Treatment Planning
Somatic Department
Rehabilitation after lifestyle affected diagnosis
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Group Treatment Check-In
Somatic Department
Rehabilitation after lifestyle affected diagnosis
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Group Treatment Planning
Psychiatric Department
Adult Psychiatry
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Group Treatment Check-In
Psychiatric Department
Adult Psychiatry
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Domain Problem
Decomposition
Validating different models using data ownership
Questions at menti.com 8937 4165
Data Ownership
• A business term is defined as a set
of data properties
Questions at menti.com 8937 4165
Functional
Decomposition
• Boundaries in the system follow the
function that a user needs to do
hers/his job
• Classic approach
• Subdomain = Function
Group Treatment in Healthcare
Domain Model
Data Ownership in Domain Model –
Functional Decomposition
• One single “Group” for different functions
• Physician and specialists
• Patients
• Appointments
• Location/Venue
• Patient attendance, including no-show
• Patients exempted from payment
• Invoice – preferred method
• Diagnosis-based patient fee
• Reference to § in law for compulsory interventions in psychiatry
Questions at menti.com 8937 4165
Role-based
decomposition
• Boundaries in the system based on
which roles perform different
functions
• Leads to more task-oriented model
• Subdomain = Role based function
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Data Ownership in Domain Model –
role-based decomposition
“Group” planning context
• Specialists
• Patients
• Appointments
• Location
• Reference to § in law for
psychiatry
“Group” check-in context
• Patient attendance
incl. no-show
• Cancelled appointments
• Patients exempted from
payment
• Invoice – preferred method
• Diagnosis-based patient fee
Questions at menti.com 8937 4165
Time- and role-based
decomposition
• Boundaries in the system based on
which roles perform different
function at different times
• Supports context-oriented systems
• Subdomain = Role-based function in
a user context
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Data Ownership in Domain Model –
time- and role-based decomposition
“Group” planning context
• Specialists
• Patients
• Appointments
• Location
• Reference to § in law for
psychiatry
“Group” check-in context
• Patients exempted from
payment
• Invoice preferred method
• Diagnosis-based patient fee
“Group” billing context
• Patient attendance,
incl. no-show
• Cancelled appointments
Questions at menti.com 8937 4165
About Functional
Decomposition
• Customer/end-user needs are
hidden behind functions!
• No incentives to decompose
• Pull towards canonical domain
model
Decision Time
Questions at menti.com 8937 4165
End-users need
flexibility
• Somatic Rehabilitation
• Different courses
• Different diagnosis
• Psychiatric Therapy
• Adult groups
• Pediatric groups
• Different Locations
Questions at menti.com 8937 4165
Flexibility and
complexity
• Allowing flexibility everywhere calls
for highly customizable systems
• Works for “everyone” and
“everywhere”
• High level of customization => high
complexity
• Configuration permutations
Questions at menti.com 8937 4165
Flexibility within a
Bounded Context
• Different bounded contexts for
different end-user needs
• The degree of customization in a
system is constrained to bounded
contexts
What did we do?
Questions at menti.com 8937 4165
Role-based
decomposition
• Boundaries in the system based on
which roles perform different
functions
• Leads to more task-oriented model
• Subdomain = Role based function
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Questions at menti.com 8937 4165
Why?
• The time perspective separates the
models
• Group Checkin is about confirming
what happened in an appointment
• Group Planning is about how
appointments are going to happen
Decomposition approach with
respect to the problem we are facing
Complex Problems
Never done before
Learn from Failure
Challenge your
assumptions
We lack experience
5. Our Mission
4. Our Users
3. Our Plans
2. My Role
1. My Expertise
Outer Alignment
Inner Alignment
Team Maturity by Levels of Alignment
Organization Steering
Write unit
tests
Become
better
developer
Deliver new
feature
Clinically effective
group treatment for
diverse patient needs
Different user
needs in group
treatment in
somatic and
psychiatry
Outer Alignment
Inner Alignment
5. Mission
4. User
3. Project
2. Role and process
1. Expertise
Developers,
Product
Owner,
Tester
Product Owner, Tester
Using appropriate
decomposition
approach to reach
higher
Level of Alignment
Multiple Models
Reflected in Code Structure
Questions at menti.com 8937 4165
Boundaries by Abstractions
Use appropriate abstraction:
• Repository
• Namespaces
• Whatever might be available
in your programming
environment
Questions at menti.com 8937 4165
Bounded Models
• Patient attendance
incl. no-show
• Cancelled appointments
• Patients exempted from
payment
• Specialists
• Patients
• Appointments
• Location
• Reference to § in law for psychiatry
Context Maps and
discovering value chains
Delivering value early
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Questions at menti.com 8937 4165
Context Mapping
• Group Check-in has relation to three other contexts
• Patient Visit
• Patient Billing
• Scheduling
Questions at menti.com 8937 4165
Which relation describes our
situation best?
• “upstream-downstream relationship […]”
• "the upstream team may succeed independently of the fate of the
downstream team, [...]
• Establish a clear customer/supplier relationship between the two teams
• Negotiate and budget tasks for downstream requirements
• (Source: DDD Reference by Eric Evans)
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Questions at menti.com 8937 4165
Using dependencies to our
advantage
• It turned out that dependencies were working in our favor
• Other teams could help us achieve the goal with relatively
little work on their side
Questions at menti.com 8937 4165
Solved by
navigating to
other contexts
using IDs
patientID
appointmentID
UI
Composition
Questions at menti.com 8937 4165
UI Composition
• Works well as context integration
pattern in a multi-team distributed
environment
• Possible in most scenarios
• Legacy systems “compliant”
Questions at menti.com 8937 4165
Context Maps revealing possibility
for early release
• Achieving full autonomy could mean we need to do all the
work ourselves
• Group Planning
• Negotiating deliveries with other teams to release early
• Group Check-In
Modeling Breakthrough
Finally, Understanding the Business!
Questions at menti.com 8937 4165
The Business and the Legacy System
• The more complex the legacy system….
• ….and the longer the system is in production
• ….the more likely that the domain language will be affected
…. by the language of the legacy system!
Questions at menti.com 8937 4165
Distilling the
Domain with
Pure Domain Stories
• Capturing the very essence of the
business processes
Questions to ask:
• How would you do your work
without the software system?
• What are you trying to achieve?
• Why are you doing this?
Group Planning
Somatic Department
Group Planning
Psychiatric Department
Departments
•Accident and Emergency Department
•Anaesthesia and Surgical Services
•Cancer Treatment and Medical Physics
•Children and Youth Clinic
•Clinical Nutrition
•Communication
•Department of Occupational Therapy
•Dermatology
•Emergency Clinic
•Emergency Department Short Stay Unit
•Finance
•Haukeland hotel
•Heart Disease
•Human Resources
•Internal Medicine
•International Collaboration
•Laboratory Medicine and Pathology
•Maternity Ward
•Medical Biochemistry and
Pharmacology MBF
•Medical Genetics
•Neurology
•Neurosurgery
•Occupational Medicine
•Occupational Outpatient Clinic
•Ophthalmology
•Oral Surgery
•Orthopedic Clinic
•Physiotherapy
•Psychiatry
•Radiology department
•Recruitment and Temporary Staffing Office
•Regional Centre for Asthma, Allergy and
Other Hypersensitivity illnesses in Western
Norway
•Research and Development
•Rheumatology
•Secretariat for hospital management
•Surgical Clinic
•The Cancer Center for Education and
rehabilitation- CCER
•The Norwegian Arthritis Registry -
NorArthritis
•The Norwegian Porphyria Centre NAPOS
•Thoracic Medicine
•Treatment abroad
•Tuberculosis clinic
•Women's Clinic
Questions at menti.com 8937 4165
Decompositions
by business
capabilities
• Boundaries in the system follow the
capabilities that the business offers
its’ customers
• Subdomain = Business Capability
• Subdomain ≠ Function
• Foundation for the product
architecture
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Data Ownership – Decomposition by
Business Capabilities
“Group” – psychiatry capability
• Psychologist
• Psychiatrist
• Diagnosis
• Reference to § in law
• Patients
• Appointments
• Location for appointment
outside hospital premises
“Group” – medical clinical services
• Physician
• Diagnosis
• Patients
• Appointments
Questions at menti.com 8937 4165
So…. Did we do
anything about it?
• Nothing ☺
• This insight came at slightly
inconvenient time
• How committed are you to the
model you have chosen?
• What is your TLT “mandate”?
Questions at menti.com 8937 4165
Product architecture
• There are some product related decisions to be made.
• Which users are we tailoring our products for?
• What is the cost of customizing the product for diverse user
groups?
• What is the cost of developing separate products for separate user
groups?
Wrapping up
Questions at menti.com 8937 4165
So…. what have we learned?
• Collaborative Learning by asking the right questions and
listening
• Legacy Systems constrains your thinking
• Levels of Alignment helps you respect different
perspectives
• There is always another model
• ….but modeling insights might come at most
“inconvenient” times
• Data Ownership as a tool to validate the model
• Context Mapping as a tool to discover value chains
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Team Ultimum
Follow us on GitHub!
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf
Questions at menti.com 8937 4165
Photos
• https://unsplash.com/@ratushny
• https://unsplash.com/@jeshoots
• https://unsplash.com/@mango_quan
• www.vecteezy.com

More Related Content

PDF
Bets, Boards, and Missions
PDF
Extreme DDD modelling
PDF
1 Million Orange Stickies later - Devoxx Poland 2024
PDF
The precision blade
PDF
AgileLunch Meetup - Listen to your Board
PDF
Redesigning everything (avanscoperta meeutp edition)
PDF
Agile Network India | My experience as a Lead Technical Architect on Digital ...
PDF
The sweet spot
Bets, Boards, and Missions
Extreme DDD modelling
1 Million Orange Stickies later - Devoxx Poland 2024
The precision blade
AgileLunch Meetup - Listen to your Board
Redesigning everything (avanscoperta meeutp edition)
Agile Network India | My experience as a Lead Technical Architect on Digital ...
The sweet spot

Similar to Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf (20)

PDF
Your board is trying to tell you something
PPTX
Introducing Domain Driven Design - codemash
PPT
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
PDF
Using Bets, Boards and Missions to Inspire Org-wide Agility
PDF
Software design as a cooperative game with EventStorming
PDF
Traditional to Agile Development
PDF
50.000 orange stickies later
PDF
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architects
PPTX
UCLA MSBA LinkedIn Industry Seminar 2019-02-27
PPTX
Domain Driven Design
PPT
AcceleratorWorkshop_UPA2008_After
PDF
The art of agile project initiation
PPTX
What Makes A World Class Microsoft 365 Intranet & Digital Workplace - Workshop
PPTX
Agile Estimation @ Lean Agile Manchester: Make Estimates Small!
PPTX
Richard Wilburn - Lean Truth
PDF
Agile for digital library projects
PDF
Launch & Grow a Successful Simulation Program
PPTX
What You Measure is What You Value
PPTX
Lean for Competitive Advantage and Customer Delight
PPT
Sym18 296 Ae (Dbaccess Case Study)
Your board is trying to tell you something
Introducing Domain Driven Design - codemash
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
Using Bets, Boards and Missions to Inspire Org-wide Agility
Software design as a cooperative game with EventStorming
Traditional to Agile Development
50.000 orange stickies later
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architects
UCLA MSBA LinkedIn Industry Seminar 2019-02-27
Domain Driven Design
AcceleratorWorkshop_UPA2008_After
The art of agile project initiation
What Makes A World Class Microsoft 365 Intranet & Digital Workplace - Workshop
Agile Estimation @ Lean Agile Manchester: Make Estimates Small!
Richard Wilburn - Lean Truth
Agile for digital library projects
Launch & Grow a Successful Simulation Program
What You Measure is What You Value
Lean for Competitive Advantage and Customer Delight
Sym18 296 Ae (Dbaccess Case Study)

More from Mufrid Krilic (9)

PPTX
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
PDF
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
PDF
Domain storytelling – facilitator’s guide to enhance learning in your organiz...
PPTX
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
PDF
Building Quality in Legacy Systems - The Art of Asking Questions
PDF
Domain model in Multi-language Environment With Examples from Healthcare
PPTX
Domain storytelling
PPTX
Strategies to learn complex domains - Experiences from Developing Enterprise ...
PPTX
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Domain storytelling – facilitator’s guide to enhance learning in your organiz...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions
Domain model in Multi-language Environment With Examples from Healthcare
Domain storytelling
Strategies to learn complex domains - Experiences from Developing Enterprise ...
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018

Recently uploaded (20)

PPTX
Tartificialntelligence_presentation.pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
Modernising the Digital Integration Hub
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
Geologic Time for studying geology for geologist
PDF
STKI Israel Market Study 2025 version august
PDF
Architecture types and enterprise applications.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PPT
What is a Computer? Input Devices /output devices
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
August Patch Tuesday
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Tartificialntelligence_presentation.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Modernising the Digital Integration Hub
1 - Historical Antecedents, Social Consideration.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Benefits of Physical activity for teenagers.pptx
Geologic Time for studying geology for geologist
STKI Israel Market Study 2025 version august
Architecture types and enterprise applications.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
What is a Computer? Input Devices /output devices
observCloud-Native Containerability and monitoring.pptx
Web Crawler for Trend Tracking Gen Z Insights.pptx
Getting started with AI Agents and Multi-Agent Systems
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A comparative study of natural language inference in Swahili using monolingua...
Chapter 5: Probability Theory and Statistics
A contest of sentiment analysis: k-nearest neighbor versus neural network
August Patch Tuesday
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf

Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDDDinsky 2023.pdf

  • 1. Questions at menti.com 8937 4165 Crafting Your Digital Confidence
  • 2. Multiple Models with Multiple Perspectives in a Cross-Functional Team Case Study From Healthcare KanDDDinsky 2023 Mufrid Krilic, Domain-Driven Design Coach, CoWork, Norway
  • 3. About myself…. • Developer, architect, agile and technical coach • Healthcare, Telecom, Insurance • “Domain-Driven Design enthusiast” • Feel free to reach out! • www.linkedin.com/in/mufrid/ • [email protected] Crafting Your Digital Confidence
  • 4. CoWork - something to inspire you • Trust-Based Leadership in Practice Tight-Loose-Tight - TLT Crafting Your Digital Confidence
  • 6. Why this talk…. «At times, it is bewildering to read all of the material on #DomainDrivenDesign posted here. Close to zero talk about the actual models being fleshed out or related breakthroughs, which, let's face it, are at the heart of it.» - Yves Reynhout on LinkedIn
  • 7. The topics to be covered • Strategies to learn complex domains • Domain problem decomposition • Aligning different perspectives in a cross-functional team • Delivering value in legacy constrained environments • Modeling breakthrough
  • 9. Let’s start with the story….
  • 10. Questions at menti.com 8937 4165 ▪ For patients with identical diagnoses sometimes the treatment has the best effect when done in a group of patients ▪ Examples from different subdomains in healthcare: • Conversation therapy groups in psychiatry • Training sessions post-injury Domain: Healthcare - Group Treatment
  • 11. The Team ….and the constraints
  • 12. Questions at menti.com 8937 4165 The business goal constraint • “Replace the legacy system” • It must work “everywhere” and for “everyone” • Is this really a business goal? • However, reality in many organizations
  • 13. Questions at menti.com 8937 4165 Legacy system constraint • ….or the opportunity? • Works “everywhere” and for “everyone” • Why are we replacing it? • “Complex systems run as broken systems.” • Quote from “How Complex Systems Fail” by Richard I. Cook
  • 14. Questions at menti.com 8937 4165 The team and the knowledge constraint • No prior/limited knowledge of the domain • Developers • Tester • Product Owner • Very knowledgeable in the domain • Very good overview of customer’s organization and history • Apprehensive that the customers might be using the legacy system in “unpredictable” ways • 4 developers • 1 QA • 1 Product owner
  • 15. Strategies to Learn Complex Domains Tight-Loose-Tight
  • 16. We deal with complexity by incentivize learning!
  • 17. Questions at menti.com 8937 4165 Two Mindsets • What kind of problems are you working on? • Simple • Complicated • or Complex Problems
  • 18. Simple problems -> no need for TLT! Simple Problems Best Practice Rational Decision Making Standards 5. Our Mission 4. Our Users 3. Our Plans 2. My Role 1. My Expertise Automate! Outer Alignment Inner Alignment
  • 19. If you have previous experience, stick to the plan! Complicated Problems We have previous experience We can trust the plan We can trust our judgement to guide the decisions 5. Our Mission 4. Our Users 3. Our Plans 2. My Role 1. My Expertise Outer Alignment Inner Alignment
  • 20. Hypothesis-driven development for complex problems Complex Problems Never done before Learn from Failure Challenge your assumptions We lack experience 5. Our Mission 4. Our Users 3. Our Plans 2. My Role 1. My Expertise Outer Alignment Inner Alignment
  • 21. Questions at menti.com 8937 4165 Combining leadership approach with strategic design • Tight-Loose-Tight • Discover purpose and needs (T) • Evaluating multiple models (L) • Challenge your assumptions (T)
  • 22. Questions at menti.com 8937 4165 TLT argues for Collaborative Modeling • Collaborative Modeling workshops • Discovering purpose and needs • All the right people in the same room • Different perspectives! • End-users and stakeholders from different departments • To challenge our assumptions
  • 23. Learning New Domain Healthcare – Group Treatment
  • 24. How to learn a new domain? 1.Discover Use Cases 2.Drill into scenarios using collaborative modeling techniques • Ask a bunch of questions 3.Listen! 4.Repeat step 2 on different or same(!) scenarios • Ask (hopefully) the right questions ☺
  • 25. Questions at menti.com 8937 4165 Use-Case Approach • Pre-workshop conversations • Identify the most common use cases • or the ones with most “pain”
  • 26. Questions at menti.com 8937 4165 ▪ Setting up a group • Planning ▪ Conducting group appointments • Check-in process Group Treatment Use Cases
  • 28. Group Treatment Planning Somatic Department Rehabilitation after lifestyle affected diagnosis
  • 35. Group Treatment Check-In Somatic Department Rehabilitation after lifestyle affected diagnosis
  • 41. Group Treatment Planning Psychiatric Department Adult Psychiatry
  • 47. Group Treatment Check-In Psychiatric Department Adult Psychiatry
  • 55. Questions at menti.com 8937 4165 Data Ownership • A business term is defined as a set of data properties
  • 56. Questions at menti.com 8937 4165 Functional Decomposition • Boundaries in the system follow the function that a user needs to do hers/his job • Classic approach • Subdomain = Function
  • 57. Group Treatment in Healthcare
  • 59. Data Ownership in Domain Model – Functional Decomposition • One single “Group” for different functions • Physician and specialists • Patients • Appointments • Location/Venue • Patient attendance, including no-show • Patients exempted from payment • Invoice – preferred method • Diagnosis-based patient fee • Reference to § in law for compulsory interventions in psychiatry
  • 60. Questions at menti.com 8937 4165 Role-based decomposition • Boundaries in the system based on which roles perform different functions • Leads to more task-oriented model • Subdomain = Role based function
  • 63. Data Ownership in Domain Model – role-based decomposition “Group” planning context • Specialists • Patients • Appointments • Location • Reference to § in law for psychiatry “Group” check-in context • Patient attendance incl. no-show • Cancelled appointments • Patients exempted from payment • Invoice – preferred method • Diagnosis-based patient fee
  • 64. Questions at menti.com 8937 4165 Time- and role-based decomposition • Boundaries in the system based on which roles perform different function at different times • Supports context-oriented systems • Subdomain = Role-based function in a user context
  • 67. Data Ownership in Domain Model – time- and role-based decomposition “Group” planning context • Specialists • Patients • Appointments • Location • Reference to § in law for psychiatry “Group” check-in context • Patients exempted from payment • Invoice preferred method • Diagnosis-based patient fee “Group” billing context • Patient attendance, incl. no-show • Cancelled appointments
  • 68. Questions at menti.com 8937 4165 About Functional Decomposition • Customer/end-user needs are hidden behind functions! • No incentives to decompose • Pull towards canonical domain model
  • 70. Questions at menti.com 8937 4165 End-users need flexibility • Somatic Rehabilitation • Different courses • Different diagnosis • Psychiatric Therapy • Adult groups • Pediatric groups • Different Locations
  • 71. Questions at menti.com 8937 4165 Flexibility and complexity • Allowing flexibility everywhere calls for highly customizable systems • Works for “everyone” and “everywhere” • High level of customization => high complexity • Configuration permutations
  • 72. Questions at menti.com 8937 4165 Flexibility within a Bounded Context • Different bounded contexts for different end-user needs • The degree of customization in a system is constrained to bounded contexts
  • 73. What did we do?
  • 74. Questions at menti.com 8937 4165 Role-based decomposition • Boundaries in the system based on which roles perform different functions • Leads to more task-oriented model • Subdomain = Role based function
  • 76. Questions at menti.com 8937 4165 Why? • The time perspective separates the models • Group Checkin is about confirming what happened in an appointment • Group Planning is about how appointments are going to happen
  • 77. Decomposition approach with respect to the problem we are facing Complex Problems Never done before Learn from Failure Challenge your assumptions We lack experience 5. Our Mission 4. Our Users 3. Our Plans 2. My Role 1. My Expertise Outer Alignment Inner Alignment
  • 78. Team Maturity by Levels of Alignment Organization Steering Write unit tests Become better developer Deliver new feature Clinically effective group treatment for diverse patient needs Different user needs in group treatment in somatic and psychiatry Outer Alignment Inner Alignment 5. Mission 4. User 3. Project 2. Role and process 1. Expertise Developers, Product Owner, Tester Product Owner, Tester Using appropriate decomposition approach to reach higher Level of Alignment
  • 80. Questions at menti.com 8937 4165 Boundaries by Abstractions Use appropriate abstraction: • Repository • Namespaces • Whatever might be available in your programming environment
  • 81. Questions at menti.com 8937 4165 Bounded Models • Patient attendance incl. no-show • Cancelled appointments • Patients exempted from payment • Specialists • Patients • Appointments • Location • Reference to § in law for psychiatry
  • 82. Context Maps and discovering value chains Delivering value early
  • 84. Questions at menti.com 8937 4165 Context Mapping • Group Check-in has relation to three other contexts • Patient Visit • Patient Billing • Scheduling
  • 85. Questions at menti.com 8937 4165 Which relation describes our situation best? • “upstream-downstream relationship […]” • "the upstream team may succeed independently of the fate of the downstream team, [...] • Establish a clear customer/supplier relationship between the two teams • Negotiate and budget tasks for downstream requirements • (Source: DDD Reference by Eric Evans)
  • 87. Questions at menti.com 8937 4165 Using dependencies to our advantage • It turned out that dependencies were working in our favor • Other teams could help us achieve the goal with relatively little work on their side
  • 88. Questions at menti.com 8937 4165 Solved by navigating to other contexts using IDs patientID appointmentID UI Composition
  • 89. Questions at menti.com 8937 4165 UI Composition • Works well as context integration pattern in a multi-team distributed environment • Possible in most scenarios • Legacy systems “compliant”
  • 90. Questions at menti.com 8937 4165 Context Maps revealing possibility for early release • Achieving full autonomy could mean we need to do all the work ourselves • Group Planning • Negotiating deliveries with other teams to release early • Group Check-In
  • 92. Questions at menti.com 8937 4165 The Business and the Legacy System • The more complex the legacy system…. • ….and the longer the system is in production • ….the more likely that the domain language will be affected …. by the language of the legacy system!
  • 93. Questions at menti.com 8937 4165 Distilling the Domain with Pure Domain Stories • Capturing the very essence of the business processes Questions to ask: • How would you do your work without the software system? • What are you trying to achieve? • Why are you doing this?
  • 96. Departments •Accident and Emergency Department •Anaesthesia and Surgical Services •Cancer Treatment and Medical Physics •Children and Youth Clinic •Clinical Nutrition •Communication •Department of Occupational Therapy •Dermatology •Emergency Clinic •Emergency Department Short Stay Unit •Finance •Haukeland hotel •Heart Disease •Human Resources •Internal Medicine •International Collaboration •Laboratory Medicine and Pathology •Maternity Ward •Medical Biochemistry and Pharmacology MBF •Medical Genetics •Neurology •Neurosurgery •Occupational Medicine •Occupational Outpatient Clinic •Ophthalmology •Oral Surgery •Orthopedic Clinic •Physiotherapy •Psychiatry •Radiology department •Recruitment and Temporary Staffing Office •Regional Centre for Asthma, Allergy and Other Hypersensitivity illnesses in Western Norway •Research and Development •Rheumatology •Secretariat for hospital management •Surgical Clinic •The Cancer Center for Education and rehabilitation- CCER •The Norwegian Arthritis Registry - NorArthritis •The Norwegian Porphyria Centre NAPOS •Thoracic Medicine •Treatment abroad •Tuberculosis clinic •Women's Clinic
  • 97. Questions at menti.com 8937 4165 Decompositions by business capabilities • Boundaries in the system follow the capabilities that the business offers its’ customers • Subdomain = Business Capability • Subdomain ≠ Function • Foundation for the product architecture
  • 100. Data Ownership – Decomposition by Business Capabilities “Group” – psychiatry capability • Psychologist • Psychiatrist • Diagnosis • Reference to § in law • Patients • Appointments • Location for appointment outside hospital premises “Group” – medical clinical services • Physician • Diagnosis • Patients • Appointments
  • 101. Questions at menti.com 8937 4165 So…. Did we do anything about it? • Nothing ☺ • This insight came at slightly inconvenient time • How committed are you to the model you have chosen? • What is your TLT “mandate”?
  • 102. Questions at menti.com 8937 4165 Product architecture • There are some product related decisions to be made. • Which users are we tailoring our products for? • What is the cost of customizing the product for diverse user groups? • What is the cost of developing separate products for separate user groups?
  • 104. Questions at menti.com 8937 4165 So…. what have we learned? • Collaborative Learning by asking the right questions and listening • Legacy Systems constrains your thinking • Levels of Alignment helps you respect different perspectives • There is always another model • ….but modeling insights might come at most “inconvenient” times • Data Ownership as a tool to validate the model • Context Mapping as a tool to discover value chains
  • 108. Team Ultimum Follow us on GitHub!
  • 110. Questions at menti.com 8937 4165 Photos • https://unsplash.com/@ratushny • https://unsplash.com/@jeshoots • https://unsplash.com/@mango_quan • www.vecteezy.com