Improving software quality by inspecting functional specifications

Date

1998

Authors

Roberts, John Michael

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The quality of a software system, as perceived by its users, is determined as such by the effectiveness of its functionality in supporting their business activities, as by its freedom from technical defects. Therefore, efforts to improve software quality should consider the quality of the Functional Specification, as it represents user expectations of the eventual functionality. The technique of formal inspection has been used effectively for code, and has been extended to the technical specification of the code. I show how to apply inspection to the Functional Specification as well, resulting in higher quality in the finished product when evaluated by users. The process of inspection, in addition to detecting and correcting defects in the Functional Specification, increases user understanding of the system that will be built and the manner in which it will be used. Increased understanding may result in more accurate expectations and fewer failure reports that are the result of user error rather than system defects. Although many researchers have reported the use of inspections and design reviews for Functional Specifications, none has documented an inspection process designed for the unique objectives and characteristics of Functional Specifications. My research, which addresses this omission, includes the experimental application of a new inspection approach. For my experiment, I designed an inspection process based upon previously documented techniques and results, but modified to take into account experience from the design, development and acceptance testing of a system built for a commercial client by PricewaterhouseCoopers. I reviewed this design with the participants from the project, revised it, and then applied it to another PricewaterhouseCoopers project, of similar size and scope. The experiment included training of the inspection team, management of the inspection processes, and evaluation of the results, for a Functional Specification of over 150 functions. The objectives of the inspection design were achieved, in improved quality of the Functional Specifications and increased understanding of it among users and developers. The results were achieved both through the inspection activities and increased care in producing the specification. The experiment also produced useful information about implementation issues that will assist in future applications of the technique. The inspection process will be applied to future projects of PricewaterhouseCoopers, as it promises to reduce acceptance test failures, with a corresponding increase in real and perceived quality of the delivered systems.

Description

Keywords

Citation