Presentation is loading. Please wait.

Presentation is loading. Please wait.

Code Inspection - Inspectors' Training <CIIT.ppt>

Similar presentations


Presentation on theme: "Code Inspection - Inspectors' Training <CIIT.ppt>"— Presentation transcript:

1 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Fagan’s Inspections Instructor(s) introduce themselves. Write name and phone number on course cover sheet foil. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

2 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Lecture Outline Fagan’s Software Inspections Formal Process Definition Exit Criteria Examples Defects Seven Step Inspection Process Objectives Inspection Roles Step 1 - Planning Step 2 - Overview Step 3 - Preparation Step 4 - Inspection Meeting Step 5 - Inspection Analysis Meeting Step 6 - Rework Step 7 - Follow-Up © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

3 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Expectations Motivate participants to: Use these processes to produce defect-free products with a high degree of productivity Perform those processes repeatably and consistently Continually improve those processes in a controlled manner Provide participants with the knowledge and skills to: Use the Fagan's Inspection processes Measure (participate in a Fagan's Inspection) and improve their work product Participate in developing improvements to work processes What are we here for? These are the instructors' expectations for the course. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

4 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Objectives 1. To impart sufficient knowledge and skills to enable you to participate in productive document inspections. You will understand the objectives, principles and methods of Fagan’s inspections. 2. To develop skills/knowledge to enable you to participate in effective inspections fulfilling a moderator, author, reader or tester role: m Planning & Organizing a Fagan's Inspection m Preparing for a Fagan's Inspection Meeting m Participating in a Fagan's Inspection 3. To understand the basic concepts and approach of continuous process improvement as it relates to the software inspection process. 1. Moderators must understand the concepts of a formally defined process and the need to measure and monitor that process as part of Fagan's software inspection processes. Its not enough to know about the product. We must understand the process that produced that product. 2. Moderators must know and understand the objectives of software inspection to keep things on track and view process & product in the proper perspective. 3. The best way to develop skills is in a real-life situation. That is why you were asked to bring a REAL working product from your work place. The 2 inspection workshops conducted in this class are meant to reinforce the skills needed to moderate an effective and productive inspection in the work place. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> 4. On the job you will be faced with using personnel who have not had formal training. A class exercise will be conducted in the final course module to reinforce the most important aspects of this course required for non-trained personnel to be effective. © 1996 A. Winsor Brown BES/MSEE

5 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Fagan's Inspection DEFINITION A highly structured, clearly defined process by which software documents are reviewed in detail by a team including the author and, ideally, the customer. GOAL To identify defects as closely as possible to the point of occurrence in order to facilitate corrective action. Note that the customer as defined in the inspection process is the next person/role in the process chain. Implementation varieties: The course authors and instructors are aware of many different ones, and can discuss pro's and con's OFF LINE. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

6 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 The ETVX Paradigm Task Entry Exit Validate Inspection ETVX is a way to look at / model processes at atomic and macro levels. Inspections encompass Validation & Exit at the atomic level. OK OK Entry Task Validate Exit OOPS © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

7 ETVX Paradigm Software Development Process Fagan's Inspection
Code Inspection - Inspectors' Training <CIIT.ppt> ETVX Paradigm Software Development Process Fagan's Inspection 7/20/2018 Relationships: A software development process, e.g., specifying, designing, coding Tasks distributed to team members Fagan's Inspection Entry Criteria Task Validate Exit Emphasize SIMPLE process management. Simple because we are not accounting for forks & joins: processes that produce multiple products (that are used by different subsequent processes) or use multiple inputs from different predecessor processes. At the highest level we see a major task with transition where the validate box would be in this case the PDR. Below that we see the division of work amongst the software development team. On the right hand side of the foil we see Fagan's Inspection as the in-process, work product validation. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

