SlideShare a Scribd company logo
1 of 23
Download to read offline
 Code Reviews
 (Don’t Have to Suck)
 Dave Adsit
  Lead Architect @ Pluralsight
WHY?
HOW?
• Who - Coder, Reader, Reviewers, Moderator
• How - Multi-hour meeting
• Pros / Cons
 Formal Review
 Fagan inspection
TWO SETS OF EYES
OODA Loop
The decision cycle of observe, orient, decide, and act.
• Who - You! (and maybe your rubber
duck)
• How - Context shift
• Pros / Cons
 Self Review
 Pull Request
• Who - Coder + 1 or more team members
• How - Branch, PR, Review, Merge
• Pros / Cons
 Pair Programming
• Who - Two coders
• How - Driver/Navigator
• Pros / Cons
 Mob Programming
• Who - The Whole Cross-Functional Team
• How - Team
• Pros / Cons
TIPS
• Create psychological safety
• Be respectful
• Be prepared
• Stay neutral
• Provide constructive criticism
• Stay focused
• Participate
 Do
• Spend more than 60 minutes reviewing
• Review more than 500 LOC at a time
• Use tools that limit your view of the code
• Waste time on ineffective practices
• Say “you’re wrong”
(instead try “I think that is wrong”)
• Talk too much
 Do Not
• You are not your code!
• Don’t be a jerk
• Criticism is a gift; though we are often
made uncomfortable giving it
• “Looks good” is not a code review
 Remember
QUESTIONS?

More Related Content

What's hot

The Soup Stone - Catalyst to Agile Adoption
The Soup Stone - Catalyst to Agile AdoptionThe Soup Stone - Catalyst to Agile Adoption
The Soup Stone - Catalyst to Agile AdoptionRemi-Armand Collaris
 
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)Frank Garofalo
 
التخطيط الاستراتيجى أ.د. سامية العزب
التخطيط الاستراتيجى أ.د. سامية العزبالتخطيط الاستراتيجى أ.د. سامية العزب
التخطيط الاستراتيجى أ.د. سامية العزبProf_Samia
 
Let's Do Kano Analysis of Agile Cymru
Let's Do Kano Analysis of Agile CymruLet's Do Kano Analysis of Agile Cymru
Let's Do Kano Analysis of Agile CymruDavid Grant
 
Scrum is good - but kanban is better
Scrum is good - but kanban is betterScrum is good - but kanban is better
Scrum is good - but kanban is betterNeal Champion
 
Dealing with Agile Resistors
Dealing with Agile ResistorsDealing with Agile Resistors
Dealing with Agile ResistorsCharles Husemann
 
'Real agile' coaching session
'Real agile'   coaching session'Real agile'   coaching session
'Real agile' coaching sessionOleg Parinov
 
Pitch & Critique - Feedback
Pitch & Critique - FeedbackPitch & Critique - Feedback
Pitch & Critique - FeedbackFrank Garofalo
 
Creating Great Agile Teams
Creating Great Agile TeamsCreating Great Agile Teams
Creating Great Agile Teamsmarioandrearaujo
 
Starting from the why: innovation for project design
Starting from the why: innovation for project designStarting from the why: innovation for project design
Starting from the why: innovation for project designRotary International
 

What's hot (11)

The Soup Stone - Catalyst to Agile Adoption
The Soup Stone - Catalyst to Agile AdoptionThe Soup Stone - Catalyst to Agile Adoption
The Soup Stone - Catalyst to Agile Adoption
 
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)
DevSummit 2016 PreSummit Workshop: Getting to Know Your Users (Part 2 of 2)
 
التخطيط الاستراتيجى أ.د. سامية العزب
التخطيط الاستراتيجى أ.د. سامية العزبالتخطيط الاستراتيجى أ.د. سامية العزب
التخطيط الاستراتيجى أ.د. سامية العزب
 
Wk 1 blog use
Wk 1  blog useWk 1  blog use
Wk 1 blog use
 
Let's Do Kano Analysis of Agile Cymru
Let's Do Kano Analysis of Agile CymruLet's Do Kano Analysis of Agile Cymru
Let's Do Kano Analysis of Agile Cymru
 
Scrum is good - but kanban is better
Scrum is good - but kanban is betterScrum is good - but kanban is better
Scrum is good - but kanban is better
 
