Peer Code Reviews

Peer Code Reviews

Nearly all open source projects have some form of peer review system. In this session you will learn the pros (and cons) of adopting a peer review system in-house. To illustrate how this unfolded in the real world, a case study will be used. We'll talk about the overall setup, the impact on the team, and give you tips on how to conduct a good peer review.

A298fade27a9c2ebe7bea8f93997b5c6?s=128

Emma Jane Hogbin Westby

February 20, 2015
Tweet

Transcript

  1. Peer Code Reviews Emma Jane Hogbin Westby - Trillium Consultancy

    Ltd. www.gitforteams.com @emmajanehw
  2. “in a culture of optimism good honest criticism seems to

    be dying out” Tim Brown Tim Brown

  3. None
  4. Overview • Storytime! • Types of reviewers and types of

    reviews • Structuring the review process • Providing excellent feedback
  5. Storytime!

  6. Be intentional about your reviews.

  7. 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
  8. Not all reviewers are the same. • Disinterested Reviewer •

    Peer Reviewer • Automated Gatekeeper • Consensus Shepherd • Benevolent Dictator
  9. 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)
  10. Use templates 
 and checklists.

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

    - http://lb.cm/tmplt-drupal Symfony - http://lb.cm/tmplt-symfony
  12. Use Checklists to Ensure You’re Meeting Standards http://drupal.org/core-gates

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

  14. Provide excellent feedback.

  15. 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.
  16. Bad Feedback
 is Destructive

  17. 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.
  18. Peer Code Review Resources http://lb.cm/ala-code-reviews http://lb.cm/review-process www.gitforteams.com @emmajanehw