SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
7. ebay Tech Talk Berlin 

Demystifying Code Reviews with Gerrit

Mateusz Szczap
Holger Hammel
•  Part of the ebay family
•  located ebay Campus Dreilinden
•  Germany’s biggest online marketplace for vehicles
•  7.44 million unique users (AGOF 2013-04)
•  150 people, 60 within technology
•  High traffic web, android and iOS applications
•  Agile cross functional teams

Mateusz Szczap 
- Software Engineer
Holger Hammel - Team Lead mobile
why this presentation?
some ideas for starting and proceeding with
code reviews easier
Ok nice, but why reviewing at all?
Get feedback for better code
“I believe that peer code reviews are the
single biggest thing you can do to improve
your code.” [jat]
“Code reviews aren't the ultimate solution
to a broken design process, but they are
an incredibly useful tool.” [mwe]
What type of reviews you use?

Pair Programming (by peer, instantly)
Peer Code Review (by peer, async)
Code Walkthroughs (by group, async)
Myth 1: come on, reviews are too
expensive and slow!
less errors -> more productivity
no debugging, retesting, finding the right person, building tech debt

up to 95% defect detection w/ XP
(just <60% w/ only automated testing)


Sources:	
  [smc]	
  references	
  various	
  studies	
  
Myth 2: you have to understand the
whole context of what you review
No you haven’t

Mentioning a typo or a SOLID or clean code
violation or a formatting issue or a missing
test or I didn’t find anything or ….. helps
Myth 3: reviews are blocking
You may not want another column on your
board and wait for someone to review

Reviews make sense even non-blocking
and after a release
the faster the better, though
Myth 4: tools are horrible
yeah, not always a myth

make it as simple, convenient and fast as
possible to create and finish reviews


=> for example with gerrit
Sources
•  [smc] Steve McConnell: Code Complete, Second Edition; Microsoft
Press; 2004; chapters: 20.3. Relative Effectiveness of Quality
Techniques; 20.5. The General Principle of Software Quality;
http://www.ebay.de/sch/i.html?_nkw=McConnell%2C+Steve%3A
+Code+Complete
•  http://scientopia.org/blogs/goodmath/2011/07/06/things-everyone-
should-do-code-review/
•  [jat] Jeff Atwood:
http://www.codinghorror.com/blog/2006/01/code-reviews-just-do-
it.html
•  [mwe] Matt Welsh:
http://matt-welsh.blogspot.de/2012_02_01_archive.html
•  [rbo] Robert Bogue - “Code Reviews w/o the pain”, best practices
http://www.developer.com/tech/article.php/3579756/Effective-
Code-Reviews-Without-the-Pain.htm
•  [jco] Jason Cohen, Smartbear: “11 proven practices for more
effective, efficient peer code review”
http://www.ibm.com/developerworks/rational/library/11-proven-
practices-for-peer-review/index.html

Contenu connexe

Tendances

Sustainable Automation Frameworks by Kelsey Shannahan
Sustainable Automation Frameworks by Kelsey ShannahanSustainable Automation Frameworks by Kelsey Shannahan
Sustainable Automation Frameworks by Kelsey ShannahanQA or the Highway
 
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedTest Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedSmartBear
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis PrimerCoverity
 
Nimbuzz advanced vs novice testers
Nimbuzz   advanced vs novice testersNimbuzz   advanced vs novice testers
Nimbuzz advanced vs novice testersRavindran Antonysamy
 
Debugging with visual studio beyond 'F5'
Debugging with visual studio beyond 'F5'Debugging with visual studio beyond 'F5'
Debugging with visual studio beyond 'F5'Dror Helper
 
Oredev: An Exploratory Tester's Lessons on Security Threat Modeling
Oredev: An Exploratory Tester's Lessons on Security Threat ModelingOredev: An Exploratory Tester's Lessons on Security Threat Modeling
Oredev: An Exploratory Tester's Lessons on Security Threat ModelingMaaret Pyhäjärvi
 
Finding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCopFinding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCopCoverity
 
PHP unit testing - good and bad practices
PHP unit testing - good and bad practicesPHP unit testing - good and bad practices
PHP unit testing - good and bad practicesKonstantin Stefanov
 
An Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationAn Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationBlue Elephant Consulting
 
5 top pain points of test automation
5 top pain points of test automation5 top pain points of test automation
5 top pain points of test automationMikalai Alimenkou
 
271 awesome instructional_presentation
271 awesome instructional_presentation271 awesome instructional_presentation
271 awesome instructional_presentationboeglink
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAlan Richardson
 
Thoughts on Test Strategy
Thoughts on Test StrategyThoughts on Test Strategy
Thoughts on Test StrategyAlan Page
 
OSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be MissingOSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be MissingCoverity
 