8 Michael Fagan's A-B-C Process Defect Free Software Development
Code Inspection - Inspectors' Training <CIIT.ppt> Michael Fagan's A-B-C Process Defect Free Software Development 7/20/2018 Continuous Incremental Process Improvement Formally Defined Process (Task) Measurement A B Objective: Make Product Objective: Measurement Entry Criteria Exit * Criteria Entry Criteria Exit * Criteria Function/ Process Fagan Inspection Process Improvement Objective: Process Improvement Fagan's inspection processes are a process management methodology for the software development process. The planning aspect, or the "A" phase of the process, he refers to as "FORMAL PROCESS DEFINITION". This includes the software life cycle, the software products, and the processes to build those products. The measure aspect, or the "B" phase, is "MEASUREMENT". Here the tool used to measure (validate) the software products is Fagan's inspection. Finally, the control aspect, or the "C" phase, is "PROCESS IMPROVEMENT". The results of measurement are analyzed for the purpose of improving the software development process (and the measurement process). Exit Criteria Entry Criteria Customer Feedback Function: l Analysis l Create Process Change C * Same Exit Criteria for product creation and validation © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> Attendee will learn three things: how to define the process, how to measure the products produced by the process, how to improve the process using the results of the measurement. © 1996 A. Winsor Brown BES/MSEE

9 Relative Cost of Finding Defects
© USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

10 Fagan’s Software Development Process Model
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Fagan’s Software Development Process Model EXIT EXIT 1 Task (Process) Formally Defined 2 1 Product Fagan's Inspection Product 2 Test or “Customer” Metrics & Problem Reports; Change Requests Defect List 3 Causal Analysis Feedback Improvements This shows the relationship of the (application of) process to the products. NOTE: The Quality of Measurement Process refers to changes in the execution of the process. Problem Solving * Same Exit Criteria for product creation and validation Product1: Product produced by process Product2: Product with identified defects removed © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

11 Software Inspection Methodology
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Software Inspection Methodology This methodology has been found to work effectively in conjunction with all development techniques and languages with which it has been involved over the last 20 years. You should expect it to work well with whatever techniques and languages you are now using. The inspection process was successfully translated at Douglas Aircraft Company and used on engineering drawings on the MD-11. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

12 The Software Inspection Process
Code Inspection - Inspectors' Training <CIIT.ppt> The Software Inspection Process 7/20/2018 Formal Process Definition Formal Process Definition Measurement A B Objective: Make Product Objective: Measurement Entry Criteria Exit * Criteria Entry Criteria Exit * Criteria Function/ Process Fagan Inspection Process Improvement Objective: Process Improvement Exit Criteria Entry Criteria Customer Feedback Function: l Analysis l Create Process Change C * Same Exit Criteria for product creation and validation © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

13 An Operational Definition of Entry/Exit Criteria
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 An Operational Definition of Entry/Exit Criteria Operationally, Entry/Exit Criteria can be determined by asking about the completeness and accuracy of the process input/output. Completeness is the set of statements defining all of the items that make up a finished document. Accuracy, the standards of acceptance, is a combination of: the definitive source of information, conditions, or rules for data found in the document (content). how that information is to be formatted or depicted (form). The purpose of exit criteria is to define quality. Without a definition of quality, quality cannot be measured. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

14 More Definitions of Exit Criteria
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 More Definitions of Exit Criteria Exit criteria answers the questions: "How do I know when I am finished with a task?” "How can I show I've done it right?” Characteristics of Exit Criteria A list of items that must be contained in a work product (SoA: one typed page). Each item has a "Standard of Acceptance (SoA)" associated with it. An SoA states the attributes (properties) of each item. An SoA states the acceptability of each item in a binary manner thereby allowing peers to objectively judge whether it has been met. Each SoA must have an associated detailed reference so that someone could be shown that the standard was in fact met. Should be agreed to by the next step’s workers [customer(s)]. Be prepared to explain how Exit Criteria relate to: 1. a section of 2167A (e.g., preliminary design) 2. a DID © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

15 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Exit Criteria 1. Items in Product, and Standards of Acceptance for each item 2. Product-requirements Example for Items in Product: My Presentations 1. Copyright (SoA: Legally correct; in PowerPoint or Word template) 2. Version information: Version number & Date; “File name”-Page# 3. Title (SoA: one or two lines; 36 pt; centered) 4. Amount of material (SfA: max 18 lines of 24pt text with no graphics): - 2-5 Major topics (one line; No bullet) - 2-5 Bullets on 3-4 major bullets with l - 2-5 Sub-bullets on 3-4 sub-bullets with dash lead-in 5. One or two graphics (SoA: not interfering with text or replacing text lines) © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

