Hacknot: In Praise Of Code Review
To which I'll only add that not only is Code Review cheaper than formal testing, but it picks up whole classes of defects that can never be found by traditional testing (eg: plain unmaintainable code)
On my last project we did peer code reviews, with three random reviewers for the week, each performing a different role in the review:
- Customer Focused & Usability (do the messages make sense, does the flow work, are we accurate and not robust (or viceversa if required))
- Maintenance and Legibility (self-documenting code, documentation comments, architectural synergies)
- Bugslaying (checking for obvious foobars, and reviewing test coverage)
Also I'm all for paper reviews. It's easier to annotate on paper, plus I tend to think along the lines that if someone missed it once on-screen, maybe printing it out reduces the chance someone else will do the same thing.