CfCs: Causes for Concern
The quickest and most cost-effective way to inspect software is to read it. Studies have shown that reading source code typically catches 60% of defects, is 20% more effective than testing and that each hour spent reading avoids 33 hours of maintenance work.
There are three perspectives from which a program can be read:
- CfC-NC: Not Complete
Some element appears to be missing from the program.
- CfC-WR: Wrong Result
Some part of the program looks likely to produce an incorrect result.
- CfC-HtM: Hard to Maintain
The program looks likely to be unnecessarily difficult to maintain.
By their nature, these aspects are difficult to verify. It is also important to note that in inspecting for CfCs, an assessor is being asked for his professional opinion, which is inevitably subjective. However, the goal of this more subjective level of assessment is precisely to initiate discussion with the programmer, with a view to raising awareness of overall quality issues during the development process.