16 Formal Process Definition
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Formal Process Definition © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

17 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 ETVX OOPs OK OK OK Entry Validate Exit Task OOPs Entry Task Validate Exit OOPs OK Inspection Criteria © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

18 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Software Inspection Measurement Formal Process Definition Measurement A B Objective: Make Product Objective: Measurement Entry Criteria Exit * Criteria Entry Criteria Exit * Criteria Function/ Process Fagan Inspection Process Improvement Objective: Process Improvement Exit Criteria Entry Criteria Customer Feedback Function: l Analysis l Create Process Change C * Same Exit Criteria for product creation and validation © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

19 Objective of Inspection
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Objective of Inspection TO FIND EVERY DEVIATION FROM THE EXIT CRITERIA Exit criteria are the work requirements of the process that the work product must meet Each deviation from requirements is a defect © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

20 Purposes of Inspection
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Purposes of Inspection Find defects immediately after they are caused Reduce total defect rework to a minimum Reduce the schedule impact of defect rework on subsequent life cycle processes Measure product quality (Exit Criteria) Determine whether a process has been completed Give real measurements against project management check points Provide early data for improvement of the software process Provide the software author with the quickest feedback on defects, how to recognize and avoid them in the future Note: Early data for improvement of software process means being able to fix the process in progress as opposed to follow-on activities such as causal analysis for process improvement. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

21 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 What Is a Defect? An instance of non-conformance with the initiating requirements, standards, or exit criteria Can exist in the accuracy/completeness of requirements, standards, and associated interface/reference documents Identified by team consensus during inspection meeting based on requirements/standards © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

22 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Defect Categories Severity a. Major A Condition that causes an operational failure, malfunction, or prevents attainment of an expected or specified result Information that would lead to an incorrect response or misinterpretation of the information by the user An instance of non-conformance that would lead to a discrepancy report if implemented as is b. Minor A violation of standards, guidelines, or rules, but would not lead to a discrepancy report Information that is undesirable but would not cause a malfunction or unexpected results (bad workmanship) Information that, if left uncorrected, may decrease maintainability © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

23 Defect Categories (continued)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Defect Categories (continued) Class a. Missing Information that is specified in the requirements or standard, but is not present in the document b. Wrong Information that is specified in the requirements or standards and is present in the document, but the information is incorrect c. Extra Information that is not specified in the requirements or standards but is present in the document Type Describes what kind of areas the inspection document has defects in (often an “-illity”; e.g. grammar, syntax) Inspection teams should define and tailor the classes to the work product. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

24 Defect Categories (continued)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Defect Categories (continued) Defect Categories Severity Class Type Major Minor Missing Wrong Extra Clarity Data Usage Interface Reliability l © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

25 Major Defect Definition
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Major Defect Definition In Code: A condition in code or documentation that could cause a malfunction or a deviation from specified or expected results, i.e., operational failure. Minor Defect Definition In Code or Design: A design or coding instance that is a violation of standards or conventions that would not result in a test or user reported defect, if not corrected. It could cause difficulties in maintenance or clarity of purpose. In Documents: A header, caption, prose or diagram instance that is a violation of standards or conventions that would not result in a test or user reported defect, if not corrected. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

26 Inspectors and Their Roles
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Inspectors and Their Roles All roles have the common objective of verifying that the product satisfies the exit criteria (or, identifying defects) Each role has a different function in inspections 1. Moderator 2. Author (Writer, Analyst, Designer, Coder, etc.) 3. Reader 4. Tester © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

27 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Inspection Team Roles Moderator Leads the inspection team Author Originates/reworks the document Reader (also an analyst, designer, coder, etc.) Paraphrases/interprets the document expresses his/her understanding does NOT actually read Tester Considers testability, traceability, requirements, standards and external interactions All roles verify conformance with the exit criteria. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

