Software Inspection•The software inspection process has become animportant part of the software development cycle•Meetings during which analysis, designs and codeare reviewed by people other than the originaldeveloper.•The objectives of the inspection process are to finderrors early in the development cycle
Inspection team consist of 3-8 membersInclude these rolesModerator: leads the inspection, schedulesmeetings, controls the meetings, reports inspectionresults.It should be trained in how to conduct inspectionsAuthor: maintains the work product beinginspected. The author may answer questions askedabout product during the inspection and he alsolooks for defects.
Reader: Describes the sections of the work productto the team as they proceed through the inspection.The reader may paraphrase what is happening in theproduct.Recorder: classifies and records defects and issuesraised during the inspection.Inspector: attempts to find errors in the product.All participants actually are acting as inspectors, inaddition to any other responsibilities.
New perspective• Findingdefects may be easier for people whohavent seen the artifact before and don’t havepreconceived ideas about its correctnessKnowledge sharing• Regarding designs and specific software artifacts• Regarding defect detection practices
Find flaws early• Can dramatically reduce cost of fixing them• During detail design – even before code is written• Or code that does not yet have a test harness• Or code in which testing has found flaws but root causesare not understoodReduce rework and testing effort• Can reduce overall development effort
Testing and inspection cannot find all defectsTesting and inspection do not create qualityDevelopment practices create quality
Raytheon• Reduced"rework" from 41% of cost to 20% of cost• Reduced effort to fix integration problems by 80%IBM• 1 hour of inspection saved 20 hours of testing• Saved 82 hours of rework if defects in released productC. JonesDesign/code inspections remove 50-70% of defectsTesting removes 35%
References: •Jonathan Aldrich Assistant Professor Institute for Software Research School of Computer Science Carnegie Mellon University firstname.lastname@example.org +1 412 268 7278 •www.cs.cmu.edu/~aldrich/courses/654- sp07/slides/2-inspection.pdf •www.processimpact.com