Quick prod releases and what can go (horribly) wrong

A presentation at WEBdeLDN in January 2019 in London, UK by Joseph Shambrook

Slide 1

Slide 1

Quick prod releases and what can go (horribly) wrong Joseph Shambrook - January 2019

Slide 2

Slide 2

I’m Joe

Slide 3

Slide 3

Front End Developer at

Slide 4

Slide 4

Here to talk about a pretty bad, yet simple, mistake I made once

Slide 5

Slide 5

Mistakes are GOOD

Slide 6

Slide 6

Why? ● You learn from them ● Highlight undetected problems ● Usually reversible

Slide 7

Slide 7

My true story It’s okay to laugh

Slide 8

Slide 8

Front End Developer at an e-commerce website

Slide 9

Slide 9

Used by thousands of people every day

Slide 10

Slide 10

My job: Creating A/B tests to improve the user experience* *make more money

Slide 11

Slide 11

Incredibly fast-paced environment

Slide 12

Slide 12

Fast and common releases to Production

Slide 13

Slide 13

Best practice was sacrificed

Slide 14

Slide 14

● Code reviews were optional ● Coding standards were ignored ● Old tests were not removed ● No automated testing at all I’m not joking

Slide 15

Slide 15

Slide 16

Slide 16

The checkout process was spread across separate pages

Slide 17

Slide 17

Basket Review Personal Details Delivery Details Payment Details Final Review

Slide 18

Slide 18

Basket Review Personal Details Delivery Details Payment Details Final Review

Slide 19

Slide 19

FORM SUBMIT SIDEBAR

Slide 20

Slide 20

FORM SIDEBAR SUBMIT

Slide 21

Slide 21

Started code review Merged to master Pushed to Production Started test

Slide 22

Slide 22

Slide 23

Slide 23

Intermission: HTML Forms 101

Slide 24

Slide 24

<form /> Name Birthday Favourite PHP function <button type=”submit” />

Slide 25

Slide 25

<form /> Name Birthday Favourite PHP function

Slide 26

Slide 26

FORM SIDEBAR SUBMIT

Slide 27

Slide 27

Basket Review Personal Details Delivery Details Payment Details Final Review

Slide 28

Slide 28

Basket Review Personal Details Delivery Details Payment Details Final Review WTF

Slide 29

Slide 29

The result?

Slide 30

Slide 30

Slide 31

Slide 31

Slide 32

Slide 32

What did we I learn?

Slide 33

Slide 33

Best practice exists for a reason

Slide 34

Slide 34

● Carry out code reviews ● Follow coding standards ● Remove redundant code ● Write automated tests

Slide 35

Slide 35

Anyone can make a mistake

Slide 36

Slide 36

● Support and understand ● Help to teach to avoid a recurrence

Slide 37

Slide 37

Thank you! Connect with me on LinkedIn! - josephshambrook