Copyright © 1998 Philip M. Johnson (1)‏ Introduction to Formal Technical Reviews Philip Johnson Associate Professor Department of Information and Comp.

Slides:



Advertisements
Similar presentations
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Advertisements

Procedures for CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
Copyright (c) 2003 Howard E. Dow1 Results from Inspecting Test Automation Scripts Howie Dow
Systematic Software Reviews Software reviews are a “quality improvement processes for written material”.
Software Project Management Lecture # 11. Outline Quality Management ( chapter 26 - Pressman )  Software reviews  Formal Inspections & Technical Reviews.
Formal Technical Reviews
Technical Reviews A Presentation By Manuel Richey for EECS 814 November 17 th, 2005.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
CLEANROOM SOFTWARE ENGINEERING
Code Inspections CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 22, 2007.
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
Fundamentals of Information Systems, Second Edition
SE 555 Software Requirements & Specification Requirements Validation.
Verification and Validation
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
S/W Project Management
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Software Inspections and Walkthroughs By. Adnan khan.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
CLEANROOM SOFTWARE ENGINEERING.
Software Reviews. Introduction/Motivation When creating written documents, it is a good idea to have someone else proof read your work. Oftentimes an.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
CSE403 Software Engineering Autumn 2001 Technical Reviews Gary Kimura Lecture #19 November 14, 2001.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Copyright © 1998 Philip M. Johnson (1) Introduction to Formal Technical Reviews Philip Johnson Associate Professor Department of Information and Comp.
Formal and Informal Peer Reviews
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
Avoid Disputes, Not Complaints Presented by: Stuart Ayres and Derek Pullen Stuart Ayres, Scheme Manager Derek Pullen, Scheme Adjudicator.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
(1) Introduction to Software Review Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii.
Reviews and Inspections. Types of Evaluations Formal Design Reviews conducted by senior personnel or outside experts uncover potential problems Inspections.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
Thomas L. Gilchrist Testing Basics Set 5: CM & Peer Reviews By Thomas L. Gilchrist CSQE,CSQA 2009.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CSE403 Software Engineering Autumn 2000 A bit more performance and then Technical Reviews Gary Kimura Lecture #21 November 13, 2000.
Peer Review Presented by : Basker George. Peer ( 同等的人 ) Review( 回顾 ) During the development of software, defects are inevitably ( 不可避免 ) injected. Defect.
More SQA Reviews and Inspections. Types of Evaluations  Verification Unit Test, Integration Test, Usability Test, etc  Formal Reviews  aka "formal.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Quality Control and Quality Assurance: Introduction
CIS 375 Bruce R. Maxim UM-Dearborn
SWE 3643_2016_Lesson_3 PSP Data / Review / Inspection from kindergarten to college SWE 3643 Lesson 3 PSP & Review/Inspection.
Verification and Validation
SWE 3643_2016_Lesson_3 PSP Data / Review / Inspection from kindergarten to college SWE 3643 Lesson 3 PSP & Review/Inspection.
Robson Ytallo Silva de Oliveira
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Applied Software Project Management
QA Reviews Lecture # 6.
WALKTHROUGH and INSPECTION
Software Reviews.
Review & Inspection Process
3. Software Quality Management
Presentation transcript:

Copyright © 1998 Philip M. Johnson (1)‏ Introduction to Formal Technical Reviews Philip Johnson Associate Professor Department of Information and Comp. Sciences University of Hawaii Permission granted to redistribute and modify these materials freely as long as copyright notice is retained.

Copyright © 1998 Philip M. Johnson (2)‏ Objectives Understand the process of FTR. Understand the goals and benefits of FTR.

Copyright © 1998 Philip M. Johnson (3)‏ Outline Basic Review Principles A “Generic” Inspection Process Critical Success Factors for Review

Copyright © 1998 Philip M. Johnson (4)‏ Basic Review Principles

Copyright © 1998 Philip M. Johnson (5)‏ What is Formal Technical Review? A method involving a structured encounter in which a group of technical personnel analyzes or improves the quality of the original work product as well as the quality of the method.

Copyright © 1998 Philip M. Johnson (6)‏ Reviews improve schedule performance. Cost Escalation Model. Defects are much more expensive to fix the later they are discovered. A defect that isn't discovered until testing can be 100 times more expensive to repair than if it had been discovered during a review. Why review? We test! ReqDesignCodeTest RR R

Copyright © 1998 Philip M. Johnson (7)‏ Reviews reduce rework. Rework accounts for 44% of dev. cost! Reqs (1%), Design (12%), Coding (12%), Testing (19%) ‏ Reviews are more productive than testing. Find more errors in the same amount of time. Reviews are more effective than testing. Find errors not possible through testing. Reviews are training. Domain, corporate standards, group. Why review? We test!

Copyright © 1998 Philip M. Johnson (8)‏ Why review? Who benefits? Formal technical review provides: Defect information to the author. Information on work product and development to peers. Fault likelihood data to testers. Product status to management. Process status to SPI group.