28 The Seven Step Inspection Process
Code Inspection - Inspectors' Training <CIIT.ppt> The Seven Step Inspection Process 7/20/2018 STEP OBJECTIVE 1. Planning - Materials meet inspection entry criteria - Assign Inspector roles - Schedule meeting time/place for steps 2, 4 & 5 2. Overview - Educate inspection team. Provide work product background, context, rationale, etc. 3. Preparation - Prepare to fulfill role - Completely understand document from role's perspective 4. Inspection - Identify, classify and record defects - No solutions or improvements 5. Inspection - Review/analyze inspection steps for Analysis improvement - Identify defect causes - Recommend process improvements 6. Rework - Correct ALL defects 7. Follow-Up - Ensure all defects identified are corrected - Ensure no new defects are introduced © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

29 Code Inspection - Inspectors' Training <CIIT.ppt>
Software Inspection 7/20/2018 Meets Entry Criteria for Inspection? Yes Planning Overview Preparation Rework Follow-Up Seven Step Process as Outlined by Fagan Defect Log Summary Report Meets Exit Criteria for the work? No Inspection Analysis Process Improvement Recommendations © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

30 Inspection Team - Moderator
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Inspection Team - Moderator Moderator Manages the entire Process Manages the inspection meeting - Discussion leader? Facilitator? - Controls order of participation - Fills out the paperwork; “Holds the pen” Is technically competent - Could have developed work product being inspected Stimulates participation of all team members Consensus driver (defect, and where, or ...) Ensures that team follows inspection process © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

31 Inspection Team - Author
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Inspection Team - Author Author Originator of work product being inspected Has vested interest in ensuring that all defects are found Provides inspection team with overview of work product Actively participates in Inspection Meeting Confirms reader and tester understanding © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

32 Inspection Team - Reader
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Inspection Team - Reader Reader Recipient of work product being inspected Obtains complete understanding of the document Determines the path to be followed through the document Paraphrases and interprets the document © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

33 Inspection Team - Tester
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Inspection Team - Tester Tester Completely understand the inspection document Considers testability Ensures that document complies with requirements and standards Describes test approaches Addresses all external interactions - control and data © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

34 Formal Inspection Process Stages and People
Code Inspection - Inspectors' Training <CIIT.ppt> Formal Inspection Process Stages and People 7/20/2018 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

35 Other Inspection Constraints
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Other Inspection Constraints Maximum time allotted for the inspection meeting is 2 hours Over and above the four roles described, two additional "INSPECTORS" may participate; all must prepare and participate, usually as Reader (perhaps diagram interpreter) Tester (with special focus) Maximum of 6 participants allowed in inspection meeting Management is not invited © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

36 The Seven Step Inspection Process Step 1 Planning
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 1 Planning Objective: Ensure document meets inspection entry criteria Roles Involved: Author, Moderator Responsibilities: Moderator ensures that document meets the inspection entry criteria and that all supporting documentation is available Depending on the size of the document, the moderator may need to schedule several inspection meetings (chunking) Author and moderator select inspection team and determine roles Moderator schedules overview and inspection meetings and sends out meeting notices © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

37 The Seven Step Inspection Process Step 2 Overview
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 2 Overview Objective: Obtain shared understanding, enable efficient preparation Roles Involved: Inspection Team Responsibilities: Moderator chairs the meeting and assigns roles Author gives presentation, briefing team on document background, purpose, design rationale, etc. (i.e. a fast walkthrough) Inspection team should understand their role and ask questions from the role's perspective to clarify and enhance understanding of the document Moderator distributes inspection materials and records overview hours © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

38 The Seven Step Inspection Process Step 3 Preparation
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 3 Preparation Objective: Enable effective participation in inspection meeting Roles Involved: Entire Inspection Team Responsibilities: Team members become completely familiar with requirements, standards, exit criteria, and other relevant documentation Team members individually review, study, and understand document Note possible defects on the document and prepare for discussion at the inspection meeting (prepare to fulfill role) Moderator must consider how to bring team into discussion in meeting Reader makes notes about path taken through code, prose, or diagram so s/he can repeat it in the meeting Tester makes notes about interfaces, source requirements, traceability, ..., and possible testing approaches, etc. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

