Code Review Checklist
I recently read Atul Gawande's "The checklist manifesto" which covers applying aviation style check-lists to surgery. The outcome was a 30% reduction in post-surgical complications.<p>From reading this, I see how bad most software process check-lists are. They tend to be laundry lists mixing obvious minutia and vague uncheckable goals. They are not practical executable tools but well meaning documents that are ignored at the error prone moments when a check-list has the most potential impact.<p>A check-list for a good check-list:<p>1. Plan for a specific trigger giving a single pause point of up to 30-90s at which point the check-list is opened and executed<p>2. Decide whether it is a DO-CONFIRM or READ-DO list<p>3. Design to engage the brain rather than switch it off<p>4. 5-9 items at most<p>5. Don't include any action that is rarely forgotten i.e. the criteria for inclusion is the probability and cost of error. This is very different from listing the most important steps or attempting to fully document a process.<p>6. Regularly test and measure the check-list for effectiveness<p>I would say Fog-creek's article is in the "read once" training material category and not a practical check-list. For a real check-list, I would interview the team and examine recent commits and look for the 5 most serious <i>real</i> issues you are experiencing that you need to eliminate from future code. That is a now a review check-list you can mandate, measure and iterate.