Copyright © 1998 Philip M. Johnson (9)‏ True FTR is well-defined Well-defined process Phases (orientation, etc.) ‏ Procedures (checklists, etc.) ‏ Well-defined roles Moderator, Reviewer, Scribe, Author, etc. Well-defined objectives Defect removal, requirements elicitation, etc. Well-defined measurements Forms, consistent data collection, etc.

Copyright © 1998 Philip M. Johnson (10)‏ FTR is effective quality improvement Reviews can find % of all defects. Reviews are technical, not management. Review data can assess/improve quality of: work product software development process review process Reviews reduce total project cost, but have non-trivial cost (~15%) ‏ Upstream defect removal is times cheaper. Reviews disseminate domain knowledge, development skills, and corporate culture.

Copyright © 1998 Philip M. Johnson (11)‏ Industry Experience with FTR Aetna Insurance Company: FTR found 82% of errors, 25% cost reduction. Bell-Northern Research: Inspection cost: 1 hour per defect. Testing cost: 2-4 hours per defect. Post-release cost: 33 hours per defect. Hewlett-Packard Est. inspection savings (1993): $21,454,000 IBM (using Cleanroom) ‏ C system software No errors from time of first compile.

Copyright © 1998 Philip M. Johnson (12)‏ Who, What, and When Who decides what should be reviewed? Senior technical personnel, project leader What should be reviewed? Work products with high impact upon project risks. Work products directly related to quality objectives. “Upstream” work products have higher impact. When should review be planned? Specify review method and target work products in software development plan/quality plan.

Copyright © 1998 Philip M. Johnson (13)‏ The range of review practice TekInspect Development Method Non-CleanroomCleanroom FTRinFTR Code Inspection (Fagan76)‏ Inspection (Gilb93)‏ 2-Person Inspection (Bisant89)‏ N-Fold Inspection (Martin90)‏ Walkthrough (Yourdon89)‏ Verification- based Inspection (Dyer92)‏ Active Design Reviews (Parnas85)‏ FTArm (Johnson94)‏ ICICLE (Brothers90)‏ Scrutiny (Gintell93)‏ CAIS (Mashayekhi94)‏ ManualTool-Based Code Reading (McConnell93)‏ Software Review (Humphrey90)‏ Phased Insp. (Knight93)‏

Copyright © 1998 Philip M. Johnson (14)‏ Families of Review Methods Walkthroughs Minimal overhead Developer training Quick turnaround Requirements elicitation Ambiguity resolution Training Method FamilyTypical GoalsTypical Attributes Little/no preparation Informal process No measurement Not FTR! Technical Reviews Team authorship Formal process Author presentation Wide range of discussion Inspections Detect and remove all defects efficiently and effectively. Single author Formal process Checklists Measurements Verify phase

Copyright © 1998 Philip M. Johnson (15)‏ An Exemplary “Generic” Inspection Process

Copyright © 1998 Philip M. Johnson (16)‏ The “Generic” Inspection Process Choose team, materials, dates. Present product, process, goals. Check product, note issues. Consolidate issues. Correct defects. Verify product/process quality Preparation Orientation Planning Review Meeting Rework Verify

Copyright © 1998 Philip M. Johnson (17)‏ Planning Objectives Gather review package: work product, checklists, references, and data sheets. Form inspection team. Determine dates for meetings. Procedure Moderator assembles team and review package. Moderator enhances checklist if needed. Moderator plans dates for meetings. Moderator checks work product for readiness. Moderator helps Author prepare overview. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (18)‏ Example Planning Data

Copyright © 1998 Philip M. Johnson (19)‏ Orientation Objectives Author provides overview. Reviewers obtain review package. Preparation goals established. Reviewers commit to participate. Procedure Moderator distributes review package. Author presents overview, if necessary. Scribe duty for Review Meeting assigned. Moderator reviews preparation procedure. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (20)‏ Example Orientation Data

Copyright © 1998 Philip M. Johnson (21)‏ Preparation Objectives Find maximum number of non-minor issues. Procedure for reviewers: Allocate recommended time to preparation. Perform individual review of work product. Use checklists and references to focus attention. Note critical, severe, and moderate issues on Reviewer Data Form. Note minor issues and author questions on work product. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (22)‏ Example Issue Classification Critical Defects that may cause the system to hang, crash, produce incorrect results or behavior, or corrupt user data. No known work-arounds. Severe Defects that cause incorrect results or behavior with known work-arounds. Large and/or important areas of the system is affected. Moderate Defects that affect limited areas of functionality that can either be worked around or ignored. Minor Defects that can be overlooked with no loss of functionality.

Copyright © 1998 Philip M. Johnson (23)‏ Example checklist

