Modelling Up - DDDEurope 2024 - Amsterdam

ziobrando 74 views 43 slides Jun 14, 2024
Slide 1
Slide 1 of 84
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84

About This Presentation

What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.


Slide Content

Modelling Up!
Alberto Brandolini
@Ziobrando

Landscape map

But it will Boil Down To
1.Frame the conversation correctly
2.Adapt the language to the conversation
3.Provide appropriate models for safer decision-making

The Practitioner Journey
A quick recap

Delivering game-changing
working software
Understanding
Domain Complexity
Building Models
Designing Software
solutions

We are not experts in the
problem domain

The shape of the organisation
Local Expertise
Local
Jargons

The knowledge distribution

Legacy Software

Challenge Accepted

We’ve Run
Big Picture
EventStorming
to maximise the
learning and
address the
inconsistencies

We’ve Run
Process
Modelling
Sessions
To dissect and
design the many
decisions on a
business flow

Process Modelling Grammar
Policy
Action
Action
Read
Model
Person
Read
Model
Triggering
Event
System
When?
The
resulting
action(s)
The person
responsible for
the decision The target
for the
action
The business
decision
The
Information
needed to
support a given
decision
What are you
looking at when
deciding this?

Process Modelling Grammar
Policy
Action
Action
Read
Model
Person
Read
Model
Triggering
Event
System
When?
What?
Who?
Where?
How?
Why?

We
challenged
the business
with
Examples
And Corner
Cases

We challenged the
architecture with
extreme
scenarios

We extracted Bounded Contexts
https://capture.dropbox.com/KINrP6MgIxMDPm7r

We distilled
domain knowledge
into a Ubiquitous
Language and used
it to describe
bounded contexts

We Released
robust and
maintainable
software,
making
someone’s
life easier

We are not experts in the
problem domain

We Were not experts in
the problem domain

Let’s talk Business!
Or… let’s talk to the business

The Language Mismatch
Again?

Ubiquitous language
helped us to inject
Precision in the
conversation

But that’s not the whole
story

Tech Jargon
Business
Jargon
DDDWardley
Maps
Ubiquitous
Language
Ubiquitous
Language

We can’t assume the
business will understand
us

Tools and documentation

Developers
UX Designers
Domain
Experts
Business
Stakeholders
Users
INception Design Development Operations Maintenance
Software Design
EventStorming
Tools lifespan
Big Picture
EventStorming
Process Modelling
EventStorming
Acceptance Tests
Architectural Decision Records
Context Map
Ubiquitous Language
Who are you writing for?
User Guide
Wiki

Tools purpose
Explore
Challenge
Co-design
Show off?
Document

Frame the conversation

Am I informing
or asking for
permission?
We
decide what to
buy, you decide how
to integrate

Why are we
talking?

A different goal needs a
different communication
style

Developers
UX Designers
Domain
Experts
Business
Stakeholders
Users
INception Design Development Operations Maintenance
Tools lifespan
What
works
here…
Won’t
work here

Can I reuse my
diagram?

Nope!

A significant number of
conversations in the BIZ/IT
space are wrong from the start

Our Responsibility,
Our Knowledge
our decisions
SkinInTheGame

Unfortunately, it’s not
black or white

Framing it better

1.Tell
2.Sell
3.Consult
4.Agree
5.Advise
6.Inquire
7.Delegate
Note: we are assuming the Top Down perspective
I’ll tell them
My boss told
me
I’ll convince them
I’ll ask advice
before deciding
We agreed to…
My boss clarified
the needs
We agree together
I’ll state my needs
and they’ll decide
I’ll check what the
decision has been
I don’t care
I’ll notify Everybody
about our decisions
I’ll make our decision available,
but no-one will check.
My boss asked my
opinion before deciding
My boss
convinced me

We still have to convince,
sometimes

Convincing is waste

https://yourlogicalfallacyis.com/
Sunken Cost: We spent
already too much building
that platform, we can’t
afford building a new one!
Straw Man: Pair
programming will obviously
slow us down
Appeal to authority:
Steve Jobs shouted to
apple engineers to
motivate them!

