SlideShare une entreprise Scribd logo
1  sur  51
The Best Kept Secrets
of Code Review
Jonathan FortunatiPatrick Londa
Your Hosts Today
Justin Collier
Marketing Manager,
Collaborator
Product Owner, Collaborator Sr. Sales Engineer, Collaborator
2009
6.5M+
users
11
22,000+
5 525+
customers
employees
founded global offices
free tools
SmartBear Product Portfolio = Breadth and Depth
4
Design
HipTest
Create Test Monitor
SwaggerHub
LoadUI Pro
LoadNinja
CBT
ServiceV Pro SoapUI Pro
TestComplete
AlertSite
TestLeftZephyr
Collaborator
Agenda
Review Process Recommendations
Code Review Approaches
Why Focus on Code Reviews?
Inside the Code Review
The Current Tool Landscape
1
2
3
4
5
5
Main Sources
Proprietary & Confidential
6
Why Focus on Code Review?
The 2018 State of Code Review
The 2018 State of Code Review
10
Code Review is the #1 Way to Improve Code Quality
According to: The 2018 State of Code Review
The 2017 State of Code Review
The 2016 State of Code Review
The 2018 State of Code Review
10,000-line project with 10 developers
Bugs Remaining = 463
Bugs Remaining = 321
Bugs Remaining = 194
0
50
100
150
200
250
300
350
400
450
500
After Development After QA/Test ($200/fix) After Customer ($1000/fix)
BugsRemainingintheApplication
BEFORE CODE REVIEW
Cost of Fixing Bugs: $174k
+ Cost of 194 Latent Bugs: 194k
Total Cost: $368k
SmartBear Customer Case Study
Bugs Remaining = 463
Bugs Remaining = 180
Bugs Remaining = 113
Bugs Remaining = 32
0
50
100
150
200
250
300
350
400
450
500
After Development After Code Review After QA/Test ($200/fix) After Customer ($1000/fix)
BugsRemainingintheApplication
AFTER CODE REVIEW
10,000-line project with 10 developers
Cost of Fixing Bugs: $120k
+ Cost of 32 Latent Bugs: 32k
Total Cost: $152k
Resulting Savings = $216k
SmartBear Customer Case Study
Code Review Approaches
• Formal Inspections
Types of Code Review Planning
Introductory Meeting
Inspection Meeting
Rework
Verification Meeting
Complete
Follow-Up Meeting
Readers and reviewers
inspect the code privately.
If no defects are found,
review is complete.
If more defects are
found, back to rework.
• Formal Inspections
• Over-the-Shoulder Reviews
Types of Code Review
Preparation
Inspection Meeting
Rework
Complete
• Formal Inspections
• Over-the-Shoulder Reviews
• Email Pass-Around Process
Types of Code Review
Code Check-In
Inspections
Rework
Complete
If no problems, review
fades into “Complete”.
• Formal Inspections
• Over-the-Shoulder Reviews
• Email Pass-Around Process
• Tool-Assisted Reviews
Types of Code Review
• Formal Inspections
• Over-the-Shoulder Reviews
• Email Pass-Around Process
• Tool-Assisted Reviews
• Pair Programming
Types of Code Review
Review Process
Recommendations
• Conduct Reviews Daily
What Works Best:
The 2018 State of Code Review
• Conduct Reviews Daily
• Set Clear Expectations
The 2018 State of Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
*Utilize a checklist of things to
check for at the class, method,
& class-hierarchy levels
Research by Alastair Dunsmoore, Marc Roper, and Murray Wood. (2000)
The Best Kept Secrets of Peer Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
• Go Tool-Assisted
The 2018 State of Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
• Go Tool-Assisted + Meetings
We never perform meeting-based reviews...
28% Satisfied with Code Quality
48% Unsatisfied with Code Quality
The 2018 State of Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
• Go Tool-Assisted + Meetings
Research by Lawrence Votta from AT&T Bell Laboratories. (1993)
Supporting research by Diane Kelly and Terry Shepard. (2003)
Supporting research by Reidar Conradi. (2003)
The Best Kept Secrets of Peer Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
• Go Tool-Assisted + Meetings
• Report on Their Process
The 2018 State of Code Review
What Works Best:
• Conduct Reviews Daily
• Set Clear Expectations
• Go Tool-Assisted + Meetings
• Report on Their Process
• Foster a Learning Culture
What Works Best:
Inside the Code Review
Review Guidelines
• Limit reviews to 60 minute
sessions at most
30
Research by Alastair Dunsmoore, Marc Roper, and Murray Wood. (2000)
The Best Kept Secrets of Peer Code Review
Review Guidelines
• Limit reviews to 60 minute
sessions at most
• Consider shorter function
length to improve readability
3131
Research by Uwano at Nara Institute of Science and Technology. (2006)
The Best Kept Secrets of Peer Code Review
Review Guidelines
• Limit reviews to 60 minute
sessions at most
• Consider limiting function
length to improve readability
3232
Research by Uwano at Nara Institute of Science and Technology. (2006)
The Best Kept Secrets of Peer Code Review
Review Guidelines
• Limit reviews to 60 minute
sessions at most
• Consider shorter function
length to improve readability
3333
Research by Uwano at Nara Institute of Science and Technology. (2006)
The Best Kept Secrets of Peer Code Review
Review Guidelines
• Limit reviews to 60 minute
sessions at most
• Consider shorter function
length to improve readability
• Slow down your reading and
take time to scan
3434
Research by Uwano at Nara Institute of Science and Technology. (2006)
The Best Kept Secrets of Peer Code Review
Ideal Review
• Author annotates their code
prior to reviewers reading
35
Cisco Case Study with SmartBear. (2006)
The Best Kept Secrets of Peer Code Review
Ideal Review
• Author annotates their code
prior to reviewers reading
• 100 – 300 lines of code
36
Cisco Case Study with SmartBear. (2006)
The Best Kept Secrets of Peer Code Review
Ideal Review
• Author annotates their code
prior to reviewers reading
• 100 – 300 lines of code
• Reviewers spend 30-60 minutes
reviewing the code change
37
Cisco Case Study with SmartBear. (2006)
The Best Kept Secrets of Peer Code Review
Goals & Reading Metrics
• Internal Metrics
• Inspection Rate
• Defect Rate
• Defect Density
• Defect Count
• Defect Type and Severity
• External Metrics
• Number of support calls
• Number of bugs injected by Development
Proprietary & Confidential
38
Reviewing Artifacts
39
The 2018 State of Code Review
Reviewing Artifacts
90% of teams are conducting document review of some kind.
35% of respondents are using a tool to do this.
Teams using a tool for reviewing documents are
26% more likely
to be satisfied with their code review process.
40
The 2018 State of Code Review
Review Best Practices
• Conduct reviews daily
• Set clear expectations with checklists
• Conduct tool-assisted reviews + meetings
• Create goals and report on your process
• Foster a learning culture
• Limit reviews to 60 minute sessions
• Shorten function length for readability
• Slow down your reading and take time to scan
• Author annotates code prior to adding reviewers
• 100 – 300 lines of code at a time
• Reviewers should spend 30-60 minutes at a time
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
41
Current Review Tool Landscape
The 2018 State of Code Review
Review Best Practices
• Conduct reviews daily
• Set clear expectations with checklists
• Conduct tool-assisted reviews + meetings
• Create goals and report on your process
• Foster a learning culture
• Limit reviews to 60 minute sessions
• Shorten function length for readability
• Slow down your reading and take time to scan
• Author annotates code prior to adding reviewers
• 100 – 300 lines of code at a time
• Reviewers should spend 30-60 minutes at a time
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
44
Review Best Practices
45
• Conduct reviews daily
• Set clear expectations with checklists
• Conduct tool-assisted reviews + meetings
• Create goals and report on your process
• Foster a learning culture
• Limit reviews to 60 minute sessions
• Shorten function length for readability
• Slow down your reading and take time to scan
• Author annotates code prior to adding reviewers
• 100 – 300 lines of code at a time
• Reviewers should spend 30-60 minutes at a time
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
The 2018 State of Code Review
Review Best Practices
• Conduct reviews daily
• Set clear expectations with checklists
• Conduct tool-assisted reviews + meetings
• Create goals and report on your process
• Foster a learning culture
• Limit reviews to 60 minute sessions
• Shorten function length for readability
• Slow down your reading and take time to scan
• Author annotates code prior to adding reviewers
• 100 – 300 lines of code at a time
• Reviewers should spend 30-60 minutes at a time
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
47
Smart Review Practices
• Set clear expectations with checklists
• Create goals and report on your process
• Author annotates code prior to adding reviewers
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
48
Teams that report on their code
reviews are 5X as likely to be
satisfied with their process
Teams that review documents in
tool are 26% more likely to be
satisfied with their code reviews.
Review Best Practices
49
• Conduct reviews daily
• Set clear expectations with checklists
• Conduct tool-assisted reviews + meetings
• Create goals and report on your process
• Foster a learning culture
• Limit reviews to 60 minute sessions
• Shorten function length for readability
• Slow down your reading and take time to scan
• Author annotates code prior to adding reviewers
• 100 – 300 lines of code at a time
• Reviewers should spend 30-60 minutes at a time
• Verify that defects have been addressed
• Conduct peer reviews on other docs & artifacts
• Maintain review history for long-term success
Reviews in Collaborator
Thank you!