Dealing with Agile Resistors
Dealing with Agile ResistorsDealing with Agile Resistors
Dealing with Agile Resistors
 
'Real agile' coaching session
'Real agile'   coaching session'Real agile'   coaching session
'Real agile' coaching session
 
Pitch & Critique - Feedback
Pitch & Critique - FeedbackPitch & Critique - Feedback
Pitch & Critique - Feedback
 
Creating Great Agile Teams
Creating Great Agile TeamsCreating Great Agile Teams
Creating Great Agile Teams
 
Starting from the why: innovation for project design
Starting from the why: innovation for project designStarting from the why: innovation for project design
Starting from the why: innovation for project design
 

Similar to Code reviews (Don't have to Suck)

Discussing Design: The Art of Critique
Discussing Design: The Art of CritiqueDiscussing Design: The Art of Critique
Discussing Design: The Art of CritiqueAaron Irizarry
 
Refactoring Test Collaboration
Refactoring Test CollaborationRefactoring Test Collaboration
Refactoring Test CollaborationClaire Moss
 
Pair Programming Styles
Pair Programming StylesPair Programming Styles
Pair Programming StylesAttila Bertók
 
More Than Usability
More Than UsabilityMore Than Usability
More Than UsabilityRazan Sadeq
 
Basic Principles of Interface design
Basic Principles of Interface designBasic Principles of Interface design
Basic Principles of Interface designZdeněk Lanc
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Dror Helper
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype TestingDave Hora
 
User Vision Breakfast Briefing - Prototyping
User Vision Breakfast Briefing - PrototypingUser Vision Breakfast Briefing - Prototyping
User Vision Breakfast Briefing - PrototypingUser Vision
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)Peter Gfader
 
ace treetop and a couple ghghhhhhhhhhhhhhh
ace treetop and a couple ghghhhhhhhhhhhhhhace treetop and a couple ghghhhhhhhhhhhhhh
ace treetop and a couple ghghhhhhhhhhhhhhhToyosiOlugbenle1
 
The what, when, why and how of usability
The what, when, why and how of usabilityThe what, when, why and how of usability
The what, when, why and how of usabilitySimpleUsability
 
Tools For Lean Startup Wizards
Tools For Lean Startup WizardsTools For Lean Startup Wizards
Tools For Lean Startup WizardsPaul Walsh
 
UX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, ZoomUX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, ZoomUX STRAT
 
Mind the Gap- Making an IT-Driven SharePoint Implementation Succeed
Mind the Gap- Making an IT-Driven SharePoint Implementation SucceedMind the Gap- Making an IT-Driven SharePoint Implementation Succeed
Mind the Gap- Making an IT-Driven SharePoint Implementation SucceedEric Nash
 