0136 ideal static_analyzer
0136 ideal static_analyzer0136 ideal static_analyzer
0136 ideal static_analyzerPVS-Studio
 
Building Forio Web Simulations - Introduction to Interface Design
Building Forio Web Simulations - Introduction to Interface DesignBuilding Forio Web Simulations - Introduction to Interface Design
Building Forio Web Simulations - Introduction to Interface Designforiocorp
 

Tendances (19)

Sustainable Automation Frameworks by Kelsey Shannahan
Sustainable Automation Frameworks by Kelsey ShannahanSustainable Automation Frameworks by Kelsey Shannahan
Sustainable Automation Frameworks by Kelsey Shannahan
 
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedTest Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
 
Delhi first draft_2
Delhi first draft_2Delhi first draft_2
Delhi first draft_2
 
Delhi second draft
Delhi second draft Delhi second draft
Delhi second draft
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
 
Nimbuzz advanced vs novice testers
Nimbuzz   advanced vs novice testersNimbuzz   advanced vs novice testers
Nimbuzz advanced vs novice testers
 
Debugging with visual studio beyond 'F5'
Debugging with visual studio beyond 'F5'Debugging with visual studio beyond 'F5'
Debugging with visual studio beyond 'F5'
 
Oredev: An Exploratory Tester's Lessons on Security Threat Modeling
Oredev: An Exploratory Tester's Lessons on Security Threat ModelingOredev: An Exploratory Tester's Lessons on Security Threat Modeling
Oredev: An Exploratory Tester's Lessons on Security Threat Modeling
 
Finding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCopFinding Defects in C#: Coverity vs. FxCop
Finding Defects in C#: Coverity vs. FxCop
 
PHP unit testing - good and bad practices
PHP unit testing - good and bad practicesPHP unit testing - good and bad practices
PHP unit testing - good and bad practices
 
An Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integrationAn Introduction To Software Development - Testing, Continuous integration
An Introduction To Software Development - Testing, Continuous integration
 
5 top pain points of test automation
5 top pain points of test automation5 top pain points of test automation
5 top pain points of test automation
 
271 awesome instructional_presentation
271 awesome instructional_presentation271 awesome instructional_presentation
271 awesome instructional_presentation
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when Testing
 
Thoughts on Test Strategy
Thoughts on Test StrategyThoughts on Test Strategy
Thoughts on Test Strategy
 
OSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be MissingOSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be Missing
 
While You Are Coding
While You Are CodingWhile You Are Coding
While You Are Coding
 
0136 ideal static_analyzer
0136 ideal static_analyzer0136 ideal static_analyzer
0136 ideal static_analyzer
 
Building Forio Web Simulations - Introduction to Interface Design
Building Forio Web Simulations - Introduction to Interface DesignBuilding Forio Web Simulations - Introduction to Interface Design
Building Forio Web Simulations - Introduction to Interface Design
 

En vedette

Power point informatica
Power point informaticaPower point informatica
Power point informaticaJaime del Arco
 
Bilangan pecahan
Bilangan pecahanBilangan pecahan
Bilangan pecahanKris Tanto
 
Bilangan pecahan
Bilangan pecahanBilangan pecahan
Bilangan pecahanKris Tanto
 
Presentació estat d' ànim de les persones
Presentació estat d' ànim de les personesPresentació estat d' ànim de les persones
Presentació estat d' ànim de les personesJaime del Arco
 
X 10 17-rani gusmayzarni
X 10 17-rani gusmayzarniX 10 17-rani gusmayzarni
X 10 17-rani gusmayzarniranigzarni
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deHolger Hammel
 
Wie mobile.de mobil wurde - Fast Feedback
Wie mobile.de mobil wurde - Fast FeedbackWie mobile.de mobil wurde - Fast Feedback
Wie mobile.de mobil wurde - Fast FeedbackHolger Hammel
 

En vedette (9)

Power point informatica
Power point informaticaPower point informatica
Power point informatica
 
Bilangan pecahan
Bilangan pecahanBilangan pecahan
Bilangan pecahan
 
Grupos ezequiel brito
Grupos   ezequiel britoGrupos   ezequiel brito
Grupos ezequiel brito
 
Bilangan pecahan
Bilangan pecahanBilangan pecahan
Bilangan pecahan
 
Presentació estat d' ànim de les persones
Presentació estat d' ànim de les personesPresentació estat d' ànim de les persones
Presentació estat d' ànim de les persones
 
X 10 17-rani gusmayzarni
X 10 17-rani gusmayzarniX 10 17-rani gusmayzarni
X 10 17-rani gusmayzarni
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 
Slideshare presentation
Slideshare presentation Slideshare presentation
Slideshare presentation
 