Copyright © 1998 Philip M. Johnson (24)‏ Example references Corporate standards: Procedure for Software Quality Plans Exemplary documents: Foo System Software Quality Plan High quality reference texts: Software Quality: Concepts And Plans, Ch. 13 (Plan following an industrial model), Robert Dunn. On-line resources:

Copyright © 1998 Philip M. Johnson (25)‏ Example Preparation Data

Copyright © 1998 Philip M. Johnson (26)‏ Why not write on the work product? Advantages of Reviewer Data Sheet: Minor issues are “pre-filtered” from review meeting, saving meeting time. Reviewers articulate issues clearly during preparation, saving meeting time. Preparation statistics gathering simplified. Preparation effectiveness (% true defects, % redundancy) and checklist effectiveness is measurable. Issues can be presented in order of importance. Data sheet indicates effectiveness of checklists.

Copyright © 1998 Philip M. Johnson (27)‏ Why not write on the work product? Disadvantages of Reviewer Data Sheet: Requires extra time (15 minutes?) ‏ Discourages last minute preparation. Makes quality of preparation more visible.

Copyright © 1998 Philip M. Johnson (28)‏ Review Meeting Objectives Create consolidated, comprehensive listing of non- minor issues. Provide opportunity for group synergy. Improve reviewing skill by observing others. Create shared knowledge of work product. Procedure Moderator requests issues sequentially. Reviewers raise issues. Scribe notes issues on Scribe Data Sheet. Scribe Data Sheet is visible to everyone. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (29)‏ Example Review Meeting Data

Copyright © 1998 Philip M. Johnson (30)‏ Rework Objectives Assess each issue, determine if it is a defect, and remove it if necessary. Produce written disposition of non-minor issue. Resolve minor issues as necessary. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (31)‏ Rework (cont.) ‏ Procedure Author obtains Scribe Data Sheet containing consolidated issues list as well as copies of work products. Author assesses each issue and notes action taken using Author Data Sheet. Author determines the ‘type’ of each defect (reqs/spec/design/imp, etc.) ‏ When finished Author provides Author Data Sheet and reworked product to Moderator to Verify.

Copyright © 1998 Philip M. Johnson (32)‏ Example Rework Data

Copyright © 1998 Philip M. Johnson (33)‏ Verify Objectives Assess the (reworked) work product quality. Assess the inspection process. Pass or fail the work product. Procedure for moderator: Obtain reworked product and Author Data Sheet. Review work product/data sheet for problems. Provide recommendation for work product. Perform sign-off with reviewers. Compute summary statistics for inspection. Generate any process improvement proposals. Enter review data into quality database. PlanningOrientationPreparationReview Mt.ReworkVerify

Copyright © 1998 Philip M. Johnson (34)‏ Example Verify Data

Copyright © 1998 Philip M. Johnson (35)‏ Inspection Critical Success Factors

Copyright © 1998 Philip M. Johnson (36)‏ Critical Success Factor: Checklists Checklists guide reviewers to areas prone to defects. Checklists may be stated as a yes/no question: “Are all strings null terminated?” Checklists can also stimulate mental modelling: “After a fork, what happens if a child exits immediately?” Checklists should be combined with general analysis. Don’t trust checklists to be comprehensive! Checklists are specific to work product type and development phase.

Copyright © 1998 Philip M. Johnson (37)‏ Critical Success Factor: Effective Preparation Effective preparation requires both: Comprehension: the nature of the entire document. Analysis: inter-document consistency and adequacy. Focus on: What is present but not adequate. What is missing but should be there. What unique skills and experiences can you bring to bear on the work product? Allocate enough time to prepare! Make multiple passes over document. Let it “sit overnight”. Don’t prepare right before the review.

Copyright © 1998 Philip M. Johnson (38)‏ Critical Success Factor: Measurement The goal of Inspection is to detect and remove all defects efficiently and completely. We measure: Time spent on each phase. Number of issues of each type discovered. Utility of review meeting, checklists, etc. Analysis over time suggests: New and better checklist items. Improvements to inspection process,by identifying poor quality review. Improvements to software development process, by identifying poor quality work products. Improvements to standards.

Copyright © 1998 Philip M. Johnson (39)‏ Critical Success Factor: The moderator Indicators of effective inspection moderators: Work products are inspected when ready. Meeting dates are aggressive but do-able. Author overviews are useful or omitted. Checklists and reference materials are useful. Review meeting focuses on issue detection. Author does not feel threatened. Rework is verified carefully. Improvements to inspection and software development process are discovered. Participants feel the method effectively improved quality. Everyone wants to do it again!

Copyright © 1998 Philip M. Johnson (40)‏ Further references Software Inspection, Tom Gilb and Dorothy Graham, Addison-Wesley, The WWW FTR Archive, Software Inspection: An Industry Best Practice, David Wheeler, Bill Brykczynski, and Reginald Meeson. (For PSP) A Discipline for Software Engineering, Watts Humphrey, Addison-Wesley, 1995.