Slide 1

Slide 1 text

Cape Town PHP July 2015 Code-reviews a team tool

Slide 2

Slide 2 text

Cape Town PHP July 2015 Who’s the loudmouth? Danny Kopping - Lead Developer @ Zando

Slide 3

Slide 3 text

Cape Town PHP July 2015 Main Challenges in producing software

Slide 4

Slide 4 text

Cape Town PHP July 2015 • defects in production • adherence to style-guides • technical debt • silos • inconsistency • inefficiency • incomprehensibility • duplication • lack of tests • inability to test • rigidity • tight coupling • best-practice violations • anti-patterns • …etc

Slide 5

Slide 5 text

Cape Town PHP July 2015 Who cares? When we break something, we’ll fix it #YOLO

Slide 6

Slide 6 text

Cape Town PHP July 2015 http://bit.ly/1RuSIBr Bugs cost money

Slide 7

Slide 7 text

Cape Town PHP July 2015 What about QA? Isn’t this their job?

Slide 8

Slide 8 text

Cape Town PHP July 2015 “Sunlight is the
 best disinfectant” * * not really - Louis D. Brandeis

Slide 9

Slide 9 text

Cape Town PHP July 2015 Code-review should be a collaborative, cumulative & critical process

Slide 10

Slide 10 text

Cape Town PHP July 2015 Code-review Culture the how-to guide

Slide 11

Slide 11 text

Cape Town PHP July 2015 Purpose it’s not just for finding bugs

Slide 12

Slide 12 text

Cape Town PHP July 2015 Outcome better developers with a broader understanding

Slide 13

Slide 13 text

Cape Town PHP July 2015 Everything as a PR every line of code is just as important

Slide 14

Slide 14 text

Cape Town PHP July 2015 Reduce the noise small, digestible changes

Slide 15

Slide 15 text

Cape Town PHP July 2015

Slide 16

Slide 16 text

Cape Town PHP July 2015

Slide 17

Slide 17 text

Cape Town PHP July 2015 Discussion not dictation

Slide 18

Slide 18 text

Cape Town PHP July 2015 Reinforce good work highlight and improve bad work

Slide 19

Slide 19 text

Cape Town PHP July 2015 All of us are better than one of us

Slide 20

Slide 20 text

Cape Town PHP July 2015 Feedback. Fast. dedicate time to code-reviews

Slide 21

Slide 21 text

Cape Town PHP July 2015 Horizontal interrogation challenge, learn, share

Slide 22

Slide 22 text

Cape Town PHP July 2015 Vertical guidance direct, mentor, question

Slide 23

Slide 23 text

Cape Town PHP July 2015 Quorum for large PRs

Slide 24

Slide 24 text

Cape Town PHP July 2015 Agree on a baseline Style-guides, clean code, avoid smells

Slide 25

Slide 25 text

Cape Town PHP July 2015 Don’t just tell Provide links to bolster argument, increase learning

Slide 26

Slide 26 text

Cape Town PHP July 2015 Code is all there is and all there should be

Slide 27

Slide 27 text

Cape Town PHP July 2015 The Bus Factor

Slide 28

Slide 28 text

Cape Town PHP July 2015 Logical fallacies to avoid when reviewing code

Slide 29

Slide 29 text

Cape Town PHP July 2015

Slide 30

Slide 30 text

Cape Town PHP July 2015

Slide 31

Slide 31 text

Cape Town PHP July 2015

Slide 32

Slide 32 text

Cape Town PHP July 2015

Slide 33

Slide 33 text

Cape Town PHP July 2015

Slide 34

Slide 34 text

Cape Town PHP July 2015

Slide 35

Slide 35 text

Cape Town PHP July 2015

Slide 36

Slide 36 text

Cape Town PHP July 2015

Slide 37

Slide 37 text

Cape Town PHP July 2015 Get off your tuchus

Slide 38

Slide 38 text

Cape Town PHP July 2015 Soft stuff • Diplomacy • Professional, but light • Questions, not statements • Humility • Politeness • Consistency • Sweat the small stuff! • Have fun

Slide 39

Slide 39 text

Cape Town PHP July 2015 Brown-fields 
 vs 
 green-fields

Slide 40

Slide 40 text

Cape Town PHP July 2015 Tools

Slide 41

Slide 41 text

Cape Town PHP July 2015

Slide 42

Slide 42 text

Cape Town PHP July 2015 Why we use Upsource • integration with Git/GitHub • self-hosted, easy setup • fast! • incremental reviews • multiple reviewers / watchers • direct integration into PHPStorm • discussion threads (with resolve, @mentions)

Slide 43

Slide 43 text

Cape Town PHP July 2015 Reviews

Slide 44

Slide 44 text

Cape Town PHP July 2015 Analytics

Slide 45

Slide 45 text

Cape Town PHP July 2015 Automated code-reviews

Slide 46

Slide 46 text

Cape Town PHP July 2015

Slide 47

Slide 47 text

Cape Town PHP July 2015 Questions?