Manual Reviews: High-End Quality Control
Dr. Nils Göde
Quality control has many facets, but if there is one factor that distinguishes good from high-end quality control, it is the systematic use of manual code reviews. While a lot can be achieved by tool-supported analyses and improvements, manual reviews have some unique benefits.
One of the prominent benefits is that manual reviews help you to find bugs immediately. This can save you a lot of time compared to when the bug is found during testing or after releasing the software. But there are further, less obvious benefits. For example, manual reviews increase the consistency of the implementation. Experienced programmers can provide feedback when a recurring problem is suddenly solved in a different way, while novice programmers learn what the solution to a common problem is. Consequently, manual reviews lead to a significant knowledge transfer that increases the consistency of the implementation and makes it more easier for developers to understand parts of the system they are usually not working with. Another effect of manual reviews is that there are always at least two experts for a particular piece of code, lowering the risk that knowledge is lost or unavailable when needed.
Needless to say, a structured review process is a very intrusive measure and nothing than can be done as an “add-on” to the normal development process. It is also a significant investment: manual reviews require a considerable amount of time. However, from our own development of ConQAT and customers that use manual reviews, we know that this investment pays off in the long run.