What is the best way to set up a code review process as part of your overall development process? Can you share some thoughts/experiences on successful or failed code review processes that you have set up or been involved in?
Some specific questions:
Who reviews the code? Should it be a subset of your developers (for whom code reviews is part of their job description)? Or do you randomly assign pieces of code to developers to review (basically meaning that all developers perform reviews at some point)?
Is it advisable to have only one developer reviewing a piece of code, or should you have 2 or more developers to review a piece of code as a group?
What granularity of code should kick off a review? Every commit? Every new feature/bug fix? Or some other option?
What software tools are available to help with code reviews? What sort of software/tools have you found useful? What features should I look out for when looking for these sorts of tools?
Thats a lot of questions! I have more, but I think getting some insight from all of you with experience/information will be very useful.