Top Banner
1 Software Inspections Software Inspections and Walkthroughs and Walkthroughs Author: A. Frank Ackerman Author: A. Frank Ackerman Presented by Cynthia Presented by Cynthia Johnson Johnson EEL6883 EEL6883
28

1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

Dec 23, 2015

Download

Documents

Sharon King
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

11

Software Inspections Software Inspections and Walkthroughsand Walkthroughs

Author: A. Frank AckermanAuthor: A. Frank Ackerman

Presented by Cynthia JohnsonPresented by Cynthia Johnson

EEL6883EEL6883

Page 2: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 3: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 4: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 5: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 6: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 7: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 8: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 9: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 10: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 11: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

1111

Steps of inspectionSteps of inspection

PlanningPlanning OverviewOverview PreparationPreparation MeetingMeeting ReworkRework Follow-upFollow-up

Page 12: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 13: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 14: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 15: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 16: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 17: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 18: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 19: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 20: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 21: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 22: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 23: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 24: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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.

Page 25: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 26: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 27: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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

Page 28: 1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.

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