Slide 1

Slide 1 text

From EventStorming to CoDDDing

Slide 2

Slide 2 text

Software Consultant - EventStormer Domain Driven Design Behaviour Driven Development Test Driven Development Continuous Delivery @kenny_baas baasie.com @joaoasrosa joaorosa.io

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

The fundamental horror of this anti-pattern is that it's so contrary to the basic idea of object-oriented designing; which is to combine data and process together. - Martin Fowler

Slide 10

Slide 10 text

What's worse, many people think that anemic objects are real objects, and thus completely miss the point of what object-oriented design is all about. - Martin Fowler

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Confirmation Bias

Slide 15

Slide 15 text

https://lizkeogh.com/2015/09/09/on-epiphany-and-apophany/ Build beliefs Draw conclusions Generate assumptions Filter data Observe data

Slide 16

Slide 16 text

It is not the domain experts knowledge that goes to production, it is the assumption of the developers that goes to production - Alberto Brandolini

Slide 17

Slide 17 text

The greatest obstacle to discovery is not ignorance - it is the illusion of knowledge. - Daniel J. Boorstin

Slide 18

Slide 18 text

To communicate effectively, the code must be based on the same language used to write the requirements - the same language that the developers speak with each other and with domain experts - Eric Evans

Slide 19

Slide 19 text

We all know or should know that language is fluid, liquid, subject to the whims of the people. Language evolves, as it should. Because language changes to accommodate new users, the older users resist and complain. http://tednellen.blogspot.com/2013/04/language-is-fluid.html

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Big Picture Process Design and Modelling Software Modelling

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

1. Protects business invariants 2. Design them small 3. Reference other by ID only 4. Update other using eventual consistency

Slide 33

Slide 33 text

Try at least to find three models, even if you think you already found the “right model”

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Software Development is a learning process, working code is a side effect - Alberto Brandolini

Slide 37

Slide 37 text

Serious software development is the practice of symmathesy. “Sym” = together, “mathesy” = learning. - Jessica Kerr

Slide 38

Slide 38 text

#CatTax