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 full-size slide

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


    View full-size slide

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

    View full-size slide

  4. Be intentional about
    your reviews.

    View full-size slide

  5. 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 full-size slide

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

    View full-size slide

  7. 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 full-size slide

  8. Use templates 

    and checklists.

    View full-size slide

  9. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  12. Provide excellent
    feedback.

    View full-size slide

  13. 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 full-size slide

  14. Bad Feedback

    is Destructive

    View full-size slide

  15. 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 full-size slide

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

    View full-size slide