Path: utzoo!attcan!uunet!olivea!decwrl!megatest!pat From: pat@megatest.UUCP (Patrick Powers) Newsgroups: comp.software-eng Subject: Code inspections Message-ID: <14964@megatest.UUCP> Date: 28 Jan 91 00:35:20 GMT Organization: Megatest Corporation, San Jose, Ca Lines: 42 It seems that the problem with code inspections is largely emotional. Though there is plenty of evidence that code inspections are cost effective, I believe they would tend to be boring and stressful. Boring because they are a time consuming and non-creative activity -- current issue of IEEE Software recommends 150 lines of code reviewed per man-day as a good figure. I know I would not want to do this, and who would? Stressful because it is out of the programmer's control, and because criticism is involved. People identify closely with their creations and find criticism painful. Not only that, but your average programmer was very likely attracted to programming in order to avoid social interaction and to create something under his/her personal control without anyone else watching. He/she is likely to be on the low end of the social tact scale and singularly unqualified to deal with this delicate situation. Again, this may very well have attracted them to programming: it doesn't matter whether anyone likes their personality, all that counts is whether the program works. In order to reduce these problems the following has been suggested: 1) The author not be present at the inspection 2) Only errors are communicated to the author. No criticism of style allowed. I've toyed with the idea of instituting code inspections but just couldn't bear to be the instrument of a good deal of unhappiness. It seems to me that it could work with programmers directly out of college who feel in need of guidance. It also might succeed in a large paternalistic organization as these would be more likely to attract group oriented engineers. Note that the classic studies of code inspection occurred at mammoth IBM. In spite of all this, I think code inspections would be accepted in any application where there is a clear need such as the space shuttle program where reliability is crucial and interfaces are complex. In such cases code inspections are clearly a necessity, and engineers might welcome --or at least, tolerate -- them as essential to getting the job done. On the other hand in routine applications with a good deal of boiler plate code they could be a "real drag", exacerbating the humdrum nature of the task. -- --