Upload
mozaic-works
View
114
Download
1
Tags:
Embed Size (px)
Citation preview
2
agile
XPTDD
BDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
4
"ever accelerating progress of technology and changes in the mode of human life, which gives the appearance of approaching some essential singularity in the history of the race beyond which human affairs, as we know them, could not continue”
John von Neumann, as recorded by Ulam, 1958
5
“Around the world, laboring women produce forty-five thousand babies a day, representing 1023 MIPS of processing power. Also around the world, fab lines casually churn out thirty million microprocessors a day, representing 1023 MIPS. In another ten months, most of the MIPS being added to the solar system will be machine-hosted for the first time”
7
“Self-Driving Trucks Are Going to Hit Us Like a Human-Driven Truck”
https://medium.com/basic-income/self-driving-trucks-are-going-to-hit-us-like-a-human-driven-truck-b8507d9c5961
source: Morgan Stanley
This is where we’re at and this is what we face as we look towards a quickly approaching horizon of over 3 million unemployed truckers and millions more unemployed service industry workers in small towns all over the country dependent on truckers as consumers of their services.
“If you aren’t worried about strong AI within the next 5-10 years then you aren’t working closely enough with AI teams”
(paraphrasing Elon Musk)
8
20
“This, milord, is my family's axe. We have owned it for almost nine hundred years, see. Of course, sometimes it needed a new blade. And sometimes it has required a new handle, new designs on the metalwork, a little refreshing of the ornamentation . . . but is this not the nine hundred-year-old axe of my family? And because it has changed gently over time, it is still a pretty good axe, y'know. Pretty good.”
never done
21
microservices should be:
cheap to replace
and should allow us to go as “fast as possible”?
quick to scale
able to withstand failure
31
Nat Pryce Steve Freeman Dan North Sydney ‘Hoppalong’ Redelinghuys Jim Webber Ian Robinson Ivan Moore Liz Keogh Simon Stewart Jez Humble Dave Farley Jay Fields Dan Worthington-Bodart Joe Walnes
31
Nat Pryce Steve Freeman Dan North Sydney ‘Hoppalong’ Redelinghuys Jim Webber Ian Robinson Ivan Moore Liz Keogh Simon Stewart Jez Humble Dave Farley Jay Fields Dan Worthington-Bodart Joe Walnes
APPEAL TO AUTHORITY
WARNING!
33
agile
XPTDD
BDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
37
Gemini Project, Rogallo wing
Source: wikipedia.org
it’s turtles all the way down
38
agile
XPTDD
BDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
39
agile
XPTDD
BDDYAGNIDRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
45
agile
XPTDD
BDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoFGRASPemergent design
World of Warcraft
KISS
53
agile
XPTDD
BDD
YAGNI
DRYSOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
55
git clone https://github.com/boicy/service-template
(note this doesn’t exist)
58
agile
XP
TDDBDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
61
Nat Pryce Steve Freeman Dan North Sydney ‘Hoppalong’ Redelinghuys Jim Webber Ian Robinson Ivan Moore Liz Keogh Simon Stewart Jez Humble Dave Farley Jay Fields Dan Worthington-Bodart Joe Walnes
64
agile
XPTDD
BDD
YAGNI
DRY
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
SOLID
71
agile
XPTDD
BDD
YAGNI
DRY
SOLID
Continuous Delivery
Refactoring
GoF
GRASP
emergent design
World of Warcraft
KISS
85
0 10 20 30 40 50 60 70 80 90 1000
0.05
0.10
0.15
0.20
0.25
0.30
m
Probability of weekly interaction
x
x x
x xxxxxxxxx
x
x xx
x xx x
The effect of distance on communication
86
Low change rate
inter-company integration
High stability
Semantic Versioning
Contract Testing
Tolerant Reader
“Conversational change”
87
higher change rate
inter-team integration
lower stability
Semantic Versioning
Contract Testing
Tolerant Reader
“Conversational change”
88
highest change rate
intra-team
lowest stability
Semantic Versioning
Contract Testing
Tolerant Reader
“Conversational change”
we are learning how to:
Craft my families axe
Deploy microservices independently
Test microservices in isolation Test microservices in production
and new techniques to apply:
Consumer Driven Contracts Semantic Monitoring Semantic Versioning Testing in Production
96
software craftsmanship is around the code too
chunk up and think about the “gaps”
do the simplest thing possible
and
98
Go forth and craft software
@boicy
Thanks!Go forth and craft software
drink beer!