Similar to Code reviews (Don't have to Suck) (20)

What Users Want: Using Focus Groups to Inform Web Design
What Users Want: Using Focus Groups to Inform Web Design What Users Want: Using Focus Groups to Inform Web Design
What Users Want: Using Focus Groups to Inform Web Design
 
Discussing Design: The Art of Critique
Discussing Design: The Art of CritiqueDiscussing Design: The Art of Critique
Discussing Design: The Art of Critique
 
Refactoring Test Collaboration
Refactoring Test CollaborationRefactoring Test Collaboration
Refactoring Test Collaboration
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Pair Programming Styles
Pair Programming StylesPair Programming Styles
Pair Programming Styles
 
Walls agile2013
Walls agile2013Walls agile2013
Walls agile2013
 
More Than Usability
More Than UsabilityMore Than Usability
More Than Usability
 
Agile Retrospective & review
Agile Retrospective & review Agile Retrospective & review
Agile Retrospective & review
 
Metrics shmetrics
Metrics shmetricsMetrics shmetrics
Metrics shmetrics
 
Basic Principles of Interface design
Basic Principles of Interface designBasic Principles of Interface design
Basic Principles of Interface design
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
User Vision Breakfast Briefing - Prototyping
User Vision Breakfast Briefing - PrototypingUser Vision Breakfast Briefing - Prototyping
User Vision Breakfast Briefing - Prototyping
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
ace treetop and a couple ghghhhhhhhhhhhhhh
ace treetop and a couple ghghhhhhhhhhhhhhhace treetop and a couple ghghhhhhhhhhhhhhh
ace treetop and a couple ghghhhhhhhhhhhhhh
 
The what, when, why and how of usability
The what, when, why and how of usabilityThe what, when, why and how of usability
The what, when, why and how of usability
 
Tools For Lean Startup Wizards
Tools For Lean Startup WizardsTools For Lean Startup Wizards
Tools For Lean Startup Wizards
 
UX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, ZoomUX STRAT USA 2021: Jane Davis, Zoom
UX STRAT USA 2021: Jane Davis, Zoom
 
Selling UX
Selling UXSelling UX
Selling UX
 
Mind the Gap- Making an IT-Driven SharePoint Implementation Succeed
Mind the Gap- Making an IT-Driven SharePoint Implementation SucceedMind the Gap- Making an IT-Driven SharePoint Implementation Succeed
Mind the Gap- Making an IT-Driven SharePoint Implementation Succeed
 

More from David Adsit

Professional Craftsmanship (Keynote)
Professional Craftsmanship (Keynote)Professional Craftsmanship (Keynote)
Professional Craftsmanship (Keynote)David Adsit
 
Professional Software Craftsmanship
Professional Software CraftsmanshipProfessional Software Craftsmanship
Professional Software CraftsmanshipDavid Adsit
 
An Architecture for Autonomy
An Architecture for AutonomyAn Architecture for Autonomy
An Architecture for AutonomyDavid Adsit
 
Architectural Refactoring
Architectural RefactoringArchitectural Refactoring
Architectural RefactoringDavid Adsit
 
How To Build an Effective Automated Test Suite
How To Build an Effective Automated Test SuiteHow To Build an Effective Automated Test Suite
How To Build an Effective Automated Test SuiteDavid Adsit
 
Preparing to write Clean Code
Preparing to write Clean CodePreparing to write Clean Code
Preparing to write Clean CodeDavid Adsit
 

More from David Adsit (8)

Professional Craftsmanship (Keynote)
Professional Craftsmanship (Keynote)Professional Craftsmanship (Keynote)
Professional Craftsmanship (Keynote)
 
Professional Software Craftsmanship
Professional Software CraftsmanshipProfessional Software Craftsmanship
Professional Software Craftsmanship
 
An Architecture for Autonomy
An Architecture for AutonomyAn Architecture for Autonomy
An Architecture for Autonomy
 
What is Lean?
What is Lean?What is Lean?
What is Lean?
 
What is Lean?
What is Lean?What is Lean?
What is Lean?
 
Architectural Refactoring
Architectural RefactoringArchitectural Refactoring
Architectural Refactoring
 
How To Build an Effective Automated Test Suite
How To Build an Effective Automated Test SuiteHow To Build an Effective Automated Test Suite
How To Build an Effective Automated Test Suite
 
Preparing to write Clean Code
Preparing to write Clean CodePreparing to write Clean Code
Preparing to write Clean Code
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

Code reviews (Don't have to Suck)

  • 1.  Code Reviews  (Don’t Have to Suck)  Dave Adsit   Lead Architect @ Pluralsight
  • 3.
  • 5.
  • 6. • Who - Coder, Reader, Reviewers, Moderator • How - Multi-hour meeting • Pros / Cons  Formal Review  Fagan inspection
  • 7. TWO SETS OF EYES
  • 8.
  • 9. OODA Loop The decision cycle of observe, orient, decide, and act.
  • 10. • Who - You! (and maybe your rubber duck) • How - Context shift • Pros / Cons  Self Review
  • 11.
  • 12.  Pull Request • Who - Coder + 1 or more team members • How - Branch, PR, Review, Merge • Pros / Cons
  • 13.
  • 14.  Pair Programming • Who - Two coders • How - Driver/Navigator • Pros / Cons
  • 15.  Mob Programming • Who - The Whole Cross-Functional Team • How - Team • Pros / Cons
  • 16. TIPS
  • 17. • Create psychological safety • Be respectful • Be prepared • Stay neutral • Provide constructive criticism • Stay focused • Participate  Do
  • 18.
  • 19. • Spend more than 60 minutes reviewing • Review more than 500 LOC at a time • Use tools that limit your view of the code • Waste time on ineffective practices • Say “you’re wrong” (instead try “I think that is wrong”) • Talk too much  Do Not
  • 20.
  • 21. • You are not your code! • Don’t be a jerk • Criticism is a gift; though we are often made uncomfortable giving it • “Looks good” is not a code review  Remember
  • 22.