Slide 1

Slide 1 text

Peer Code Reviews Emma Jane Hogbin Westby - Trillium Consultancy Ltd. www.gitforteams.com @emmajanehw

Slide 2

Slide 2 text

“in a culture of optimism good honest criticism seems to be dying out” Tim Brown Tim Brown


Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Overview • Storytime! • Types of reviewers and types of reviews • Structuring the review process • Providing excellent feedback

Slide 5

Slide 5 text

Storytime!

Slide 6

Slide 6 text

Be intentional about your reviews.

Slide 7

Slide 7 text

Not all reviews are the same. • Design crit • Technical architecture review • Automated self-check
 (coding standards; test suites) • Ticket-based peer code review • Quality Assurance / User Acceptance Testing

Slide 8

Slide 8 text

Not all reviewers are the same. • Disinterested Reviewer • Peer Reviewer • Automated Gatekeeper • Consensus Shepherd • Benevolent Dictator

Slide 9

Slide 9 text

Peer reviews are for everyone. Junior Coder Senior Coder Junior Reviewer • find bugs • compliance with coding standards • learn to read good code • suggest simplifications • exposure Senior Reviewer • suggest new techniques • improve architecture • improve architecture • cross-functional team (exposure)

Slide 10

Slide 10 text

Use templates 
 and checklists.

Slide 11

Slide 11 text

Use templates to structure the process. LaunchPad - http://lb.cm/tmplt-launchpad Drupal - http://lb.cm/tmplt-drupal Symfony - http://lb.cm/tmplt-symfony

Slide 12

Slide 12 text

Use Checklists to Ensure You’re Meeting Standards http://drupal.org/core-gates

Slide 13

Slide 13 text

Internal Checklists http://gitforteams.com/resources/review-process.html

Slide 14

Slide 14 text

Provide excellent feedback.

Slide 15

Slide 15 text

Good Feedback is Usable • Limit it to the scope of the work. • Make it actionable. • Make it specific. • Do it as soon as possible. • Acknowledge effort and give thanks.

Slide 16

Slide 16 text

Bad Feedback
 is Destructive

Slide 17

Slide 17 text

Summary • Implementing code reviews at work can initially cause more tension. • Code reviews will improve the skills of everyone on the team — communication and coding. • Consider the types of review, and work towards implementing the right feedback at the right time. • Co-create checklists for the review process. • Provide excellent, actionable feedback.

Slide 18

Slide 18 text

Peer Code Review Resources http://lb.cm/ala-code-reviews http://lb.cm/review-process www.gitforteams.com @emmajanehw