-1

First things first, our company has decided to do code reviews. All of the engineers agree with (or accept) this. Code reviews are required as part of our development process for all commits. The problem is that they are done... weeks (or occasionally months) after the stories are code complete.

So as a developer, how to get engineers to actually perform the code reviews promptly?

In my situation, I've got some things that hinder what I can do. I work remotely from the rest of the team. The old standby of standing in their cube until they do what I want isn't available. We use kanban, so everyone is on overlapping schedules. And the usual route of getting my manager or project manager to hold people accountable has proven ineffective.

Telastyn
  • 109,398
  • I agree with @GlenH7's answer, however I would also add that the best way to get code reviews done is to both educate developer as to why it is to their benefit AND for management to ensure that they are scheduled time to do the reviews. – Mawg says reinstate Monica Dec 05 '14 at 15:38
  • At our company, code reviews for the previous sprint are work items like any other. They are time-boxed to be completed in the following sprint. – Robbie Dee Dec 05 '14 at 16:04

1 Answers1

4

Getting code reviews completely promptly is a management issue, not a technical issue.

That said, and I'll acknowledge this will generate howls of protest, the best way to ensure timely completion is to make timely completion a part of their performance review process.

You'll need / want to have tooling support in order to make it work. But with a modest amount of effort, it should be possible to generate reports that show how long it took each person to complete their reviews along with how many reviews are being done by whom.

A good management team will use those metrics as a way to improve the overall work environment. They ought to be able to draw out underlying reasons why people aren't able to complete their reviews on time.

For example, you could see the following sets of excuses:

  • Excuse: "I'm too busy" or "I don't care" Answer: Management has a session with that developer and goes over the benefits of code review and why they are important.

  • Excuse: "I have too many reviews to complete and they are impacting my other deliverables." Answer: Management can see the number of requested reviews and average response time. If the developer is overloaded, they can work to shift some of that to other developers.


That said, you mentioned:

the usual route of getting my manager or project manager to hold people accountable has proven ineffective

And that's an issue you need to bring up with your manager. Point out how your ability to deliver is impacted because the code reviews aren't getting completed on time. Ask her what her preference would be in order to handle future situations where the code can't be committed because the review isn't done. In short, you have to make it your manager's problem and not yours since you don't have the leverage in order to get the reviews completed.

It wouldn't hurt to do some research and find out if this is a systemic problem that's affecting everyone or if it's impacting just you, presumably because you're remote to the rest of the team. If it's a systemic issue, then that needs to be addressed and your development process should be adjusted. If it's an individual issue or an issue for remote workers, then that's useful information to lobby your manager with while proposing appropriate changes to the process.


But the short version is that the reviews will only occur when they are part of the routine, expected process that everyone is held accountable to. It doesn't sound like that's the case yet for your environment.