Architectural Simplicity through Events Russ Miles Simplicity - - PowerPoint PPT Presentation

architectural simplicity through events
SMART_READER_LITE
LIVE PREVIEW

Architectural Simplicity through Events Russ Miles Simplicity - - PowerPoint PPT Presentation

Architectural Simplicity through Events Russ Miles Simplicity itself or Approaches to Dieting for Elephants in Software Architectural? Decisions Scope Awareness Build the Right Thing, Right A Story... The Elephant in the


slide-1
SLIDE 1

Architectural Simplicity through Events

Russ Miles

Simplicity itself

slide-2
SLIDE 2
  • r
slide-3
SLIDE 3

“Approaches to Dieting for Elephants in Software”

slide-4
SLIDE 4

“Architectural?”

slide-5
SLIDE 5

Decisions

slide-6
SLIDE 6

Scope

slide-7
SLIDE 7

Awareness

slide-8
SLIDE 8

Build the Right Thing, Right

slide-9
SLIDE 9

A Story...

slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12

“The Elephant in the Standup”

slide-13
SLIDE 13

Axioms

slide-14
SLIDE 14

Your software's first role is to be useful

slide-15
SLIDE 15

The best software is that which is not needed at all

slide-16
SLIDE 16

Human comprehension is King

slide-17
SLIDE 17

Mechanical Sympathy is Queen

slide-18
SLIDE 18

Software is a process of R & D

slide-19
SLIDE 19

Software Development is an extremely challenging Intellectual Pursuit

slide-20
SLIDE 20

Simplicity?!

slide-21
SLIDE 21

Building Adaptable Software

slide-22
SLIDE 22

Why don’t we build Simple Solutions?

slide-23
SLIDE 23
slide-24
SLIDE 24

Simplicity in Architecture?

slide-25
SLIDE 25

“The Allegory of the Relationship- Shy Component”

A true story

slide-26
SLIDE 26

Freedom to express myself

slide-27
SLIDE 27

To not be too tied down

slide-28
SLIDE 28

Freedom to Move

slide-29
SLIDE 29

Commitment

slide-30
SLIDE 30

moveable, removable, substitutable, combinable, extendable”....

slide-31
SLIDE 31

...clear, comprehensible, understandable.

slide-32
SLIDE 32

Principles

slide-33
SLIDE 33

O.R.E.

slide-34
SLIDE 34

Organise => Reduce => Encapsulate

slide-35
SLIDE 35

Step 1: Organise

slide-36
SLIDE 36

Where should I be?

slide-37
SLIDE 37

Hexagonal Architecture?

slide-38
SLIDE 38

TBD Picture of Alistair Cockburn Back to 2005...

slide-39
SLIDE 39
slide-40
SLIDE 40

The Problems of ‘Layering’

slide-41
SLIDE 41

The Problems of ‘Coupling’

slide-42
SLIDE 42

Entanglement

slide-43
SLIDE 43

Your Application is an Island

slide-44
SLIDE 44

Ports

slide-45
SLIDE 45

Adapters

slide-46
SLIDE 46

Evolution

slide-47
SLIDE 47

Fast Forward to 2012 2012...

slide-48
SLIDE 48

Life Preserver

slide-49
SLIDE 49

Perspective? Tool? Approach?

slide-50
SLIDE 50

YES

slide-51
SLIDE 51
slide-52
SLIDE 52

Organise and Visualise

slide-53
SLIDE 53

Implementation of Hexagonal

slide-54
SLIDE 54

Am I ‘Core’?

slide-55
SLIDE 55

Am I ‘Integration’? and if so, which one?

slide-56
SLIDE 56

Who are my peer group?

slide-57
SLIDE 57

Step 1: Organise ☑

slide-58
SLIDE 58

Step 2: Reduce

slide-59
SLIDE 59

Reduce Entanglement

slide-60
SLIDE 60

Reduce Concerns

slide-61
SLIDE 61

(Almost) Be a Function

slide-62
SLIDE 62

Extract Side-Effects

slide-63
SLIDE 63

Reduce Coupling

slide-64
SLIDE 64

Language?

slide-65
SLIDE 65

Method Name?

slide-66
SLIDE 66

Parameters?

slide-67
SLIDE 67

Events

slide-68
SLIDE 68

Immutable Events

slide-69
SLIDE 69

Temporal?

slide-70
SLIDE 70

Type?

slide-71
SLIDE 71

Immutable Events

slide-72
SLIDE 72

Immutable Data

slide-73
SLIDE 73

"Be liberal in what you accept, and conservative in what you send."

slide-74
SLIDE 74

Intra-Domain Duplication

slide-75
SLIDE 75

Inter-Domain Duplication

slide-76
SLIDE 76

moveable, removable, substitutable, combinable, extendable”....

slide-77
SLIDE 77

...clear, comprehensible, understandable.

slide-78
SLIDE 78

Easier to ‘strangle’?

slide-79
SLIDE 79

moveable, removable, substitutable, combinable, extendable”....

slide-80
SLIDE 80

Summary

slide-81
SLIDE 81

Simplicity helps us beat the Elephant(s) in the Standup

slide-82
SLIDE 82

O.R.E.

slide-83
SLIDE 83

Organise => Reduce => Encapsulate

slide-84
SLIDE 84

Life Preserver to Organise

slide-85
SLIDE 85

moveable, removable, substitutable, combinable, extendable”....

slide-86
SLIDE 86

...clear, comprehensible, understandable.

slide-87
SLIDE 87

Events De-Couple

slide-88
SLIDE 88

Adaptable Software Wins

slide-89
SLIDE 89

Thank-you

Simplicity itself

russell.miles@simplicityitself.com @russmiles