Code Reviews

Code reviews are a best practice developed back in the early 1970’s by Michael Fagan.  He was a computer hardware engineer by training and knew from experience that reviews in his previous field found quite a few defects before a hardware spec was sent to the factory to be burned onto silicon.  It was expensive to undo defects once the spec had been sent to the factory and reviews were a great tool in catching defects early.  His original paper describes the “Fagan Inspection”.

As time has gone on, more papers and books have been published on the subject; most notably Handbook of Walkthroughs, Inspections, and Technical Reviews by Daniel Freedman and Gerald Weinberg in 1990.  The best current source for how to do reviews is the IEEE Standard 1028 for Software Reviews and Audits.  Regrettably, the IEEE does not make their standards free to access, which I think diminishes their use and ultimately their importance.  In it they describe four types of reviews: a Management Review, Technical Review, Inspection, and Walkthrough.  I have taken these four descriptions and amalgamated them into a review procedure that, I think, brings the four procedures together nicely.  I post it here for your edification and use.

Code Review Policy & Procedure


About Leonard Woody
Software Engineer

4 Responses to Code Reviews

  1. AlexF says:

    Leonard, I thought you may find this of interest. Plenty of useful resources on lightweight, tool-assisted peer code review as well.


    • Interesting articles, interesting tool. Thank you for the edification. You’re welcome for the free PR 🙂

      • AlexF says:

        You’re welcome. Having lived and breathed version control and ALM for the past 10 years, I should have more quickly realized the purpose of your post and the MSFT affiliation. Thank you for allowing a comment that didn’t promote VS.

        You may find a past news release about how ReadSoft integrated AccuRev with MSFT TFS. The configuration manager said: Each user works in a private stream of development, virtually eliminating the need for private task branches and shelving.

        But you don’t have to publish this comment. Just a quick thanks and fyi. 🙂 Best, Alex

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: