Introducing peer review
Even if your boss is a git
About me
Introduction
What is peer review?
“Peer review is the evaluation of work by one or more people of similar competence to the producers of the work.”
Wikipedia “Peer Review”
What is peer review?
“a disciplined engineering practice for detecting and correcting defects in software artifacts, and preventing their leakage into field operations”
Capability Maturity Model
Why use peer review?
“a favorable return on investment �for software inspections; �savings exceeds costs by 4 to 1”
National [USA] Software Quality Experiment
Why use peer review?
“Done well, it makes knowledge sharing and collaboration a standard part �of your development cycle.”
Ian Thomas
OK, you’ve convinced me. How do I get started?
You will need
You will need
You will need
You will need
You will need
You will need
That’s fine, I have all that.
Per-ticket branching
Per-ticket branching
Per-ticket branching
Per-ticket branching
Per-ticket branching
I’ve finished my ticket. What now?
Pull requests
Pull requests
Pull requests
Pull requests
Pull requests
I’ve been asked to do my first review. ��Have you got any tips?
Tips for reviewers
Work as a team to build the best code base
Don’t make it a competition to find the smartest developer
Tips for reviewers
Use automated tools such as PHP Lint
Don’t nitpick over coding style
Tips for reviewers
Ask questions
Don’t pretend you know everything
Tips for developers
Remember their suggestions when you’re working on future tickets
Don’t be upset when a reviewer suggests changes
Tips for developers
Open followup tickets or ask for an intermediate review
Don’t ask for too much to be reviewed at once
Tips for developers
Ask a specific person if you need a prompt review
Don’t merge your own work
Tips for managers
Remember every defect found in peer review is a defect that wasn’t found by a customer
Don’t base appraisals on “number of defects found”
Tips for managers
Continue existing testing procedures
Don’t expect reviews to find all your problems
Sounds great, but my manager’s more interested in when the sprint will be finished.
Introducing it to the team
Did I miss anything?