Wie mobile.de mobil wurde - Fast Feedback
Wie mobile.de mobil wurde - Fast FeedbackWie mobile.de mobil wurde - Fast Feedback
Wie mobile.de mobil wurde - Fast Feedback
 

Similaire à eBay Tech Talk - Demystifying Code Reviews with Gerrit

TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalAnna Royzman
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Betterantoineg
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Code Review
Code ReviewCode Review
Code ReviewRavi Raj
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_qualityKetan Patel
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyMatts Devriendt
 
4.Security Assessment And Testing
4.Security Assessment And Testing4.Security Assessment And Testing
4.Security Assessment And Testingphanleson
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review cultureNina Zakharenko
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-TestingMary Clemons
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code QualitySaltmarch Media
 
Successful Software Projects - What you need to consider
Successful Software Projects - What you need to considerSuccessful Software Projects - What you need to consider
Successful Software Projects - What you need to considerLloydMoore
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
Owasp tds
Owasp tdsOwasp tds
Owasp tdssnyff
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Security Innovation
 

Similaire à eBay Tech Talk - Demystifying Code Reviews with Gerrit (20)

TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Better
 
Automated tests
Automated testsAutomated tests
Automated tests
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Code Review
Code ReviewCode Review
Code Review
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_quality
 
Code review
Code reviewCode review
Code review
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software company
 
4.Security Assessment And Testing
4.Security Assessment And Testing4.Security Assessment And Testing
4.Security Assessment And Testing
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code Quality
 
Successful Software Projects - What you need to consider
Successful Software Projects - What you need to considerSuccessful Software Projects - What you need to consider
Successful Software Projects - What you need to consider
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
Owasp tds
Owasp tdsOwasp tds
Owasp tds
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?Hacker vs Tools: Which to Choose?
Hacker vs Tools: Which to Choose?
 
Hacker vs tools
Hacker vs toolsHacker vs tools
Hacker vs tools
 

Dernier

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

eBay Tech Talk - Demystifying Code Reviews with Gerrit

  • 1. 7. ebay Tech Talk Berlin Demystifying Code Reviews with Gerrit Mateusz Szczap Holger Hammel
  • 2. •  Part of the ebay family •  located ebay Campus Dreilinden •  Germany’s biggest online marketplace for vehicles •  7.44 million unique users (AGOF 2013-04) •  150 people, 60 within technology •  High traffic web, android and iOS applications •  Agile cross functional teams Mateusz Szczap - Software Engineer Holger Hammel - Team Lead mobile
  • 3. why this presentation? some ideas for starting and proceeding with code reviews easier
  • 4. Ok nice, but why reviewing at all? Get feedback for better code “I believe that peer code reviews are the single biggest thing you can do to improve your code.” [jat] “Code reviews aren't the ultimate solution to a broken design process, but they are an incredibly useful tool.” [mwe]
  • 5. What type of reviews you use? Pair Programming (by peer, instantly) Peer Code Review (by peer, async) Code Walkthroughs (by group, async)
  • 6. Myth 1: come on, reviews are too expensive and slow! less errors -> more productivity no debugging, retesting, finding the right person, building tech debt up to 95% defect detection w/ XP (just <60% w/ only automated testing) Sources:  [smc]  references  various  studies  
  • 7. Myth 2: you have to understand the whole context of what you review No you haven’t Mentioning a typo or a SOLID or clean code violation or a formatting issue or a missing test or I didn’t find anything or ….. helps
  • 8. Myth 3: reviews are blocking You may not want another column on your board and wait for someone to review Reviews make sense even non-blocking and after a release the faster the better, though
  • 9. Myth 4: tools are horrible yeah, not always a myth make it as simple, convenient and fast as possible to create and finish reviews => for example with gerrit
  • 10. Sources •  [smc] Steve McConnell: Code Complete, Second Edition; Microsoft Press; 2004; chapters: 20.3. Relative Effectiveness of Quality Techniques; 20.5. The General Principle of Software Quality; http://www.ebay.de/sch/i.html?_nkw=McConnell%2C+Steve%3A +Code+Complete •  http://scientopia.org/blogs/goodmath/2011/07/06/things-everyone- should-do-code-review/ •  [jat] Jeff Atwood: http://www.codinghorror.com/blog/2006/01/code-reviews-just-do- it.html •  [mwe] Matt Welsh: http://matt-welsh.blogspot.de/2012_02_01_archive.html •  [rbo] Robert Bogue - “Code Reviews w/o the pain”, best practices http://www.developer.com/tech/article.php/3579756/Effective- Code-Reviews-Without-the-Pain.htm •  [jco] Jason Cohen, Smartbear: “11 proven practices for more effective, efficient peer code review” http://www.ibm.com/developerworks/rational/library/11-proven- practices-for-peer-review/index.html