SlideShare a Scribd company logo
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!

More Related Content

What's hot

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
 
AndGen+
AndGen+AndGen+
AndGen+
Ahmed Misbah
 
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 context
Alexander Kress
 
SharePoint and the Lean Enterprise
SharePoint and the Lean EnterpriseSharePoint and the Lean Enterprise
SharePoint and the Lean Enterprise
Dave Healey
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
SmartBear
 
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 showcase
javadch
 
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 teams
Anwar Sadat
 
Service Virtualization - Kalpna
Service Virtualization - KalpnaService Virtualization - Kalpna
Service Virtualization - Kalpna
Agile Testing Alliance
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Pixel Federation
 
Getting Started with IT Service Intelligence
Getting Started with IT Service IntelligenceGetting Started with IT Service Intelligence
Getting Started with IT Service Intelligence
Splunk
 
Advanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIsAdvanced Mocking for Swagger APIs
Advanced Mocking for Swagger APIs
SmartBear
 
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
SmartBear
 
ATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps CultureATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps Culture
Agile Testing Alliance
 
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
Inside Analysis
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
Chris Scofield
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
Vernon Stinebaker
 

What's hot (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
 

Similar to The Best Kept Secrets of Code Review | SmartBear Webinar

Code Reviews
Code ReviewsCode Reviews
Code Reviews
phildenoncourt
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
Fahad Alshareef
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
Emma Armstrong
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Md. Shafiuzzaman Hira
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
Mustafa Savaşcı
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rizky Munggaran
 
Requirements engineering activities
Requirements engineering activitiesRequirements engineering activities
Requirements engineering activities
Syed Zaid Irshad
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluationgaoliang641
 
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
Pacific Northwest Software Quality Conference
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdf
SpiritsoftsTraining
 
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 World
Maurizio Mancini
 
Code review prediction
Code review predictionCode review prediction
Code review prediction
Kishor Datta Gupta
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
Milan Vukoje
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptx11. SE_Quality Assurance.pptx
11. SE_Quality Assurance.pptx
SaqibHabib11
 
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
Elizabeth 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 microsoft
Michaela 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.pptx
rohitagarwal24
 

Similar to 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
 

More from 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 SwaggerHub
SmartBear
 
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 SwaggerHub
SmartBear
 
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
SmartBear
 
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
SmartBear
 
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
SmartBear
 
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 TestComplete
SmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
SmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save Agile
SmartBear
 
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
SmartBear
 
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
SmartBear
 
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
SmartBear
 
Modernizing the Enterprise API Development Process
Modernizing the Enterprise API Development ProcessModernizing the Enterprise API Development Process
Modernizing the Enterprise API Development Process
SmartBear
 
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
SmartBear
 
Implementation of DevOps at SmartBear
Implementation of DevOps at SmartBearImplementation of DevOps at SmartBear
Implementation of DevOps at SmartBear
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
SmartBear
 
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 Disruption
SmartBear
 

More from 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
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

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

Editor's Notes

  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.