Code that makes sense to two people is more likely to be correct than code that makes sense to one. If you an a colleague made a practice of reading each other's code, it is likely that both of you would be repaid by spending less time debugging your work.
Although I have known people who benefited from informally showing each other their work, if would probably be better if your organization had a formal review or inspection process. There is more than one way to do this. I think, your guiding principle should be to choose something that people in your organization can be comfortable with rather than to try to figure out what's "best".
To help convince you that some form of review process can be valuable, here are excerpts from a discussion that took place in the newsgroup comp.software-eng in August of 1995. The discussion involved both nuances of kinds of reviews and inspections as well as the value of having some form of review process. These excerpts address only the latter point.
The first of my excerpts is from a posting by myself:
Excerpted from a posting by Edward Hartnett:
Excerpted from a posting by D. Dale Gulledge:
Excerpted from a posting by Karla Johnson:
Excerpted from a posting by Mark Terribile:
Excerpted from a posting by Martin Tom Brown:
Excerpted from a posting by Alain Lapalme:
Excerpted from a posting by Stephen Baynes:
However, these reductions were not made as a direct result of the discovery of bugs (or defects if you will)... [Instead, inspections make people more careful and the greater awareness of what other people are doing leads to fewer coordination problems]"
These excerpts all are in favor of some form of review process, but not necessarily in favor of the same form of review process. When I have noticed similar discussions in comp.software-eng, dissenting comments have been few and far between. I believe the few dissenting comments arose from mismanaged review processes.
Indeed, these excerpts and the postings from which they were taken indicate all forms of review will fail if mismanaged. One difficult problem is to permit management to extract some information from the process without using the process for employee review. Using the process for employee review is bad because, when the employee salaries depend on the way they review each other's work, the review sessions tend to degenerate into a bunch of people trying to score points against each other.
So, if you are thinking of introducing a formal review process, take the time to study the experience of others. Here are some sources.
This tip is distributed to individuals free of charge from the Internet Themes web site. All other distribution (including but not limited to internal distribution within an organization and mirroring of any kind) is forbidden without written consent of the copyright holder.
Return to the top of this document.