Effective Technical Reviews
Scott Ballentine, Eitan Farchi
TL;DR
The paper synthesizes traditional and modern methods for effective technical reviews, arguing that well‑designed, time‑bounded practices yield early defect detection in agile and distributed environments. It catalogs techniques (Fagan reviews, paraphrasing, obligation/contract reviews, and bug‑pattern checklists) and extends them with concurrency‑focused guidelines, desk checking, and interleaving review to surface synchronization and timing issues. By outlining roles, preparation, and measurement, the work provides actionable guidance for applying reviews to code, interfaces, and design artifacts while balancing organizational constraints. The result is a practical framework to improve software quality and collaboration in fast‑moving development contexts, including remote and distributed setups.
Abstract
There are two ways to check if a program is correct, namely execute it or review it. While executing a program is the ultimate test for its correctness reviewing the program can occur earlier in its development and find problems if done effectively. This work focuses on review techniques. It enables the programmer to effectively review a program and find a range of problems from concurrency to interface issues. The review techniques can be applied in a time constrained industrial development context and are enhanced by knowledge on programming pitfalls.
