Slide 1

Slide 1 text

DESIGN MATTERS DOMAIN-DRIVEN WHY

Slide 2

Slide 2 text

Mathias Verraes Student of Systems Meddler of Models Labourer of Legacy verraes.net mathiasverraes

Slide 3

Slide 3 text

SET OF DESIGN PATTERNS?

Slide 4

Slide 4 text

SET OF DESIGN PATTERNS? METHODOLOGY?

Slide 5

Slide 5 text

SET OF DESIGN PATTERNS? METHODOLOGY? TOTAL APPROACH TO DEALING WITH COMPLEXITY?

Slide 6

Slide 6 text

SET OF DESIGN PATTERNS? METHODOLOGY? TOTAL APPROACH TO DEALING WITH COMPLEXITY? PHILOSOPHY?

Slide 7

Slide 7 text

INFLUENCE ORGANISATION ! ‑ ! SOFTWARE

Slide 8

Slide 8 text

INFLUENCE ORGANISATION ! ‑ SOFTWARE ORGANISATION ! ‑

Slide 9

Slide 9 text

INFLUENCE - ORGANISATION - - SOFTWARE - HARDWARE - - RESPONSIVENESS TO BUGS - - CONTRACTS - THIRD PARTIES - - DEVELOPER HAPPINESS - TOOLS - - TESTS - SKILLS - COMMUNICATION -

Slide 10

Slide 10 text

“IT IS AN AXIOM THAT INFLUENCE IS BOTH A CAUSE AND AN EFFECT. NOTHING IS EVER INFLUENCED IN JUST ONE DIRECTION.”

Slide 11

Slide 11 text

“THE CAUSATION FALLACY: ! EVERY EFFECT HAS A CAUSE AND WE CAN TELL WHICH IS WHICH.”

Slide 12

Slide 12 text

SYSTEMS GENERAL THINKING

Slide 13

Slide 13 text

“EVERYTHING IS A SYSTEM. EVERYTHING IS PART OF A SYSTEM.”

Slide 14

Slide 14 text

SYSTEMS ! Thinking about systems as dynamic, evolving patterns of interaction and feedback.

Slide 15

Slide 15 text

“JUST CALLING IT ‘FEEDBACK’ DOESN'T MEAN THAT IS HAD ACTUALLY FED BACK. IT HASN'T FED BACK UNTIL THE SYSTEM CHANGES COURSE.” JOHN GALL

Slide 16

Slide 16 text

“IGNORING FEEDBACK MERELY MEANS THAT THE SYSTEM WILL EVENTUALLY EXPERIENCE A MASSIVE UNPLEASANT SURPRISE (RATHER THAN A SMALL UNPLEASANT SURPRISE).” JOHN GALL

Slide 17

Slide 17 text

“IT MAY LOOK LIKE A CRISIS, BUT IT'S ONLY THE END OF AN ILLUSION.”

Slide 18

Slide 18 text

“SYSTEMS TEND TO OPPOSE THEIR OWN PROPER FUNCTION.”

Slide 19

Slide 19 text

“SYSTEMS INHERENTLY RESIST CHANGE.”

Slide 20

Slide 20 text

“THE MORE ADAPTED AN ORGANISM IS TO PRESENT CONDITIONS, THE LESS ADAPTABLE IT TENDS TO BE TO UNKNOWN FUTURE CONDITIONS.”

Slide 21

Slide 21 text

“IT'S CALLED ‘SOFTWARE’ FOR A REASON. IT'S SUPPOSED TO BE EASY TO CHANGE.”

Slide 22

Slide 22 text

DESIGN SOFTWARE HAS A SLOW

Slide 23

Slide 23 text

FAST ITERATION LEAN STARTUP AGILE TDD BDD KANBAN

Slide 24

Slide 24 text

FAST ITERATION LEAN STARTUP VALIDATED LEARNING

Slide 25

Slide 25 text

FAST ITERATION AGILE COLLABORATE

Slide 26

Slide 26 text

FAST ITERATION TDD DESIGN SMALL

Slide 27

Slide 27 text

FAST ITERATION BDD COMMUNICATE

Slide 28

Slide 28 text

FAST ITERATION KANBAN IMPROVE CONTINUOUSLY

Slide 29

Slide 29 text

(broad generalisations)

Slide 30

Slide 30 text

DESIGN GOES DEEPER DOMAIN-DRIVEN

Slide 31

Slide 31 text

DOMAIN PROBLEM SPACE DOMAIN MODEL SOLUTION SPACE

Slide 32

Slide 32 text

DOMAIN & DOMAIN MODEL IN SYNC KEEP

Slide 33

Slide 33 text

UBIQUITOUS LANGUAGE

Slide 34

Slide 34 text

DESIGN TACKLES DOMAIN-DRIVEN COMPLEXITY

Slide 35

Slide 35 text

ACCIDENTAL COMPLEXITY ESSENTIAL COMPLEXITY

Slide 36

Slide 36 text

DESIGN PATTERNS

Slide 37

Slide 37 text

“DESIGN PATTERNS ARE A GATEWAY DRUG TO DOMAIN- DRIVEN DESIGN”

Slide 38

Slide 38 text

SUPPLE DESIGN

Slide 39

Slide 39 text

DECLARATIVE DESIGN

Slide 40

Slide 40 text

REFACTORING

Slide 41

Slide 41 text

BOUNDED CONTEXTS

Slide 42

Slide 42 text

DISTILLATION

Slide 43

Slide 43 text

LARGE SCALE STRUCTURE

Slide 44

Slide 44 text

MODELLING WHIRLPOOL

Slide 45

Slide 45 text

MODEL STORMING

Slide 46

Slide 46 text

DESIGN MATTER ? DOMAIN-DRIVEN So WHY DOES

Slide 47

Slide 47 text

INFLUENCE FEEDBACK PATTERNS SYSTEMS COMPLEXITY ITERATIONS WHY CAN’T IT BE SIMPLE?

Slide 48

Slide 48 text

“A LARGE SYSTEM, PRODUCED BY EXPANDING THE DIMENSIONS OF A SMALL SYSTEM, DOES NOT BEHAVE LIKE THE SMALLER SYSTEM” JOHN GALL

Slide 49

Slide 49 text

verraes.net mathiasverraes

Slide 50

Slide 50 text

verraes.net mathiasverraes