Contenu connexe

Tendances

Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...SmartBear
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management SmartBear
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...Agile Testing Alliance
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextAlexander Kress
 
SharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseSharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseDave Healey
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...SmartBear
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcasejavadch
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle SmartBear
 
Qa role in agile teams
Qa role in agile teamsQa role in agile teams
Qa role in agile teamsAnwar Sadat
 
Getting Started with IT Service Intelligence
Getting Started with IT Service IntelligenceGetting Started with IT Service Intelligence
Getting Started with IT Service IntelligenceSplunk
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsSmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
The Great Lakes: How to Approach a Big Data Implementation
The Great Lakes: How to Approach a Big Data ImplementationThe Great Lakes: How to Approach a Big Data Implementation
The Great Lakes: How to Approach a Big Data ImplementationInside Analysis
 

Tendances (20)

Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
 
AndGen+
AndGen+AndGen+
AndGen+
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
 
Behavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in contextBehavior-Driven Development (BDD) in context
Behavior-Driven Development (BDD) in context
 
SharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseSharePoint and the Lean Enterprise
SharePoint and the Lean Enterprise
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcase
 
Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle Advanced Automation in Your API Lifecycle
Advanced Automation in Your API Lifecycle
 
Qa role in agile teams
Qa role in agile teamsQa role in agile teams
Qa role in agile teams
 
