Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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.

Emma Jane Hogbin Westby

February 20, 2015
Tweet

More Decks by Emma Jane Hogbin Westby

Other Decks in Technology

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