Peer group software reviews in university education for software engineering (abstract only)

The practice of software reviewing includes a collection of techniques for achieving management control of the software development process, improvements in software quality, improved productivity, and professional growth (IEEE, 1985). A variety of interacting factors influence the effectiveness of software reviewing, but the complementary, constructive insight of reviewers is the basis for helpful review outcomes.In university education for software engineering, software reviewing is not only a valid object of study (Colofello, 1986), it may also be a pedagogically useful activity (Lemos, 1978). If a collection of individual comments and judgments about a software element from the members of a student review team possess the fundamental qualities of complementary, useful insight, then it should be possible to use software reviewing as a valid learning activity for a variety of software engineering principles.An empirical study in Fall 1986 compared three procedures for group software reviewing in an undergraduate class in software engineering principles. The immediate goal of this research was to obtain empirical data which support or discredit specific procedures in student software reviews. Prototype software tools, appropriate materials, and procedure details were developed for the study, together with data on the ability of students to produce complementary, constructive insights into the quality of software requirements and system specifications.The three procedures involved conventional face-to-face interaction, computer-mediated interaction, and independent reaction by a subject to his or her remarks merged with the remarks of three other students. The materials which were reviewed were based on the results of an assignment for a different course, so that the subjects who did the reviewing had no vested interest in the software, and no direct interpersonal concerns with the original authors. These materials consisted of requirements and specifications for real projects on our campus. The choice of software requirements and system specifications focused on a learning objective of the course; the choice of campus projects addressed the need to minimize the impact of students lacking adequate background in the application context.The results of this study include data which show that students are capable of independently producing complementary, useful remarks. The students produced comparable group reviews with each of the three procedures, but they preferred the procedure which incorporated greater interaction with their group members. Individual qualities of knowledge of the application domain, interest in the project, and leadership appeared to dominate the effect of which procedure was used, although no statistical validation of this point is claimed.The outcome of this study supports our intuition that alternatives to face-to-face meetings can be effective and efficient, but a face-to-face meeting is appropriate when group members are inexperienced at a task, or they have not worked together before. In addition, the software base for these procedures has interesting potential for enhancing follow-up on group review interaction.