Service Virtualization - Kalpna
Service Virtualization - KalpnaService Virtualization - Kalpna
Service Virtualization - Kalpna
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Getting Started with IT Service Intelligence
Getting Started with IT Service IntelligenceGetting Started with IT Service Intelligence
Getting Started with IT Service Intelligence
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
ATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps CultureATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps Culture
 
The Great Lakes: How to Approach a Big Data Implementation
The Great Lakes: How to Approach a Big Data ImplementationThe Great Lakes: How to Approach a Big Data Implementation
The Great Lakes: How to Approach a Big Data Implementation
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 

Similaire à The Best Kept Secrets of Code Review | SmartBear Webinar

Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for AgileEmma Armstrong
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRizky Munggaran
 
Requirements engineering activities
Requirements engineering activitiesRequirements engineering activities
Requirements engineering activitiesSyed Zaid Irshad
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluationgaoliang641
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdfSpiritsoftsTraining
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa managergaoliang641
 
Building QA Team that matters for an Agile World
Building QA Team that matters for an Agile WorldBuilding QA Team that matters for an Agile World
Building QA Team that matters for an Agile WorldMaurizio Mancini
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code ReviewMilan Vukoje
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptx11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptxSaqibHabib11
 
Improve Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsImprove Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsElizabeth Steiner
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoftMichaela Greiler
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Eggplant
 
Pull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptxPull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptxrohitagarwal24
 

Similaire à The Best Kept Secrets of Code Review | SmartBear Webinar (20)

Code Reviews
Code ReviewsCode Reviews
Code Reviews
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Requirements engineering activities
Requirements engineering activitiesRequirements engineering activities
Requirements engineering activities
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluation
 
Identifying and Executing the Most Critical Tests
Identifying and Executing the Most Critical TestsIdentifying and Executing the Most Critical Tests
Identifying and Executing the Most Critical Tests
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdf
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
 
