Code Reviews

May 31st, 2007
[ Software Development ]

I’m looking into moving some of our projects to some form of a tool-assisted code review process. The intent is to stay clear of traditional ‘big company’ reviews and all the emotional baggage that goes along with those. The goal of our reviews will still be better quality, more maintainable software, however, almost equal to that is to generate team collaboration in the context of actual code.

This is about mistakes and finding them, however, that cannot be a negative experience. To state it the other way around, he who makes the most mistakes wins. This will be about finding mistakes as early as possible, learning from them, and moving forward. If you fail on that part and drift into using the number of mistakes as a carrot or stick then you’ll build development teams that are very good at hiding their mistakes which is terrible for everyone involved.

Bugs are good. Mistakes are good. If you aren’t finding mistakes then something’s broken. Your testing could be broken, your developers may be hiding or not fulling disclosing bugs. Another, equally bad possibility, is that your developers aren’t pushing themselves and are instead only doing what they are 100% certain they can safely deliver. If that’s the case then I guarantee you that you’ll be sitting in a meeting someday soon titled “How do we get our developers to innovate?”.

I’d like to try an open source product but at this point I’m most impressed with what SmartBear has. Some related links:

http://smartbear.com/docs/BestPracticesForPeerCodeReview.pdf
http://www.ganssle.com/Inspections.pdf

and a free book offer…
http://smartbearsoftware.com/codecollab-code-review-book.php