11
Software Inspections Software Inspections and Walkthroughsand Walkthroughs
Author: A. Frank AckermanAuthor: A. Frank Ackerman
Presented by Cynthia JohnsonPresented by Cynthia Johnson
EEL6883EEL6883
22
Software InspectionsSoftware Inspections
““Software Inspections are a disciplined Software Inspections are a disciplined engineering practice for detecting and engineering practice for detecting and correcting defects in software artifacts, correcting defects in software artifacts, and preventing their leakage into field and preventing their leakage into field operations.” Don O'Neill, Don O' Neill operations.” Don O'Neill, Don O' Neill Consulting for SEIConsulting for SEI
33
Software WalkthroughsSoftware Walkthroughs
a form of a form of software peer reviewsoftware peer review "in which a "in which a designer or programmer leads members of the designer or programmer leads members of the development team and other interested parties development team and other interested parties through a software product, and the through a software product, and the participants ask questions and make participants ask questions and make comments about possible errors, violation of comments about possible errors, violation of development standards, and other problems" (development standards, and other problems" (IEEEIEEE Std. 1028-1997, Std. 1028-1997, IEEE Standard for IEEE Standard for Software ReviewsSoftware Reviews, clause 38. , clause 38.
44
What’s the difference?What’s the difference?
An inspection is a more formal process An inspection is a more formal process than a walkthrough used to collect than a walkthrough used to collect metrics or statistics about the software metrics or statistics about the software processprocess
Walkthrough is a more informal version Walkthrough is a more informal version of an inspectionof an inspection
55
Why inspect software?Why inspect software?
Routine production of reliable software within Routine production of reliable software within budget and on schedule continues to elude budget and on schedule continues to elude most development organizations.most development organizations.
While efforts are ongoing to make development While efforts are ongoing to make development an industrial process, much of the work is still an industrial process, much of the work is still done by “intellectual artisans”done by “intellectual artisans”
Artisan’s work is inherently difficult to bond and Artisan’s work is inherently difficult to bond and can not be specified precisely.can not be specified precisely.
Inspections are a method to reduce variability Inspections are a method to reduce variability and tighten process control.and tighten process control.
66
History of InspectionsHistory of Inspections
M.E. Fagan of IBM first defined M.E. Fagan of IBM first defined inspections in 1976.inspections in 1976.
E. Yourdon was among the first to E. Yourdon was among the first to publish a book on inspections in 1978.publish a book on inspections in 1978.
IEEE standard covering inspections first IEEE standard covering inspections first appeared in 1988.appeared in 1988.
77
What do inspections What do inspections cover?cover?
Inspections and walkthroughs are Inspections and walkthroughs are primarily intended to discover defects in primarily intended to discover defects in software artifacts.software artifacts.
This is a static analysis technique of This is a static analysis technique of software testing.software testing.
In addition, inspections address three In addition, inspections address three major tasks of process management: major tasks of process management: planning, measurement, control.planning, measurement, control.
88
Inspection metricsInspection metrics
Inspections are used to collect quantitative Inspections are used to collect quantitative quality data at defined points in the quality data at defined points in the development process.development process.
This can be used to give feedback to the This can be used to give feedback to the developers, feed-forward to future developers, feed-forward to future development, and feed-into future steps of development, and feed-into future steps of process.process.
Can also provide data on effectiveness of Can also provide data on effectiveness of inspection techniques.inspection techniques.
99
What can be inspected?What can be inspected?
Inspections can be held a various points Inspections can be held a various points in development process.in development process.
Fagan recommended inspections on:Fagan recommended inspections on: Detailed designDetailed design Cleanly compiled codeCleanly compiled code Completion of unit testCompletion of unit test
1010
Who is involved?Who is involved?
At a minimum a formal inspection At a minimum a formal inspection includes:includes: Designated moderatorDesignated moderator Author of the workAuthor of the work At least one peer inspectorAt least one peer inspector
Walkthroughs generally do not include Walkthroughs generally do not include designated moderator and are often led designated moderator and are often led by the author of the software.by the author of the software.
1111
Steps of inspectionSteps of inspection
PlanningPlanning OverviewOverview PreparationPreparation MeetingMeeting ReworkRework Follow-upFollow-up
1212
PlanningPlanning
Planning begins when entry criteria for Planning begins when entry criteria for inspection type is met.inspection type is met.
Moderator is selected – usually a peer or Moderator is selected – usually a peer or technical leadertechnical leader
Selection may be made by developer, but this Selection may be made by developer, but this is generally not an ideal situationis generally not an ideal situation
Management is encouraged not to look at Management is encouraged not to look at individual inspection resultsindividual inspection results
Moderator verifies that product meets entry Moderator verifies that product meets entry criteria and schedules future steps.criteria and schedules future steps.
1313
OverviewOverview
Presentation to inspectors with any Presentation to inspectors with any background information needed to background information needed to properly review software product.properly review software product.
Purpose is educational onlyPurpose is educational only Data collected is author preparation time Data collected is author preparation time
and time spent on presentation.and time spent on presentation.
1414
PreparationPreparation
Individual activityIndividual activity Author collects all material required for Author collects all material required for
inspectioninspection Inspectors study the material and Inspectors study the material and
complete inspection log.complete inspection log. Defects are noted at this step, but not Defects are noted at this step, but not
collectedcollected
1515
MeetingMeeting
Meeting is conducted by moderatorMeeting is conducted by moderator Agenda includes:Agenda includes:
IntroductionIntroduction Establishing readinessEstablishing readiness Examining material and recording defectsExamining material and recording defects Review defectsReview defects Determine dispositionDetermine disposition DebriefDebrief
Defect data is collected this timeDefect data is collected this time
1616
Common meeting Common meeting problemsproblems
Interpersonal tensions are most likely to arise Interpersonal tensions are most likely to arise at this pointat this point
Experienced moderators can detect and Experienced moderators can detect and defuse this tensiondefuse this tension
The more inspections that occur, the less likely The more inspections that occur, the less likely interpersonal tensions are to interfereinterpersonal tensions are to interfere
Effort should be made by all participants to Effort should be made by all participants to keep emphasis on producing quality product, keep emphasis on producing quality product, not making fault finding personalnot making fault finding personal
1717
ReworkRework
Performed by the author in response to Performed by the author in response to defect disposition determined at meetingdefect disposition determined at meeting
1818
Follow-upFollow-up
Moderator verifies that corrections are Moderator verifies that corrections are mademade
Moderator completes inspection Moderator completes inspection management report and defect summary management report and defect summary reportreport
1919
Inspection RolesInspection Roles
Author – developer of work productAuthor – developer of work product Moderator – an inspector responsible for Moderator – an inspector responsible for
organizing and reporting on inspectionorganizing and reporting on inspection Reader – an inspector who guies the Reader – an inspector who guies the
examination of the productexamination of the product Recorder – an inspector who enters all the Recorder – an inspector who enters all the
defects found on the defect listdefects found on the defect list Inspector – Member of inspection team. Often Inspector – Member of inspection team. Often
chosen to represent specific role- designer, chosen to represent specific role- designer, tester, technical writer, SQA, etctester, technical writer, SQA, etc
2020
Inspection as Process Inspection as Process ControlControl
When employed at various points When employed at various points through out the process, the completion through out the process, the completion of an inspection can trigger entry into a of an inspection can trigger entry into a new development phase.new development phase.
Generally, Software Development Plan Generally, Software Development Plan spells out entry and exit criteria and spells out entry and exit criteria and required participants in each type of required participants in each type of inspection.inspection.
2121
Aspects of inspectionsAspects of inspections
Initial introduction of inspection into an Initial introduction of inspection into an organization can cause anxiety and organization can cause anxiety and tension among developerstension among developers
When it becomes clear that management When it becomes clear that management supports inspection as a quality supports inspection as a quality improvement technique and not a witch improvement technique and not a witch hunt, the effectiveness of the inspection hunt, the effectiveness of the inspection increases.increases.
2222
Inspection DataInspection Data
The collection and analysis of data is The collection and analysis of data is what sets inspections apart from other what sets inspections apart from other peer review techniques such as peer review techniques such as walkthroughs.walkthroughs.
This data can be used in a variety of This data can be used in a variety of ways by a variety of personnel.ways by a variety of personnel.
2323
Data customersData customers
First-line managers – amount of rework First-line managers – amount of rework generates schedule informationgenerates schedule information
Next phase developers or verifiers get Next phase developers or verifiers get “intelligence” report on status of software“intelligence” report on status of software
Quality assurance personnel use data on Quality assurance personnel use data on amount of material inspected, amount of amount of material inspected, amount of inspection material, speed of examination inspection material, speed of examination to examine inspection effectivenessto examine inspection effectiveness
2424
More data usageMore data usage
Quality assurance is responsible for Quality assurance is responsible for recommending inspection and recommending inspection and preparation rates – actual review data preparation rates – actual review data makes these more realisticmakes these more realistic
Defect rates and types discovered at Defect rates and types discovered at different points can point to most different points can point to most effective place to review. For example, effective place to review. For example, design inspections may prove more cost design inspections may prove more cost effective than code.effective than code.
2525
AlternativesAlternatives
There is a “cost of quality” associated with There is a “cost of quality” associated with walkthroughs and inspections. In software, walkthroughs and inspections. In software, person-hours are the highest measurable person-hours are the highest measurable expenseexpense
Many organizations find that the cost of Many organizations find that the cost of inspection does not generate a return on inspection does not generate a return on investmentinvestment
Some inspect a percentage of codeSome inspect a percentage of code Others inspect only critical portionsOthers inspect only critical portions
2626
ConclusionsConclusions
Inspections have been proven an Inspections have been proven an efficient and effective method for efficient and effective method for improving software qualityimproving software quality
In conjunction with testing, audits and In conjunction with testing, audits and formal verification a successful, quality formal verification a successful, quality product can be producedproduct can be produced
2727
My opinionMy opinion
When done correctly, walkthroughs and When done correctly, walkthroughs and inspections are valuable defect finding tools.inspections are valuable defect finding tools.
When not supported by management or bought When not supported by management or bought into by development personnel, they become into by development personnel, they become “busy work” for developers.“busy work” for developers.
It is important for developers to not take It is important for developers to not take criticism personally.criticism personally.
It is equally important for inspectors to look for It is equally important for inspectors to look for defects and not criticize because developer defects and not criticize because developer didn’t code exactly the way they woulddidn’t code exactly the way they would
2828
ReferencesReferences
http://www.sei.cmu.edu/str/descriptions/inhttp://www.sei.cmu.edu/str/descriptions/inspections_body.htmlspections_body.html
IEEEIEEE Std. 1028-1997, Std. 1028-1997, IEEE Standard for IEEE Standard for Software ReviewsSoftware Reviews
Top Related