Microservices: software that fits in your head Dan North @tastapod - - PowerPoint PPT Presentation

microservices software that fits in your head
SMART_READER_LITE
LIVE PREVIEW

Microservices: software that fits in your head Dan North @tastapod - - PowerPoint PPT Presentation

Microservices: software that fits in your head Dan North @tastapod What is the point of software development? What is the purpose of software development? What is the purpose of software development? create business impact What is the


slide-1
SLIDE 1

Microservices: software that fits in your head

Dan North @tastapod

slide-2
SLIDE 2

What is the point of software development?

slide-3
SLIDE 3

What is the purpose of software development?

slide-4
SLIDE 4

business impact create

What is the purpose of software development?

slide-5
SLIDE 5

business impact create positive

What is the purpose of software development?

slide-6
SLIDE 6

What is the goal of software development?

slide-7
SLIDE 7

What is the goal of software development?

to business impact minimise lead time

slide-8
SLIDE 8

What is the goal of software development?

to business impact minimise lead time sustainably

slide-9
SLIDE 9

The goal is not to produce software!

slide-10
SLIDE 10

produce

slide-11
SLIDE 11

produce production

slide-12
SLIDE 12

produce production productive

slide-13
SLIDE 13

≠ effective productive

slide-14
SLIDE 14

Code is not the asset…

slide-15
SLIDE 15

Code is not the asset… Code is the cost!

slide-16
SLIDE 16

Code is not the asset… Code is the cost!

  • writing code costs

slide-17
SLIDE 17

Code is not the asset… Code is the cost!

  • writing code costs

  • waiting for code costs

slide-18
SLIDE 18

Code is not the asset… Code is the cost!

  • writing code costs

  • waiting for code costs

  • changing code costs

slide-19
SLIDE 19

Code is not the asset… Code is the cost!

  • writing code costs

  • waiting for code costs

  • changing code costs

  • understanding code costs
slide-20
SLIDE 20

understanding code

slide-21
SLIDE 21

understanding code

code I know

slide-22
SLIDE 22

understanding code

code I know code everyone knows

slide-23
SLIDE 23

understanding code

code I know code everyone knows code no-one knows!

slide-24
SLIDE 24

Code should be stabilised

  • r

killed off

slide-25
SLIDE 25

Code should be stabilised

  • r

killed off fast!

slide-26
SLIDE 26

Two complementary patterns

slide-27
SLIDE 27

Two complementary patterns

Short Software Half-Life

slide-28
SLIDE 28

Two complementary patterns

Short Software Half-Life Fits In My Head

slide-29
SLIDE 29

Short Software Half-Life

slide-30
SLIDE 30

Short Software Half-Life

Design considerations

slide-31
SLIDE 31

Short Software Half-Life

  • write discrete components


Design considerations

slide-32
SLIDE 32

Short Software Half-Life

  • write discrete components

  • define component boundary


Design considerations

slide-33
SLIDE 33

Short Software Half-Life

  • write discrete components

  • define component boundary

  • define component purpose


Design considerations

slide-34
SLIDE 34

Short Software Half-Life

  • write discrete components

  • define component boundary

  • define component purpose

  • define component responsibility

Design considerations

slide-35
SLIDE 35

Short Software Half-Life

Stewardship considerations

slide-36
SLIDE 36

Short Software Half-Life

  • write component tests and docs


Stewardship considerations

slide-37
SLIDE 37

Short Software Half-Life

  • write component tests and docs

  • optimise for replaceability


Stewardship considerations

slide-38
SLIDE 38

Short Software Half-Life

  • write component tests and docs

  • optimise for replaceability

  • expect to invest in stabilising


Stewardship considerations

slide-39
SLIDE 39

Short Software Half-Life

  • write component tests and docs

  • optimise for replaceability

  • expect to invest in stabilising

  • build a stable team

Stewardship considerations

slide-40
SLIDE 40

Fits In My Head

slide-41
SLIDE 41

Fits In My Head

  • multiple dimensions
slide-42
SLIDE 42

Fits In My Head

  • multiple dimensions
  • multiple scales
slide-43
SLIDE 43

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”
slide-44
SLIDE 44

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”

Contextual Consistency

slide-45
SLIDE 45

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”

Contextual Consistency

  • agree guiding principles
slide-46
SLIDE 46

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”

Contextual Consistency

  • agree guiding principles
  • agree idioms
slide-47
SLIDE 47

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”

Contextual Consistency

  • agree guiding principles
  • agree idioms
  • difference is data
slide-48
SLIDE 48

Fits In My Head

  • multiple dimensions
  • multiple scales
  • “What would James do?”

Contextual Consistency

  • agree guiding principles
  • agree idioms
  • difference is data
  • familiarity ≠ simplicity
slide-49
SLIDE 49

Replaceable Component Architecture

slide-50
SLIDE 50

Replaceable Component Architecture

sustainably…

slide-51
SLIDE 51

Replaceable Component Architecture

sustainably…

slide-52
SLIDE 52

Replaceable Component Architecture

sustainably…

slide-53
SLIDE 53

Replaceable Component Architecture

sustainably…

slide-54
SLIDE 54

Replaceable Component Architecture

sustainably…

slide-55
SLIDE 55

Replaceable Component Architecture

sustainably…

slide-56
SLIDE 56

Replaceable Component Architecture

sustainably…

“little computers
 passing messages”

slide-57
SLIDE 57

Replaceable Component Architecture

sustainably…

“little computers
 passing messages” — Alan Kay

slide-58
SLIDE 58

Replaceable Component Architecture

sustainably…

“little computers passing messages” — Alan Kay

slide-59
SLIDE 59

Microservices can be a Replaceable Component Architecture

slide-60
SLIDE 60

Microservices can be a Replaceable Component Architecture

  • if you choose to optimise for

replaceability and consistency


slide-61
SLIDE 61

Microservices can be a Replaceable Component Architecture

  • if you choose to optimise for

replaceability and consistency


  • smaller is not necessarily better

slide-62
SLIDE 62

Microservices can be a Replaceable Component Architecture

  • if you choose to optimise for

replaceability and consistency


  • smaller is not necessarily better

  • more replaceable is better
slide-63
SLIDE 63

Kill code fearlessly!

slide-64
SLIDE 64

Kill code fearlessly!

code I know code everyone knows code no-one knows!

slide-65
SLIDE 65

Kill code fearlessly!

code I know code everyone knows

slide-66
SLIDE 66

Thank you!

Dan North @tastapod http:/ /dannorth.net http:/ /leanpub.com/software-faster