Benefits of Software Inspections

by

Belton Flournoy III

Entering Freshman, Marquette University

ABSTRACT

Software inspections: are they worth it? Are money and time wasted on the numerous amounts of software inspections which occur, in many companies, during one the course of a year? This question can be easily answered when one considers all the benefits which arise from these common inspections. Although these inspections were started for a sole purpose, they soon became very common in all companies. Despite the fact that these inspections started as a systematic procedure to double check a programmers work, companies soon found many more uses for such a intricate and detailed program. They realized all the advantages of using these inspections in all new comprehensive programs. Watts Humphrey quotes four objectives of software inspections: 1) find errors, 2) peer review, 3) quality performance, and 4) data management.

FINDING ERRORS

Inspections occur where intermediate products are used. The inspection itself is not to correct problems which exist, it is merely to find these problems early. By accomplishing this feat before this program is distributed among the public, leakage into field operations can be avoided. (O'Neill 92) These inspections not only are there to avoid leakage into field operations, but they also exist in order to keep the programmers programs valid in most companies. This also helps to make the cost of making the necessary corrections more attractive to companies.

These complex and strict examinations are given by other employers. These employers are given many duties when they commence in the complete overview of the program. They must contain the specific skills needed in order to perform a complete inspection. The following are some of the criteria needed by a employer in order to perform a complete inspection: inspector skills, authorial skills, and moderation skills. These guidelines can be used as a guide in order to adequately prepare for the inspection. There is not just one person who is performs the inspection, it is a community who work together for a common purpose. The people who are needed to perform this task are the following: The author (or programmer), the inspector (or reviewer), the moderator (or inspection leader), the recorder, and finally the inspection team. Together these people form the peer review necessary to perform the inspection.

PEER REVIEW

Originally, software inspections were not that common, and were used in a selective amount of companies. But due to its effectiveness, it not only sustained its existence, its "usefulness in maintenance is now well established" (O'Neill 92) For this reason, it has become one of the most popular programs used in many companies in such a short amount of time. These inspections cost a great deal of money, due to the numerous amount of people needed to be hired to perform the inspection. Though the inspections cost a great deal of money to use, the money saved using these inspections is greater.

Introduced by Michael Fagan in the 1970s, this now common practice is very popular among practitioners, and is met with very little resistance. This peer review can be seen as a full analysis of the creators creation to improve the stature and eliminate all of the problems. These inspections cannot only save a company millions of dollars, but it can save a company four to eight times the money spent on the program. This money saving invention is not only effective, but is very helpful in boosting the company to successfulness.

QUALITY PERFORMANCE

Another important role of the inspection is to ensure that the program meets all the criteria intended for it. Without inspections certain companies will unknowingly release programs with a myriad amount of defects with it. After this unknowing release, the company will then have to recall all the programs released. The companies will then have to reprogram all the recalled programs. Then the programs will have to be re-released to the original owners. Not only are these software inspections becoming increasingly popular and will probably be required in the future, but they are one of the most beneficial additions a company could acquire.

DATA MANAGEMENT

Unless companies record their processes, how can they grow their business? Inspections allow companies to document their processes where internal or external business consultants can review and offer suggestions for improvements. This further allows for advancements in a program in order to adequately extend its full potential. Due to this compilation of information gathered over past years, it is easier to prevent certain repetitions in the future. By listing all the previous problems, other companies can further save time and money by reviewing this comprehensive list of all the previous defects. This enables the common worker to review the list of defects, in order to full prepare themselves of creating a extremely intricate program. Without documentation of one processes it is hard to keep pace with competitors as they move into the new millennium.

CONCLUSION

To answer the question, "Are software inspections worth all the time and money put into them? ", companies should look at all the benefits and say "Of course!" After seeing the four objectives of software inspections, anyone can only come to the same conclusion. In other words, the basic objectives are the following:

"To find errors at the earliest possible point in the development cycle, to ensure that the appropriate parties technically agree on the work, to verify that the work meets predefined data, and to provide data on the product and the inspection process." (Humphrey 89)

Looking at these objectives and the money saved, it can easily be seen why software inspections are going to be a part of everyday society in the new millennium.

References:

[Humphrey 89] Humphrey, Watts S. Managing the Software Process. Reading, MA: Addison-Wesley, 1989.

[O'Neill 92] O'Neill, Don. "Software Inspections: More Than a Hunt for Errors." Crosstalk, Journal of Defense Software Engineering 30.