39 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 The Seven Step Inspection Process Step 4 Inspection - Establish Preparedness Inspection Objective: Identify, classify, and record document defects Roles Involved: Inspection Team Responsibilities: Moderator records inspection start time Moderator ensures adequacy of preparation time If inadequate preparation by team, moderator cancels and reschedules inspection meeting Moderator records team members preparation times © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

40 Code Inspection - Inspectors' Training <CIIT.ppt>
The Seven Step Inspection Process Step 4 Inspection - Inspecting the Product 7/20/2018 Reader proceeds through the document paraphrasing and interpreting the document’s contents All team members participate in defect discovery and ensure document complies with project standards (meets exit criteria) Tester describes test approach, requirements trace, etc. and confirms external interface connections Author confirms the reader's and tester's understanding Moderator keeps team focused on the product (downplays interpersonal issues) Moderator maintains adequate iteration between reader/author/tester, not allowing reader to go too far too fast Moderator invites the phantom inspector (team synergy) Moderator allows only defect identification, not correction Moderator drives the defect identification to consensus All inspection team members agree on severity, type, class of defect Moderator records defect on defect list & issues on “action item” list © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

41 Code Inspection - Inspectors' Training <CIIT.ppt>
The Seven Step Inspection Process Step 4 Inspection - Concluding the Meeting Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Document has been completed or 2 hours is up Moderator and inspection team determine product disposition No defects identified, product deliverable to “customer” Defects identified, some rework required (small amounts of change), product available to “customer” after author/moderator follow-up Defects identified, rework required, partial reinspection required, reinspect rework only Defects identified, major rework required, reinspect entire document Moderator records inspection meeting time on inspection summary Moderator requests inspection process improvement suggestions Moderator notes any software process improvement suggestions offered Moderator records estimated rework time (offered by author) © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

42 The Seven Step Inspection Process Step 5 Inspection Analysis
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 5 Inspection Analysis Inspection Analysis Were preparation and inspection rates within limits of recommended rates? Was team synergy adequate? What would you do to improve your next inspection? Planning Overview Preparation Inspection Defect Analysis for Defect Cause Removal Were systemic problems in the software process identified? Issues noted? Recommendations noted? For each major defect: Cause is systemic or mis-execution? Process change recommended? Action required? © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

43 The Seven Step Inspection Process Step 6 Rework
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 6 Rework REWORK Objective: Remove defects Role Involved: Author Responsibilities: Author utilizes the defect list and any notes he recorded during the meeting Author corrects ALL defects documented in the inspection meeting Author determines if scope of rework increased sufficiently to justify reinspection Author records actual rework time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

44 The Seven Step Inspection Process Step 7 Follow-Up
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 The Seven Step Inspection Process Step 7 Follow-Up Objective: Verify defect removal; Ensure no new defects introduced Roles Involved: Author/Moderator Responsibilities: Moderator reviews corrected defects with author, ensures all defects identified are corrected, conform to standards, meet exit criteria and product requirements Moderator ensures that no new defects were introduced as the result of the rework Moderator determines if scope of rework increased sufficiently to justify reinspection Moderator signs off on reworked document Moderator publishes inspection summary report © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

45 Software Inspection Perspectives
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Software Inspection Perspectives Seven-Step Inspection Method Process Map Inspectors Roles by Process Step Moderator’s Author’s Reader’s Tester’s © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

