|
|
|
|
|
by narcindin
1557 days ago
|
|
How is good code review incentivized? Some ideas: * Code review shares more credit and blame for code they approve * Change the word "review" -> "collaborate" * Involve the "collaborator" earlier in the process, before it's supposedly finished. If you helped write the code then the approval process will be much smoother. * Code reviews help towards bonuses or promotions |
|
> Change the word "review" -> "collaborate"
Regardless of the word, this should be the approach. That’s what code review is: two or more people collaborating to make a change successful.
The reasons I’m iffy on the others:
> Code review shares more credit and blame for code they approve
I’m on board in spirit, but…
> Involve the "collaborator" earlier in the process, before it's supposedly finished. If you helped write the code then the approval process will be much smoother.
I’m also on board with the first part of this, but have a strong negative reaction to the second part. Helping write the code might seem like it’s more collaborative (because it is), but it weakens review because both collaborators develop shared biases/narrowed vision of the impact.
Review works because people collaborate from different perspectives. Pairing (as another comment suggests) sounds more in line with this, but I’d still want review to remain a separate process so people not involved in implementation can catch oversights by those who are involved. And I still want reviewers in a position to apply that incentive to succeed in a critical way so it increases success rates.
> Code reviews help towards bonuses or promotions
Maybe for junior devs who don’t already have the instinct to review/be reviewed? If you’re senior, part of your responsibility is to ensure that your team’s baseline expectations are being met, and to proactively try to improve the effectiveness of those expectations (whether by clarification, process improvement, coaching/mentoring, or just anticipating the need and improving it directly).
If I’m in a position to evaluate comp for a senior engineer and they’re dragging their feet on reviews, I’m more inclined to have a discussion with them about the expectations of the role than to offer monetary incentives. (And I’ll reward the positive outcomes that come with good review practices as well as all the other ways people in the role excel.)
The only exception I can really think of here is helping a team/org improve its review process overall. But that’s rewarding leadership, not personal development.