Bruce Armstrong TeamSybase

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Test process essentials Riitta Viitamäki,
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Manage Quality
Code Inspections CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 22, 2007.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Software Measurement and Process Improvement
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Design, Implementation and Maintenance
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
KENDA ALBERTSON Formal Peer Review Processes for Software and Documents.
SystematicSystematic process that translates quality policy into measurable objectives and requirements, and lays down a sequence of steps for realizing.
Michael Solomon Tugboat Software Managing the Software Development Process.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Chapter 10.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
CHEP2000 February 2000 Impact of Software Review and Inspection Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
Formal and Informal Peer Reviews
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
Independent User Acceptance Test Process (IUAT)
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
Software Testing Course Shmuel Ur
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
BSBPMG505A Manage Project Quality Manage Project Quality Project Quality Processes Diploma of Project Management Qualification Code BSB51507 Unit.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
Lecture 4 Software Metrics
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
QUALITY ASSURANCE PRACTICES. Quality Plan Prepared and approved at the beginning of project Soft filing system approach followed. Filing location – –
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Adaption of Agile Development Technique Chak Chi Sio 4/21/2010.
Measuring and Estimating Software Defects Loren Stroup UCF EEL6883: Software Engineering II.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Can NASA’s Integrated Product Teams become “Hot Groups” ? Randy Lovell United Space Alliance.
T Iteration Demo Team 13 I1 Iteration
1 One Last Book, One Last Topic Code reviews / software inspections.
CSC 4700 Software Engineering
Child & Youth Management System (CYMS). Silas Atkins and Silvia Sawyer Presenting “Fun with CYMS”
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
1 MIS 2008/2009 Software Project - Group 1 Activity Monitoring Tool 08-quality/ Quality-plan/ Change-control-plan/ Progress-reports/ Templates/ index.htm.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
1 Software Testing and Quality Assurance Motivation and Review of Software Verification & Validation (2)
Continuous Delivery and Quality Monitoring 1 iCSC2016, Kamil Henryk Król, CERN Continuous Delivery and Quality Monitoring Kamil Henryk Król CERN Inverted.
What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's.
CIS 375 Bruce R. Maxim UM-Dearborn
Software Verification and Validation
Different Types of Testing
Code Reviews.
Project Management Process Groups
Quality Measurable characteristic Cyclomatic complexity Cohesion
Applied Software Project Management
Requirements Management - I
Code Reviews Assignment Each team should perform a code review
Presentation transcript:

Bruce Armstrong TeamSybase

Why do code review?  Fewer bugs / improved code quality  Lower support costs to remove bugs  Improves communication between developers  Code is more maintainable  Training of junior developers  Cross-training (bus factor)

Types of code review  Formal Inspection (Fagan, et. al.)  Over the shoulder review  Pass around reviews  Pair Programming  Online tool assisted peer review

Formal Inspection  Pros Highest capture rate / most thorough review Synergy from team environment Assurance that defects are corrected Great deal of metrics are collected Feedback mechanism for code review process  Cons Amount of work / time required is significant Scheduling is difficult Amount of code to review can be daunting Running the gauntlet

Over the shoulder review  Pros Defect capture rate approaching that of formal review Synergy from team environment Less resource intensive than formal review Easier to schedule than formal review  Cons Metrics are rarely collected No guarantee that defects were corrected Amount of code to review can still be daunting May not provide feedback for process improvement Still running the gauntlet

Pass around review  Pros Scheduling is not an issue Much less resource intensive Not running the gauntlet  Cons No metrics are collected No assurance that reviews are actually being done No guarantee that defects were corrected Can be difficult to put review materials together Lower defect capture rate Little synergy No feedback for process improvement

Pair Programming  Pros Greatest amount of cross-training and junior developer training Assurance that defects are corrected Scheduling is not an issue  Cons Greatest amount of resources required The “reviewer” is too close to the code, which can reduce the defect capture rate No feedback for process improvement No metrics No synergy outside of the pair

Online tool based peer review  Pros Scheduling is not an issue Lower amount of resources required Synergy maintained Assurance that defects are corrected Provides cross-training and junior developer training Metrics are captured automatically Not running the guantlet  Cons May not provide feedback into improving process

Review Landing Page

Creating a Review

Submitting objects for review

Review in Process

Code Diff View

Code summary after rework

Code detail after rework

Integration Tool Working Files Source Control System Integration Tool Code Review Tool PowerBuilder IDE

CodeCollab.cs

PVCSAPI.cs

Reviews.cs

Versions.cs

Processing the command line

app.config

Submitting for review

Getting Workfiles – 1 of 4

Getting Workfiles – 2 of 4

Getting Workfiles – 3 of 4

Getting Workfiles – 4 of 4

Submitting Workfiles – 1 of 3

Submitting Workfiles – 2 of 3

Submitting Workfiles – 3 of 3

Registering Submit for Review option for the file type

Questions