Building QA Team that matters for an Agile World
Building QA Team that matters for an Agile WorldBuilding QA Team that matters for an Agile World
Building QA Team that matters for an Agile World
 
Code review prediction
Code review predictionCode review prediction
Code review prediction
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptx11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptx
 
Improve Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsImprove Product Design with High Quality Requirements
Improve Product Design with High Quality Requirements
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
 
Pull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptxPull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptx
 

Plus de SmartBear

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubSmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubSmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesSmartBear
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubSmartBear
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubSmartBear
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...SmartBear
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestCompleteSmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save AgileSmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesSmartBear
 
Support Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First ApproachSupport Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First ApproachSmartBear
 
Maximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based ApproachMaximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based ApproachSmartBear
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessModernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessSmartBear
 
Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50SmartBear
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBearImplementation of DevOps at SmartBear
Implementation of DevOps at SmartBearSmartBear
 
Accelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous TestingAccelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous TestingSmartBear
 
Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments SmartBear
 
Transform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital DisruptionTransform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital DisruptionSmartBear
 

Plus de SmartBear (20)

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHub
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save Agile
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
 
Support Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First ApproachSupport Rapid Systems Growth with a Design-First Approach
Support Rapid Systems Growth with a Design-First Approach
 
Maximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based ApproachMaximize Test Automation with a Risk-Based Approach
Maximize Test Automation with a Risk-Based Approach
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessModernizing the Enterprise API Development Process
Modernizing the Enterprise API Development Process
 
Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50Developing Performance-Oriented Code: Moore's Law Over 50
Developing Performance-Oriented Code: Moore's Law Over 50
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBearImplementation of DevOps at SmartBear
Implementation of DevOps at SmartBear
 
Accelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous TestingAccelerate Your Delivery Pipeline with Continuous Testing
Accelerate Your Delivery Pipeline with Continuous Testing
 
Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments Be Dynamic: Unblock Your Environments
Be Dynamic: Unblock Your Environments
 
