Critical Factors, Benefits, and Limits

Improving quality and lowering costs

Reviews are an efficient tool for assuring the quality of the work products under investigation. Ideally, reviews will take place immediately a work product is finalized. This way, any inconsistencies or defects are identified in a timely manner and the author receives feedback as soon as possible. Resolving any issues leads to improved quality in the documents in question and thus has a beneficial effect on the development process, which is then pursued with fewer defects in tow. Furthermore, static tests often reveal defects that are difficult (or impossible) to find using dynamic tests.

Early identification and correction of defects through reviews is usually cheaper than resolving defects later when the application has reached an executable stage of development. This is especially true when earlier versions of an application have been delivered or are already in use.

Static tests are generally cheaper than dynamic tests because defects can be corrected directly in the document and further checks are no longer necessary13. Correcting failures that appear during dynamic testing generally requires additional confirmation or regression testing. Reviews often save significant amounts of development time.

However, it is not always accurate to say that a review will reduce costs. For example, if a static test finds a memory leak, remedying the issue can be extremely time-consuming. Here, you need to differentiate between the cost of conducting a review and the cost of correcting the defect(s) the review identifies. The cost of correcting text in a document is negligible. In other words, the effort involved in making a correction depends on the nature of the issue that requires attention.

Dynamic testing can involve less effort if a code review has already removed faults in the test object (i.e., the code) and the risk of discovering further faults has been reduced thanks to the review.

A reduced number of defects and inconsistencies in the reviewed and corrected document will also reduce costs during the system’s lifetime. For example, reviews can reveal inaccuracies in customer requirements that can be resolved in advance of implementation. Reviews also lead to a reduction in the number of failures that occur when the system is running. Additionally, productivity during development increases, as the team will be working with improved designs and code that is much easier to maintain (i.e., to understand and alter).

Improved team communication

As well as increasing quality and reducing costs, reviews have positive effects on the collaboration within the development team too:

  • Because reviews always take place in a group environment, they encourage the exchange of know-how among the participants. This leads to improvements in the working methods of individuals and thus to a general improvement in quality of the work they produce.
  • The group environment makes it essential to present material in a way that is clear and comprehensible for all involved. This need for clarity often generates insights that the author wouldn’t otherwise have had.
  • The entire team feels responsible for the quality of the review object, and the result is a document that everyone understands.

In order to increase review quality, or to have a successful review in the first place, various organizational and people-related factors need to be considered. The following sections list the most important of these.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *