Lecture 9: Inspections & Reviews

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

Copyright (c) 2003 Howard E. Dow1 Results from Inspecting Test Automation Scripts Howie Dow
Software Project Management Lecture # 11. Outline Quality Management ( chapter 26 - Pressman )  Software reviews  Formal Inspections & Technical Reviews.
Formal Technical Reviews
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Inspection (c) 2007 Mauro Pezzè & Michal Young Ch 18, slide 1 Photo credit jurvetson on Flickr.com; creative commons attribution license.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
Code Inspections CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 23, 2003.
Overview Lesson 10,11 - Software Quality Assurance
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
OHT 8.1 Galin, SQA from theory to implementation © Pearson Education Limited Review objectives Formal design reviews (FDRs) Participants Preparations.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledge S.
OHT 8.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations.
Feb. 2, 2004CS WPI1 CS 509 Design of Software Systems Lecture #3 Monday, Feb. 2, 2004.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
SE 555 Software Requirements & Specification Requirements Validation.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Software Engineering Process I
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.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations The.
Software Reviews. Introduction/Motivation When creating written documents, it is a good idea to have someone else proof read your work. Oftentimes an.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec21 1 Lecture 21: Process Improvement Basics of Process Modeling.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
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.
Formal and Informal Peer Reviews
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
S Q A.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Finalization; Inspections.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
... there is no particular reason why your friend and colleague cannot also be your sternest critic. --Jerry Weinberg --Jerry Weinberg.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Code Reviews James Walden Northern Kentucky University.
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.
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.
© 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.
Software Engineering Lecture 8: Quality Assurance.
Reviews Chapter 5 Applied Software Project Management, Stellman & Greene See also:
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Software Reviews Ashima Wadhwa.
Review Techniques SEII-Lecture 16
CIS 375 Bruce R. Maxim UM-Dearborn
CSC 480 Software Engineering
SWE 3643_2016_Lesson_3 PSP Data / Review / Inspection from kindergarten to college SWE 3643 Lesson 3 PSP & Review/Inspection.
G&W Chapter 20: Technical Reviews Software Specification Lecture 27
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
Dr. Rob Hasker SE 3800 Note 9 Reviews.
QA Reviews Lecture # 6.
WALKTHROUGH and INSPECTION
Code Reviews Assignment Each team should perform a code review
Presentation transcript:

Lecture 9: Inspections & Reviews Types of Inspection Benefits of Inspection Inspection is more cost effective than testing How to conduct an inspection who to invite how to structure it Some tips © 2001, Steve Easterbrook

Reviews, Inspections, Walkthroughs… Note: these terms are not widely agreed formality informal: from meetings over coffee, to regular team meetings formal: scheduled meetings, prepared participants, defined agenda, specific format, documented output “Management reviews” E.g. preliminary design review (PDR), critical design review (CDR), … Used to provide confidence that the design is sound Attended by management and sponsors (customers) Usually a “dog-and-pony show” “Walkthroughs” developer technique (usually informal) used by development teams to improve quality of product focus is on finding defects “(Fagan) Inspections” a process management tool (always formal) used to improve quality of the development process collect defect data to analyze the quality of the process written output is important major role in training junior staff and transferring expertise © 2001, Steve Easterbrook

Benefits of formal inspection Source: Adapted from Blum, 1992, Freedman and Weinberg, 1990, & notes from Philip Johnson. Benefits of formal inspection For applications programming: most reviewed programs run correctly first time compare: 10-50 attempts for test/debug approach Data from large projects Data from Bell-Northern Research: Inspection cost: 1 hour per defect. Testing cost: 2-4 hours per defect. Post-release cost: 33 hours per defect. error reduction by a factor of 5; (10 in some reported cases) improvement in productivity: 14% to 25% percentage of errors found by inspection: 58% to 82% cost reduction of 50%-80% for V&V (even including cost of inspection) Effects on staff competence: increased morale, reduced turnover better estimation and scheduling (more knowledge about defect profiles) better management recognition of staff ability © 2001, Steve Easterbrook

Constraints Size Duration Outputs Scope Timing Source: Adapted from Blum, 1992, pp369-373 & Freedman and Weinberg, 1990. Size “enough people so that all the relevant expertise is available” min: 3 (4 if author is present) max: 7 (less if leader is inexperienced) Duration never more than 2 hours concentration will flag if longer Outputs all reviewers must agree on the result accept or re-work or re-inspect all findings should be documented summary report (for management) detailed list of issues Scope focus on small part of a design, not the whole thing Fagan recommends rates: 130-150 SLOC per hour Timing Examines a product once its author has finished it not too soon product not ready - find problems the author is already aware of not too late product in use - errors are now very costly to fix © 2001, Steve Easterbrook

