posted 07-29-2002 05:36 AM
Other reasons that reivews are not effective:Imperfect moderating. To my mind, this is the single biggest reason that reviews are ineffective. The moderator is a key role in reviews and if the moderator is not skilled, then the whole review can be a disaster. The symptoms of a poor moderator are mostly those shown in the other answers to the question. For example, I have made myself very unpopular, as a moderator, by throwing a reviewer out of the review meeting when they have not come prepared – I don’t want that person, they are going to prolong the meeting and give sub-standard comments. Too few people are trained in and skilled in moderating techniques.
The wrong people in the review. The people need to have the right skill-set and right mind-set. Too often a Manager who hasn’t written a line of code in years will attend a code review, they are the wrong person, you want people who know how to code and will constructively criticise.
Too many people at the review. Somewhere between 4 and 6 people is optimal. The length of the review goes up exponentially as the number of people increases and the average quality of the comments goes down.
Review too soon. If the code is not ready to review, but the date on the plan says “send code out for review dd/mm/yy”. This causes a lot of review comments that should not be made, as they would never have got to review if the code had been reviewed when it really is ready.
No follow-up on actions. The review meeting is not the end of the review, all actions must be followed up on.
Review out of context. Reviewers cannot just review a piece of code, they need to know at least what the design is and how it fits into the rest of the system.
Reviewing too much. Code reviews are time consuming. Reviewing every module may not be cost effective, so review those code modules that will get most benefit from a review.
Using review comments as a measure of how good the developer is. A complete No-no. A good way to make your developers leave the company.
------------------