Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!lll-winken!uwm.edu!psuvax1!rutgers!mcdchg!tellab5!balr!clrcom!rmartin From: rmartin@clear.com (Bob Martin) Newsgroups: comp.software-eng Subject: Re: Code inspections Message-ID: <1991Jan29.175553.27060@clear.com> Date: 29 Jan 91 17:55:53 GMT References: <14964@megatest.UUCP> Organization: Clear Communications, Inc. Lines: 66 In article <14964@megatest.UUCP> pat@megatest.UUCP (Patrick Powers) writes: >It seems that the problem with code inspections is largely emotional. [... stuff removed about how inspections would be boring and painful since they are critical and non creative...] Inspections are a way for many engineers to learn about the creation of another. They are also a way for engineers to insure that their creations are complete and error free. In my experience, inspections are not nearly as painful as shipping bugs to customers. In fact I find inspections to be quite painless. When bugs are found everyone (including the author) breaths a sigh of relief that the problem was caught early. > >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. This is a generalization which borders on bigotry. All software engineers are not socially inept. I certainly wouldn't want to work for you if I knew that this was your view. >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 think the author _must_ be present so that s/he can explain and defend the work. Critisism should be restricted to _real_ errors and violations of written standards and procedures. > >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. Inspections are instruments of happiness. Customers are happier, managers are happier, engineers are happier. Inspections are investments in the long term health of the product. This is something that almost any engineer can identify with. >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. Another unwarranted generalization. Inspections work with anyone who truly cares about the project/product they are working on. > >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. Are you saying you do not have a clear need to produce high quality software. Given that the cost of fixing errors is multiplied by many orders of magnitude if the errors get to the field, don't you have a clear need to protect your organization's investment by making sure bugs are fixed as early as possible? IMHO inspections should be performed by all software organizations, big to small, working on any kind of project, critical to recreational. There is no excuse for not checking your work. -- +-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for | | rmartin@clear.com |:R::R:C::::M:M:M:M:| my words but me. I want | | uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all | +----------------------+:R::R::CCC:M:::::M:| the blame. So there. |