Source: Adapted from Freedman and Weinberg, 1990. Choosing Reviewers Source: Adapted from Freedman and Weinberg, 1990. Possibilities specialists in reviewing (e.g. QA people) people from the same team as the author people invited for specialist expertise people with an interest in the product visitors who have something to contribute people from other parts of the organization Exclude anyone responsible for reviewing the author i.e. line manager, appraiser, etc. anyone with known personality clashes with other reviewers anyone who is not qualified to contribute all management anyone whose presence creates a conflict of interest © 2001, Steve Easterbrook

Roles Formal Walkthrough Review Leader Recorder Reader Author Source: Adapted from Blum, 1992, pp369-373 Formal Walkthrough Review Leader chairs the meeting ensures preparation is done keeps review focussed reports the results Recorder keeps track of issues raised Reader summarizes the product piece by piece during the review Author should actively participate (may be the reader) Other Reviewers task is to find and report issues Fagan Inspection Moderator must be a competent programmer should be specially trained could be from another project Designer programmer who produced the design being inspected Coder/Implementor programmer responsible for translating the design to code Tester person responsible for writing/executing test cases © 2001, Steve Easterbrook

Source: Adapted from Freedman and Weinberg, 1990. Guidelines Prior to the review schedule Formal Reviews into the project planning train all reviewers ensure all attendees prepare in advance During the review review the product, not its author keep comments constructive, professional and task-focussed stick to the agenda leader must prevent drift limit debate and rebuttal record issues for later discussion/resolution identify problems but don’t try to solve them take written notes After the review review the review process © 2001, Steve Easterbrook

Opening Moments 1) Don’t start until everyone is present Source: Adapted from Wiegers 2001. 1) Don’t start until everyone is present 2) Leader announces: “We are here to review product X for purpose Y” 3) Leader introduces the reviewers, and explains the recording technique 4) Leader briefly reviews the materials check that everyone received them check that everyone prepared 5) Leader explains the type of review Note: The review should not go ahead if: some reviewers are missing some reviewers didn’t receive the materials some reviewers didn’t prepare © 2001, Steve Easterbrook

Structuring the inspection Checklist uses a checklist of questions/issues review structured by issue on the list Walkthough one person presents the product step-by-step review is structured by the product Round Robin each reviewer in turn gets to raise an issue review is structured by the review team Speed Review each reviewer gets 3 minutes to review a chunk, then passes to the next person good for assessing comprehensibility! © 2001, Steve Easterbrook

Fagan Inspection Process Source: Adapted from Blum, 1992, pp374-375 Fagan Inspection Process 1 Overview communicate and educate about product circulate materials Rate: 500 SLOC per hour 2 Preparation All participants perform individually review materials to detect defects Rate: 100-125 SLOC per hour 3 Inspection a reader paraphrases the design identify and note problems (don’t solve them) Rate: 130-150 SLOC per hour 4 Rework All errors/problems addressed by author Rate: 16-20 hours per 1000 SLOC 5 Follow-up Moderator ensures all errors have been corrected if more than 5% reworked, product is re-inspected by original inspection team © 2001, Steve Easterbrook

Tactics for problematic review meetings Devil’s advocate deliberate attempt to adopt a contrary position Bebugging put some deliberate errors in before the review with prizes for finding them! Money bowl if a reviewer speaks out of turn, he/she puts 25c into the drinks kitty Alarm use a timer to limit ‘speechifying’ Issues blackboard appoint someone to keep an issues list, to be written up after the review Stand-up review no tables or chairs! Tactics for problematic review meetings © 2001, Steve Easterbrook

References van Vliet, H. “Software Engineering: Principles and Practice (2nd Edition)” Wiley, 1999. Section 13.4 gives a very brief overview of inspections and walkthroughs. Freedman, D. P. and Weinberg, G. M. “Handbook of Walkthroughs, Inspections and Technical Reviews”. Dorset House, 1990. Good practical guidebook, full of sensible advice about conducting reviews. Not so strong on the data collection and process improvement aspects of Fagan inspections, though. Ackerman, A. F. “Software Inspections and the Cost Effective Production of Reliable Software”. From “Software Engineering”, Dorfman & Thayer, eds., IEEE Computer Society Press, 1997. This paper summarizes some of the practical aspects of introducing inspections, including how inspectors are trained. Karl E. Wiegers, "Peer Reviews in Software: A Practical Guide", Addison-Wesley, 2001 Not actually published yet, but some chapters are on the web. We’ll be using the forms from this book for our practical inspection exercise in the tutorials. Blum, B. “Software Engineering: A Holistic View”. Oxford University Press, 1992 Section 5.2 provides one of the best overview of walkthroughs and inspections anywhere. Blum manages to cut through a lot of the confusion about ‘walkthroughs’, ‘inspections’ and ‘reviews’ managing to get to the key issues. © 2001, Steve Easterbrook