Slide 1

Slide 1 text

Infrastructure debt Chris Hartjes Lone Star PHP -- June 30, 2012 @grmpyprogrammer

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

What is Infrastructure Debit?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

It is the price of getting code from idea to Shipped

Slide 7

Slide 7 text

Reg Braithwaite (@raganwald) “Debt and friction both accumulate, but debt must be "repaid" in a lump sum. If "technical debt" or "infrastructure debt" means your velocity is falling over time, it's friction, not debt.”

Slide 8

Slide 8 text

Think of things in terms of bills to be paid

Slide 9

Slide 9 text

BILL #1 Version control

Slide 10

Slide 10 text

There is no excuse to not use version control

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

File sharing is not version control

Slide 13

Slide 13 text

No version control means you cannot easily share and UPDATE files

Slide 14

Slide 14 text

Bill #2 Consistency in environments

Slide 15

Slide 15 text

“Works for me...”

Slide 16

Slide 16 text

Vagrant

Slide 17

Slide 17 text

“Create and configure lightweight, reproducible, and portable development environments.” http://vagrantup.com

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Everything needs to be the same everywhere

Slide 20

Slide 20 text

Too many moving parts?

Slide 21

Slide 21 text

Bill #3 Non-automated Depoyment

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

“If you find yourself doing something twice, make the computer do it!”

Slide 24

Slide 24 text

Capistrano Not the place the swallows go to

Slide 25

Slide 25 text

PHing Is Not GNU make

Slide 26

Slide 26 text

People Make Mistakes

Slide 27

Slide 27 text

BILL #4 Logging

Slide 28

Slide 28 text

E_STRICT RIGHT?!?!?!

Slide 29

Slide 29 text

Everyone should see the logs who can help fix things

Slide 30

Slide 30 text

Centralized logs hide no secrets

Slide 31

Slide 31 text

Do your own logging

Slide 32

Slide 32 text

BILL #5 No Coding Standard

Slide 33

Slide 33 text

“All the code in the same language in your application should look the same”

Slide 34

Slide 34 text

PHP_CodeSniffer

Slide 35

Slide 35 text

“Context shifts to understand code that always looks different has a real cost”

Slide 36

Slide 36 text

BILL #6 Siloing Developers

Slide 37

Slide 37 text

“You have a team, make them act like a team”

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

“Cross-functional teams get more done”

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

Debt Needs To Get Paid

Slide 43

Slide 43 text

Don’t Accept Things As The Way It Always Will Be

Slide 44

Slide 44 text

Thank you!

Slide 45

Slide 45 text

http://www.littlehart.net/atthekeyboard @grmpyprogrammer http://joind.in/6356