46 SEVEN-STEP INSPECTION METHOD PROCESS MAP (1 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (1 of 7) Step 1 Planning Gather and Copy Inspection Materials For Inspectors No Bypass Overview Meeting ? Schedule Overview Meeting. Notify Team Members Complete, Reasonable Quality Level ? Yes No Yes Rework Complete ? Yes Reinspection ? Select Team; Determine Roles Review Inspection Document Prepare And Submit Inspection Documents No No Yes STEP 2 Overview Confirm Roles 4 1 From Page 7 Go To Page 2 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

47 SEVEN-STEP INSPECTION METHOD PROCESS MAP (2 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (2 of 7) Step 2 Overview Step 3 Preparation Verify Understanding Of Design Problem, Intent, Or Solution Discuss Role Responsi- bilities, Answer Questions Distribute Inspection Material To Inspectors Record Overview Meeting Time Confirm / Schedule Inspection Meeting STEP 4 Inspection Review Inspection Materials, Make Notes To Ask Questions About Possible Defects And Enhance Participation At The Meeting, Note Preparation Time Verbally Present Design Problem, Intent, Or Solution Of Material To Be Inspected Ask Questions To Clarify Design Problem, Intent, Or Solution Of Material To Be Inspected Ask Questions To Clarify Inspector Roles Study And Understand Document To Fulfill Role Verbally Commit To Fulfill Role Assignments 1 From Page 1 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

48 SEVEN-STEP INSPECTION METHOD PROCESS MAP (3 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (3 of 7) Step 4 Inspection Record Inspection Start Time Record Preparation Time 2 Hours Up? Inspection Complete ? No Asks Tester To Describe Test Approach, Validate Linkages Checked Possible Defect ? Yes A Yes No Validates Readers Interpretation Of The Document Team Discusses Question, Looks Up And Cites Standard Or Requirement From Which The Document Deviates, Consensus On Defect Present Questions About Possible Defects Describe Document's Implementation, Lead Team Through Document Confirms Understanding Of Material Presented Describes Test Approach 2 3 Go To Page 5 From Page 4 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

49 SEVEN-STEP INSPECTION METHOD PROCESS MAP (4 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (4 of 7) Step 4 Inspection (continued) Defect In Inspection Document ? Yes Defect In Other Document ? Note Issues For Discussion Later Record Defect Yes All Parts Of Document Covered ? Yes A B Team Identifies Defect As Missing, Wrong, Or Extra Categorizes Defect as Major Or Minor Notes Location And Determines Class No No No 3 Go To Page 3 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

50 SEVEN-STEP INSPECTION METHOD PROCESS MAP (5 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (5 of 7) Step 4 Inspection (continued) Yes Record Total Inspection Time STEP 5 Inspection Analysis B Issues Noted ? Record Issues All Issues Covered ? Yes Yes Significant Rework ? Recommend Reinspection No No No Develop Problem Statement, Note Any Possible Cause Team Discusses Required Rework 2 From Page 3 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

51 SEVEN-STEP INSPECTION METHOD PROCESS MAP (6 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (6 of 7) Step 5 Inspection Analysis Step 6 Rework Change Recommended ? Yes More Issues/ Defects ? No Complete Inspection Issue Form Recommend Change - Process (Systemic Defects), Standards, Exit Criteria, Requirements, Other Related Documents No Yes Review Inspection Process Steps 1 - 5 Recommend Changes To Improve Review Issues Noted In Inspection Meeting & Major Defects Recorded Rework Document STEP 7 Follow-Up Record Time 5 From Page 7 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

52 SEVEN-STEP INSPECTION METHOD PROCESS MAP (7 of 7)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 SEVEN-STEP INSPECTION METHOD PROCESS MAP (7 of 7) Step 7 Follow-Up Additional Rework ? No Fill Out And Sign Inspection Summary Sheet For Actual Rework And Follow-Up Time Copy And Distribute Summary Sheets, Defect Log Sheets,And Issue Forms Significant Rework (Either Known Or Discovered) ? No STOP Verify Correction Of Defects And Conformance To Standards Ensure Correction Did Not Cause Other Defects Yes Yes 5 4 Go To Page 1 Go To Page 6 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

53 Moderator's Role by Process Step
Code Inspection - Inspectors' Training <CIIT.ppt> Moderator's Role by Process Step 7/20/2018 STEP Planning RESPONSIBILITY Inspection entry criteria have been met, the work product is complete and of a reasonable quality level Rework has been completed for a reinspection Inspection team selected and roles assigned Overview scheduled, if applicable Inspection meeting scheduled Inspection package compiled (work product, standards, requirements, exit criteria, defect type list, etc.) Inspection Announcement sent out © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

54 Fagan’s Inspections <FIforDocV3.ppt>
Moderator's Role by Process Step STEP Overview RESPONSIBILITY Planning (administrative) time recorded Conduct overview meeting Ensure inspection team obtains common understanding of the work product Ensure each team member understands role and responsibility Record overview time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

55 Moderator's Role by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Moderator's Role by Process Step (cont.) STEP Preparation RESPONSIBILITY Study and understand work product to guide/coach both reader and tester Complete individual preparation log Prepare for inspection moderator role (get the most from the team) Note preparation time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

56 Moderator's Role by Process Step (cont.)
Inspection [meeting] RESPONSIBILITY Lead inspection meeting Record inspection start time Record individual preparation time; if inadequate, reschedule inspection meeting Ensure focus of meeting remains on identifying defects Ensure that the reader proceeds at an appropriate pace and all inspectors participate Ensure each inspector fulfills the role assigned Ensure defects identified are categorized by severity, type, and class based on team consensus © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

57 Moderator's Role by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Moderator's Role by Process Step (cont.) STEP Inspection (cont.) RESPONSIBILITY Record work product issues where team consensus cannot be reached Record non-product issues as identified Ensure maximum meeting time is not exceeded (2 hours) Ensure the entire work product is inspected (or 2 hour limit reached) Ensure inspection defect list is complete and accurate Review all issues recorded and record any resolutions Assign action items for all unresolved issues Determine need for reinspection Record total inspection time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

58 Moderator's Role by Process Step (cont.)
Inspection (after) RESPONSIBILITY Obtain estimate for rework from author Complete detailed inspection report Collect all forms and maintain records of inspection © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

59 Moderator's Role by Process Step (cont.)
Inspection Analysis RESPONSIBILITY Schedule meeting as soon after inspection as possible Invite appropriate inspection team members, subject matter experts, and individuals from the areas affected by issues (decision makers) Conduct meeting Seek group recommendations for improvement of the software inspection process based on analysis of the results of inspection steps 1 - 5 © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

60 Moderator's Role by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Moderator's Role by Process Step (cont.) STEP Inspection Analysis (cont.) RESPONSIBILITY Review each unresolved issue, drive for resolution, assign action items for unresolved issues Review each major defect recorded and attempt to determine its cause (systemic) For systemic defects, seek recommendations for improvement of the software development process For each change recommended, complete an inspection issue form for evaluation in the Process Improvement step. Review action items assigned and changes recommended © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

61 Moderator's Role by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Moderator's Role by Process Step (cont.) STEP Rework Follow-Up RESPONSIBILITY Assure that work product issues/action items are resolved and communicated to the author in a timely manner Meet with author Verify that all defects were corrected and no new defects were introduced as a result of the change Assure that corrections conform to project standards and product exit criteria Determine if the rework was significant enough to cause a need for a reinspection Complete and distribute the inspection summary report File completed inspection package © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

62 All Inspectors' Roles by Process Step
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 All Inspectors' Roles by Process Step STEP Planning Overview Preparation RESPONSIBILITY Allocate time for inspection meeting(s) Attend overview meeting Ask questions to clarify understanding of the work product Study work product to gain understanding, and to fulfill role Review work product against standards, exit criteria, requirements, and other documents provided in the inspection package Complete individual preparation log noting questions and any possible defects Record preparation time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

63 All Inspectors' Roles by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> All Inspectors' Roles by Process Step (cont.) 7/20/2018 STEP Inspection Inspection Analysis Rework Follow-up RESPONSIBILITY Attend inspection meeting Fulfill assigned role Ask questions to assure understanding of the work product Remain focused on finding defects Evaluate the work product, not the author Accept action items to resolve issues Attend meeting as required by moderator Suggest solutions to correct defects Resolve issues, accept action items Recommend process changes None © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

64 Author's Role by Process Step
Code Inspection - Inspectors' Training <CIIT.ppt> Author's Role by Process Step 7/20/2018 STEP Planning Overview Preparation RESPONSIBILITY Provide work product to be inspected, and all associated material for inspection package to the moderator Review material with moderator Work with moderator and team lead to select inspection team Prepare for overview, if applicable Present background information, design intent, problem, solution, etc., on the work product Answer questions presented by inspection team Provide moderator with time expended in preparation for overview Prepare for inspection as a peer inspector Record preparation time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

65 Author's Role by Process Step (cont.)
Code Inspection - Inspectors' Training <CIIT.ppt> Author's Role by Process Step (cont.) 7/20/2018 STEP Inspection Inspection (after) Inspection Analysis Rework RESPONSIBILITY Provide moderator with preparation time Confirm reader's paraphrasing, interpretation, or presentation of the work product Confirm tester’s understanding of interfaces and approaches to testing Provide answers to inspector's questions Fulfill role of peer inspector Provide moderator with estimated time to correct defects Participate in meeting when requested by moderator and provide clarification as required Correct all defects Ensure that all work product related issues/action items are resolved/closed Record actual rework time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

66 Author's Role by Process Step (continued)
Code Inspection - Inspectors' Training <CIIT.ppt> Author's Role by Process Step (continued) 7/20/2018 STEP Follow-Up RESPONSIBILITY Meet with moderator Confirm for each defect and that the changes correct the defect Verify that changes do not introduce additional defects Determine with the moderator if changes were significant enough to indicate a need for reinspection Provide moderator with actual rework time © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

67 Reader's Role by Process Step
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Reader's Role by Process Step STEP Preparation Inspection All other steps RESPONSIBILITY Prepare to paraphrase/interpret the work product in the inspection meeting Determine path to be taken through the work product Perform duties required of all inspectors Guide the inspection team through the work product Paraphrase, confirming understand with the author, tester, and other inspectors Point out areas of difficulty with understanding Relate back to higher level work product as required Fulfill responsibilities of inspector © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

68 Tester's Role by Process Step
Code Inspection - Inspectors' Training <CIIT.ppt> 7/20/2018 Tester's Role by Process Step STEP Preparation Inspection All other steps RESPONSIBILITY Study work product from testability aspect Confirm external interaction, both control and data Prepare to describe test approaches Fulfill responsibilities of inspector Describe test approaches as required Confirm external linkages with reader and author © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE

69 Fagan's Inspections – Expected Results
Informal Summary "Fagan's Inspections for Documents” CONSENSUS definition of DEFECTS Exit Criteria: Their content and their importance Designed, structured team process and roles BASED ON RESULTS DATA Fagan's Inspection (an informal defintion): A "PRIVATE", IN-PROCESS product improvement process. MASTER IT BEFORE MODIFYING IT. © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

70 Fagan's Inspections – Expected Results
What’s coming Informal Summary: "Fagan's Inspections for Documents” Fagan's "Goal Levels" Since 1988 Development Process and Inspections – Flow Chart For context for “Goal Levels” What’s Next Exit Criteria for 1st Assignment Forms for 1st Assignment © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

71 Fagan's "Goal Levels" Since 1988
© USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

72 Development Process and Inspections – Flow Chart
© USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt>

73 Code Inspection - Inspectors' Training <CIIT.ppt>
7/20/2018 Summary Topics Fagan’s continuous process improvement cycle Fagan’s formal process definition including exit criteria Defect categories: Severity, class and type Fagan’s inspection: Seven step process including roles, actions and responsibilities Expected Results – Fagan’s Goals since 1988 Objectives Sufficient knowledge and skills to participate in productive software code inspections Understand the objectives, principles and methods of Fagan’s inspections Skills/knowledge to fulfill an author, reader or tester role: Planning & Organizing a Fagan's Inspection Preparing for a Fagan's Inspection Meeting Participating in a Fagan's Inspection © USC-CSE & A. Winsor Brown BES/MSEE Fagan’s Inspections <FIforDocV3.ppt> © 1996 A. Winsor Brown BES/MSEE


Download ppt "Code Inspection - Inspectors' Training <CIIT.ppt>"

Similar presentations


Ads by Google