Slide 1

Slide 1 text

Starring Directed By Special Appearance Presented by With

Slide 2

Slide 2 text

No content

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

👨💻👨🏫👨💼

Slide 7

Slide 7 text

@hschwentner

Slide 8

Slide 8 text

Alphorn Auto Leasing Inc.

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Springfield Duckburg Metropolis

Slide 11

Slide 11 text

Monolease A

Slide 12

Slide 12 text

Springfield Duckburg Metropolis 1.0 1.1 1.0a

Slide 13

Slide 13 text

Springfield Duckburg Metropolis Twin Peaks 1.1 1.0 1.1 1.0a

Slide 14

Slide 14 text

=> cloud on-premise to

Slide 15

Slide 15 text

@hschwentner Mistake: Move to the cloud because some random dude at a conference said so Better: Move to the cloud because that solves an actual problem

Slide 16

Slide 16 text

Springfield Duckburg Metropolis Leas- N-dary

Slide 17

Slide 17 text

Springfield Duckburg Twin Peaks Metropolis Leas- N-dary

Slide 18

Slide 18 text

Springfield Duckburg Twin Peaks Metropolis Leas- N-dary 2.0

Slide 19

Slide 19 text

@hschwentner Mistake: Continue working like you always did Better: Change your mindset

Slide 20

Slide 20 text

product project to =>

Slide 21

Slide 21 text

=> agile waterfall to

Slide 22

Slide 22 text

Individuals and interactions over processes and tools Customer collaboration over contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto

Slide 23

Slide 23 text

=> micro- services monolith to

Slide 24

Slide 24 text

@hschwentner Mistake: Transform the whole system at once Better: Move in baby steps

Slide 25

Slide 25 text

old old old old new new new new “just flip the lever” 1 2 3 4 5 a.k.a. big bang replacement

Slide 26

Slide 26 text

old old old new new new new 2 3 4 5 old 1

Slide 27

Slide 27 text

Strangler Fig Application

Slide 28

Slide 28 text

Strangler Fig Application

Slide 29

Slide 29 text

Lesson: is better than Strangler Fig Application Big Bang Replacement

Slide 30

Slide 30 text

=> micro- services monolith buy to carve out build new

Slide 31

Slide 31 text

Read on in:

Slide 32

Slide 32 text

big ball of mud => strategic design to

Slide 33

Slide 33 text

@hschwentner Mistake: Cutting the system by technical reasons Better: Cutting the system into bounded contexts

Slide 34

Slide 34 text

=> tactical design anemic domain model to value object entity repository impleme- ntation

Slide 35

Slide 35 text

behavior data to 1001010011 1110010110 0010011101 calculatePrice() assessRisk() signContract()

Slide 36

Slide 36 text

Eric Evans Read on in:

Slide 37

Slide 37 text

Individuals and interactions over processes and tools Customer collaboration over contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto

Slide 38

Slide 38 text

doctor waiter to => What are your orders? What is your problem?

Slide 39

Slide 39 text

@hschwentner Mistake: Thinking that it’s about software Better: Realizing that it’s about business

Slide 40

Slide 40 text

business enabling => technology- centered to

Slide 41

Slide 41 text

What's the most impactful thing we can do next?

Slide 42

Slide 42 text

Software != End in itself

Slide 43

Slide 43 text

customer tells wish for 1 salesperson signs to gives for contract 3 risk manager contract passes on to 4 contract votes checks calculates 5 6 7 calculates to 8 2 car credit rating installment car resale value contract

Slide 44

Slide 44 text

https://domainstorytelling.org Read on in:

Slide 45

Slide 45 text

@hschwentner Lesson: 1. First understand the business 2. Only then build software

Slide 46

Slide 46 text

@hschwentner Lesson: 1. First learn about the problem 2. Only then look for a solution

Slide 47

Slide 47 text

@hschwentner What is Software? technical system socio- +

Slide 48

Slide 48 text

“Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.” Melvin Conway

Slide 49

Slide 49 text

@hschwentner Mistake: Ignoring team organization Better: Respect Conway’s law

Slide 50

Slide 50 text

=> micro- services monolith to cross- functional teams

Slide 51

Slide 51 text

Alignment technical business-wise organizational technical business-wise organizational

Slide 52

Slide 52 text

Read on in:

Slide 53

Slide 53 text

Individuals and interactions over processes and tools Customer collaboration over contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto

Slide 54

Slide 54 text

user dev

Slide 55

Slide 55 text

@hschwentner Mistake: Misunderstand your users Better: Build a common language

Slide 56

Slide 56 text

@hschwentner 🧑💼 👨💻 👨💼 have to understand The single most important fact in software development: Tech people business people. 👩💼 👩💻

Slide 57

Slide 57 text

=> direct commu- nication telephone game to user dev user dev

Slide 58

Slide 58 text

finance dev user sales PO HR management marketing scrum master UX

Slide 59

Slide 59 text

Individuals and interactions over processes and tools Customer collaboration over contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto

Slide 60

Slide 60 text

It’s a full team sport Photo: Bart Derksen/Wikipedia

Slide 61

Slide 61 text

@hschwentner Mistake: Thinking “We’re never gonna make it”

Slide 62

Slide 62 text

We can do it, too!

Slide 63

Slide 63 text

@hschwentner Mistake: Going on the journey alone Better:

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

Bibliography Beck, Kent et al. Manifesto for Agile Software Development. 2001. Conway, Melvin E. “How Do Committees Invent?” Datamation 14, no. 5 (April 1968): 28–31. Evans, Eric. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley, 2004. Feathers, Michael C. Working Effectively with Legacy Code. Upper Saddle River, NJ: Prentice Hall, 2004. Foote, Brian and Joseph Yoder. “Big Ball of Mud.” PLoP ’97, Monticello, IL, September 1997. Fowler, Martin. Refactoring: Improving the Design of Existing Code. 2nd ed. Boston: Addison-Wesley, 2019. Fowler, Martin. “Strangler Fig Application.” Bliki, June 29, 2004. Hofer, Stefan and Henning Schwentner. Domain Storytelling: a Collaborative, Visual, and Agile Way to Develop Domain-Driven Software. Boston: Addison-Wesley, 2022. Kaur, Ravneet. “Agile Teams—Are They Waiters or Doctors?” LinkedIn. April 1, 2019. Kernighan, Brian W. Software Tools in Pascal. Addison-Wesley, 1981. Newman, Sam. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. Sebastopol, CA: O’Reilly, 2021. Skelton, Matthew and Manuel Pais. Team Topologies: Organizing Business and Technology Teams for Fast Flow. Portland, OR: IT Revolution, 2019. Weinberg, Gerald M. The Secrets of Consulting. New York: Dorset House, 1985.

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

Henning Schwentner  https://hschwentner.io  @hschwentner ✉ [email protected]