Transform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital DisruptionTransform QA to Stay Ahead of Digital Disruption
Transform QA to Stay Ahead of Digital Disruption
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Dernier (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

The Best Kept Secrets of Code Review | SmartBear Webinar

  • 1. The Best Kept Secrets of Code Review
  • 2. Jonathan FortunatiPatrick Londa Your Hosts Today Justin Collier Marketing Manager, Collaborator Product Owner, Collaborator Sr. Sales Engineer, Collaborator
  • 4. SmartBear Product Portfolio = Breadth and Depth 4 Design HipTest Create Test Monitor SwaggerHub LoadUI Pro LoadNinja CBT ServiceV Pro SoapUI Pro TestComplete AlertSite TestLeftZephyr Collaborator
  • 5. Agenda Review Process Recommendations Code Review Approaches Why Focus on Code Reviews? Inside the Code Review The Current Tool Landscape 1 2 3 4 5 5
  • 6. Main Sources Proprietary & Confidential 6
  • 7. Why Focus on Code Review?
  • 8. The 2018 State of Code Review
  • 9. The 2018 State of Code Review
  • 10. 10 Code Review is the #1 Way to Improve Code Quality According to: The 2018 State of Code Review The 2017 State of Code Review The 2016 State of Code Review
  • 11. The 2018 State of Code Review
  • 12. 10,000-line project with 10 developers Bugs Remaining = 463 Bugs Remaining = 321 Bugs Remaining = 194 0 50 100 150 200 250 300 350 400 450 500 After Development After QA/Test ($200/fix) After Customer ($1000/fix) BugsRemainingintheApplication BEFORE CODE REVIEW Cost of Fixing Bugs: $174k + Cost of 194 Latent Bugs: 194k Total Cost: $368k SmartBear Customer Case Study
  • 13. Bugs Remaining = 463 Bugs Remaining = 180 Bugs Remaining = 113 Bugs Remaining = 32 0 50 100 150 200 250 300 350 400 450 500 After Development After Code Review After QA/Test ($200/fix) After Customer ($1000/fix) BugsRemainingintheApplication AFTER CODE REVIEW 10,000-line project with 10 developers Cost of Fixing Bugs: $120k + Cost of 32 Latent Bugs: 32k Total Cost: $152k Resulting Savings = $216k SmartBear Customer Case Study
  • 15. • Formal Inspections Types of Code Review Planning Introductory Meeting Inspection Meeting Rework Verification Meeting Complete Follow-Up Meeting Readers and reviewers inspect the code privately. If no defects are found, review is complete. If more defects are found, back to rework.
  • 16. • Formal Inspections • Over-the-Shoulder Reviews Types of Code Review Preparation Inspection Meeting Rework Complete
  • 17. • Formal Inspections • Over-the-Shoulder Reviews • Email Pass-Around Process Types of Code Review Code Check-In Inspections Rework Complete If no problems, review fades into “Complete”.
  • 18. • Formal Inspections • Over-the-Shoulder Reviews • Email Pass-Around Process • Tool-Assisted Reviews Types of Code Review
  • 19. • Formal Inspections • Over-the-Shoulder Reviews • Email Pass-Around Process • Tool-Assisted Reviews • Pair Programming Types of Code Review
  • 21. • Conduct Reviews Daily What Works Best: The 2018 State of Code Review
  • 22. • Conduct Reviews Daily • Set Clear Expectations The 2018 State of Code Review What Works Best:
  • 23. • Conduct Reviews Daily • Set Clear Expectations *Utilize a checklist of things to check for at the class, method, & class-hierarchy levels Research by Alastair Dunsmoore, Marc Roper, and Murray Wood. (2000) The Best Kept Secrets of Peer Code Review What Works Best:
  • 24. • Conduct Reviews Daily • Set Clear Expectations • Go Tool-Assisted The 2018 State of Code Review What Works Best:
  • 25. • Conduct Reviews Daily • Set Clear Expectations • Go Tool-Assisted + Meetings We never perform meeting-based reviews... 28% Satisfied with Code Quality 48% Unsatisfied with Code Quality The 2018 State of Code Review What Works Best:
  • 26. • Conduct Reviews Daily • Set Clear Expectations • Go Tool-Assisted + Meetings Research by Lawrence Votta from AT&T Bell Laboratories. (1993) Supporting research by Diane Kelly and Terry Shepard. (2003) Supporting research by Reidar Conradi. (2003) The Best Kept Secrets of Peer Code Review What Works Best:
  • 27. • Conduct Reviews Daily • Set Clear Expectations • Go Tool-Assisted + Meetings • Report on Their Process The 2018 State of Code Review What Works Best:
  • 28. • Conduct Reviews Daily • Set Clear Expectations • Go Tool-Assisted + Meetings • Report on Their Process • Foster a Learning Culture What Works Best:
  • 29. Inside the Code Review
  • 30. Review Guidelines • Limit reviews to 60 minute sessions at most 30 Research by Alastair Dunsmoore, Marc Roper, and Murray Wood. (2000) The Best Kept Secrets of Peer Code Review
  • 31. Review Guidelines • Limit reviews to 60 minute sessions at most • Consider shorter function length to improve readability 3131 Research by Uwano at Nara Institute of Science and Technology. (2006) The Best Kept Secrets of Peer Code Review
  • 32. Review Guidelines • Limit reviews to 60 minute sessions at most • Consider limiting function length to improve readability 3232 Research by Uwano at Nara Institute of Science and Technology. (2006) The Best Kept Secrets of Peer Code Review
  • 33. Review Guidelines • Limit reviews to 60 minute sessions at most • Consider shorter function length to improve readability 3333 Research by Uwano at Nara Institute of Science and Technology. (2006) The Best Kept Secrets of Peer Code Review
  • 34. Review Guidelines • Limit reviews to 60 minute sessions at most • Consider shorter function length to improve readability • Slow down your reading and take time to scan 3434 Research by Uwano at Nara Institute of Science and Technology. (2006) The Best Kept Secrets of Peer Code Review
  • 35. Ideal Review • Author annotates their code prior to reviewers reading 35 Cisco Case Study with SmartBear. (2006) The Best Kept Secrets of Peer Code Review
  • 36. Ideal Review • Author annotates their code prior to reviewers reading • 100 – 300 lines of code 36 Cisco Case Study with SmartBear. (2006) The Best Kept Secrets of Peer Code Review
  • 37. Ideal Review • Author annotates their code prior to reviewers reading • 100 – 300 lines of code • Reviewers spend 30-60 minutes reviewing the code change 37 Cisco Case Study with SmartBear. (2006) The Best Kept Secrets of Peer Code Review
  • 38. Goals & Reading Metrics • Internal Metrics • Inspection Rate • Defect Rate • Defect Density • Defect Count • Defect Type and Severity • External Metrics • Number of support calls • Number of bugs injected by Development Proprietary & Confidential 38
  • 39. Reviewing Artifacts 39 The 2018 State of Code Review
  • 40. Reviewing Artifacts 90% of teams are conducting document review of some kind. 35% of respondents are using a tool to do this. Teams using a tool for reviewing documents are 26% more likely to be satisfied with their code review process. 40 The 2018 State of Code Review
  • 41. Review Best Practices • Conduct reviews daily • Set clear expectations with checklists • Conduct tool-assisted reviews + meetings • Create goals and report on your process • Foster a learning culture • Limit reviews to 60 minute sessions • Shorten function length for readability • Slow down your reading and take time to scan • Author annotates code prior to adding reviewers • 100 – 300 lines of code at a time • Reviewers should spend 30-60 minutes at a time • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success 41
  • 42. Current Review Tool Landscape
  • 43. The 2018 State of Code Review
  • 44. Review Best Practices • Conduct reviews daily • Set clear expectations with checklists • Conduct tool-assisted reviews + meetings • Create goals and report on your process • Foster a learning culture • Limit reviews to 60 minute sessions • Shorten function length for readability • Slow down your reading and take time to scan • Author annotates code prior to adding reviewers • 100 – 300 lines of code at a time • Reviewers should spend 30-60 minutes at a time • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success 44
  • 45. Review Best Practices 45 • Conduct reviews daily • Set clear expectations with checklists • Conduct tool-assisted reviews + meetings • Create goals and report on your process • Foster a learning culture • Limit reviews to 60 minute sessions • Shorten function length for readability • Slow down your reading and take time to scan • Author annotates code prior to adding reviewers • 100 – 300 lines of code at a time • Reviewers should spend 30-60 minutes at a time • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success
  • 46. The 2018 State of Code Review
  • 47. Review Best Practices • Conduct reviews daily • Set clear expectations with checklists • Conduct tool-assisted reviews + meetings • Create goals and report on your process • Foster a learning culture • Limit reviews to 60 minute sessions • Shorten function length for readability • Slow down your reading and take time to scan • Author annotates code prior to adding reviewers • 100 – 300 lines of code at a time • Reviewers should spend 30-60 minutes at a time • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success 47
  • 48. Smart Review Practices • Set clear expectations with checklists • Create goals and report on your process • Author annotates code prior to adding reviewers • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success 48 Teams that report on their code reviews are 5X as likely to be satisfied with their process Teams that review documents in tool are 26% more likely to be satisfied with their code reviews.
  • 49. Review Best Practices 49 • Conduct reviews daily • Set clear expectations with checklists • Conduct tool-assisted reviews + meetings • Create goals and report on your process • Foster a learning culture • Limit reviews to 60 minute sessions • Shorten function length for readability • Slow down your reading and take time to scan • Author annotates code prior to adding reviewers • 100 – 300 lines of code at a time • Reviewers should spend 30-60 minutes at a time • Verify that defects have been addressed • Conduct peer reviews on other docs & artifacts • Maintain review history for long-term success

Notes de l'éditeur

  1. Introduce yourselves.
  2. SmartBear tools are synonymous with quality across the entire SDLC, from planning and design to testing and monitoring. We were founded in 2009 in Boston, Mass and have grown to over 11 global offices, encompassing North America, Europe, Asia, and Australia. Over 6 million developers, testers, and operations professionals from 20,000 plus companies, like Google, RBC, and Vineyard Vines, use our tools ever day to deliver bug free software. Our company of over 500 employees also provides 5 free tools for the community, including 2 wildly popular open source tools Swagger and SoapUI.
  3. Our portfolio spans 6 different categories. Plan - with HipTest and SwaggerHub Create – with ServiceV Pro, Collaborator, and TestLeft Test – with SoapUI Pro, LoadUI Pro, TestComplete, LoadNinja, and CBT Deploy – we partner here with popular solutions like AWS and Docker Monitor – with AlertSite and finally Manage and Analyze with Zephyr.