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

    View Slide

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


    View Slide

  3. View Slide

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

    View Slide

  5. Storytime!

    View Slide

  6. Be intentional about
    your reviews.

    View Slide

  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

    View Slide

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

    View Slide

  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)

    View Slide

  10. Use templates 

    and checklists.

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  14. Provide excellent
    feedback.

    View Slide

  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.

    View Slide

  16. Bad Feedback

    is Destructive

    View Slide

  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.

    View Slide

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

    View Slide