Sharpen Our Tools
•Providing multiple arguments will make
your position weaker
•You’re only increasing the probability of
offering a weak spot

Sharpen Our Tools
•Listen to the motivations of your
counterpart
•Provide ONE compelling argument
fulfilling their needs.

If we change purpose, we
need to change media,
style and approach

1.Bullet Points?
2.Really?
3.They have to be three!

Storytelling

Camouflage

1.Bullet Points?
2.Really?
3.They have to be three!

Some things are still Non
Negotiable
SkinInTheGameCompetence

Measuring performance
1.Are we looking at the same data?
2.Are we interpreting the data in the same way?
3.Are we drawing the same conclusions?

How Many Dashboards?
None Dashboard AnarchyOne large Shared A few official ones
Where are you?

Measuring performance
1.Are we looking at the same data?
2.Are we interpreting the data in the same way?
3.Are we drawing the same conclusions?

Not all the domains are the same
Anaemic Monolith
(CRUD & Stored
Procedures)
BI
Business
Intelligence adding
“interpretation”
(and delays)
Projections from
rich events
0
25
50
75
100
AprilMayJuneJuly
Questionable data
with delays
0
30
60
90
120
AprilMayJuneJuly
UnQuestionable
data
Rich Event-driven
domain models
Analytics
Pricing
Shop
Delivery
Catalogue
Public
Event
Public
Event
Public
Event
Public
Event
Public
Event
Public
Event
This does not
happen for
free!!!

Public Data is
useless without
an official
explanation

Anaemic domain
model
Interpretation
Layer in BI
Inconclusive
review
meetings filled
by “Yes But…”
Months
without taking
obvious
decisions

Measuring performance
1.Are we looking at the same data?
2.Are we interpreting the data in the same way?
3.Are we drawing the same conclusions?

https://yourlogicalfallacyis.com/
Anecdotal
references
Correlation isn’t
causation

Can we change it?

Build a smarter place for thinking
•“An Obeya is a digital, physical or
hybrid workspace where all relevant
information is available to everyone.
It is a space where strategy and
execution are visually connected.
Obeya provides overview and insight
into the status of goals, shows you
where bottlenecks must be removed
and where performance can be
improved.”
#Lean #Toyota

We can’t have obeyas

I can’t convince my boss

Liminal Thinking
•Be the change you want to see,
•Provide visible examples of the
possible but “forbidden” realities

Developers
UX Designers
Domain
Experts
Business
Stakeholders
Users
INception Design Development Operations Maintenance
Tools lifespan
Process Modelling
EventStorming
Context Map
Obeya?

Disclaimer: Hey, this is just
our limited understanding,
If you have more or better
information, please feel
free to comment or
contribute

Upstream processes: Like
Marketing, media or
Strategy

Sales Funnels: With
screenshots for
anchoring

Data & Graphs: With
linked sources

Downstream
Processes: with key
“decisions”
highlighted

Conversation Scope should
match KPIs scope

Strategic Decision Decomposed
Strategy
Review
Invest
in tech
Hire
Remotely
Forecast
CEO
Board
Market
Outlook
Competitors’
Analysis
End of
Quarter
???
When?
What?
Who?
Where?
How?
Why?

Provide a place where this
conversation can happen

You don’t have to be
correct

You just have to be
visible!

Life is too short to ask
permission to do the right
thing!

Then?…

DDDDDD
Be Patient…

… you are seeding

But it will Boil Down To
1.Frame the conversation correctly
2.Adapt the language to the conversation
3.Provide appropriate models for safer decision-making
4.Be patient

Thank You!

Contacts:
•Blog:
•https://blog.avanscoperta.it << Cool new stuff!
•https://medium.com/@ziobrando
•http://ziobrando.blogspot.com
•Twitter: @ziobrando
•Mastodon: @[email protected]
•Consulting & Training: [email protected]
•http://eventstorming.com
•http://www.avanscoperta.it