SlideShare a Scribd company logo
1 of 27
Download to read offline
Effective Code Review for
  Agile Java Developers




 Wojciech Seliga & Sławomir Ginter
                                                                                           Tag cloud generated with
     Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.    http://www.wordle.net/
An Evil Plan




               Picture courtesy of Helico
                       CC BY 2.0
What
 code review
has to do with
     Agile
Picture courtesy of Cat and Girl
       CC A-NC-SA 2.5
style/conventions

  design
               reusable components

APIs
                do's and don'ts

                             Picture courtesy of mil8 / CC BY 2.0
Mentoring junior developers

                                          Non-intrusive
                                          Asynchronous
                                          Less frustration / interruption
                                          for senior devs




Picture courtesy of eddidit / CC BY 2.0
Sharing good engineering practices




Picture courtesy of Hey Paul / CC BY 2.0
Picture courtesy of Jordan Miller / CC 2.5
Photo Courtesy of U.S. Army
Picture courtesy of tinyfroglet / CC 3.0
Preparation is difficult
             selecting the code
             organizing reviewers
             booking conference
             room
             scheduling
             printing
             ...



                   Picture courtesy of jfdervin / CC BY-SA 2.0
synchronized meetings




                        de-focusing
Picture courtesy of gadl / CC BY-SA 2.0
Risk of animosities
No concrete measureable
        results




                 Picture courtesy of aussiegall / CC BY 2.0
Successful code review

Lightweight - simple & flexible process

Asynchronous

Continuous

Efficient tool support

Diff-oriented whenever applicable

Transparent and persistent
Time for a longer demo




          +
Agile code review misconceptions
a fanatic bug-hunt
false confidence about
no bugs left
tracking results of every
single comment
expecting hard metrics




                            Picture courtesy of Juria Yoshikawa / CC BY-SA 2.0
The greatest initial Enemies

Rigid Process
Metrics
Micro-management




But teams evolve...
                      Picture courtesy of tms. / CC BY-NC-ND 2.0
Some rules of agile code review
                                          everyone can join review
                                          & comment
                                          everyone can modify the
                                          scope of the review
                                          everyone can invite other
                                          people
                                          everything is public
                                          across the company
                                          it's about learning, it's not
                                          about blaming
Picture courtesy of PantoDX / CC BY 2.0
Unexpected advantages
Facilitation of distributed
teams

Collaboration on low level
design

Easier to introduce
than pair-programming

Time-zone difference
may help you

Knowledge Base
                              Picture courtesy of david.nathan.cox / CC BY 2.0
Code Review vs. Pair Programming

         verification            creation
      later            sharing              now
                     knowledge
   ”repression”          &              ”prevention”
  asynchronous      responsibility      synchronous
  distributed      improved quality         co-located
   lower barrier                        higher barrier
                    collaboration
      extensive                         intensive
          permanent                  volatile
Picture courtesy of Kevin Dooley / CC BY 2.0
About us




wojciech.seliga@spartez.com                                  slawomir.ginter@spartez.com




                      Tag clouds generated with http://www.wordle.net/
Q&A




      Picture courtesy of Mykl Roventine / CC BY 2.0
Thank you

More Related Content

What's hot

How good is your software development team ?
How good is your software development team ?How good is your software development team ?
How good is your software development team ?
Kinshuk Adhikary
 
Agile Software Design
Agile Software DesignAgile Software Design
Agile Software Design
eduardomg23
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
Chris Sterling
 

What's hot (20)

Practical Usability
Practical UsabilityPractical Usability
Practical Usability
 
Architects and design-org
Architects and design-orgArchitects and design-org
Architects and design-org
 
How good is your software development team ?
How good is your software development team ?How good is your software development team ?
How good is your software development team ?
 
The Emperor's New Lean UX: Why I'm not using lean UX, and perhaps why you sho...
The Emperor's New Lean UX: Why I'm not using lean UX, and perhaps why you sho...The Emperor's New Lean UX: Why I'm not using lean UX, and perhaps why you sho...
The Emperor's New Lean UX: Why I'm not using lean UX, and perhaps why you sho...
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Effective prototyping (for Vermont Code Camp)
Effective prototyping (for Vermont Code Camp)Effective prototyping (for Vermont Code Camp)
Effective prototyping (for Vermont Code Camp)
 
Effective prototyping
Effective prototypingEffective prototyping
Effective prototyping
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
 
Agile Software Design
Agile Software DesignAgile Software Design
Agile Software Design
 
Biz Product Learnings
Biz Product LearningsBiz Product Learnings
Biz Product Learnings
 
Scaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the EnterpriseScaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the Enterprise
 
How does pair programming work?
How does pair programming work?How does pair programming work?
How does pair programming work?
 
By the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in SoftwareBy the Book: Examining the Art of Building Great User Experiences in Software
By the Book: Examining the Art of Building Great User Experiences in Software
 
Clash of the Titans: Releasing the Kraken | NodeJS @paypal
Clash of the Titans: Releasing the Kraken | NodeJS @paypalClash of the Titans: Releasing the Kraken | NodeJS @paypal
Clash of the Titans: Releasing the Kraken | NodeJS @paypal
 
Courageous Design
Courageous DesignCourageous Design
Courageous Design
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010
 
UW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software DebtUW Agile CP202 Class 3 Managing Software Debt
UW Agile CP202 Class 3 Managing Software Debt
 
Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design
 

Viewers also liked

Viewers also liked (7)

Effective Code Review (Or How To Alienate Your Coworkers)
Effective Code Review (Or How To Alienate Your Coworkers)Effective Code Review (Or How To Alienate Your Coworkers)
Effective Code Review (Or How To Alienate Your Coworkers)
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review Process
 
Code review in practice
Code review in practiceCode review in practice
Code review in practice
 
Top 10 static code analysis tool
Top 10 static code analysis toolTop 10 static code analysis tool
Top 10 static code analysis tool
 
Effective Code Review
Effective Code ReviewEffective Code Review
Effective Code Review
 
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
 
Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015Sass Code Reviews - How one code review changed my life #SassConf2015
Sass Code Reviews - How one code review changed my life #SassConf2015
 

Similar to JDD Effective Code Review In Agile Teams

Navigating Open Source Project Risk
Navigating Open Source Project RiskNavigating Open Source Project Risk
Navigating Open Source Project Risk
All Things Open
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
GoogleTecTalks
 
Avoiding Software Insanity
Avoiding Software InsanityAvoiding Software Insanity
Avoiding Software Insanity
josephnaveen
 

Similar to JDD Effective Code Review In Agile Teams (20)

Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
Collaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company AffiliationCollaborative Leadership: Governance Beyond Company Affiliation
Collaborative Leadership: Governance Beyond Company Affiliation
 
The Agile Technical Writer: Fact or Fiction?
The Agile Technical Writer: Fact or Fiction?The Agile Technical Writer: Fact or Fiction?
The Agile Technical Writer: Fact or Fiction?
 
CHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesCHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and Examples
 
P to V to C: The Value of Bringing “Everything” to Containers
P to V to C: The Value of Bringing “Everything” to ContainersP to V to C: The Value of Bringing “Everything” to Containers
P to V to C: The Value of Bringing “Everything” to Containers
 
The Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKSThe Reality of DIY Kubernetes vs. PKS
The Reality of DIY Kubernetes vs. PKS
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Introduction to project industrialization with Maven 2
Introduction to project industrialization with Maven 2Introduction to project industrialization with Maven 2
Introduction to project industrialization with Maven 2
 
5-10-15 years of Java developer career - Warszawa JUG 2015
5-10-15 years of Java developer career - Warszawa JUG 20155-10-15 years of Java developer career - Warszawa JUG 2015
5-10-15 years of Java developer career - Warszawa JUG 2015
 
Navigating Open Source Project Risk
Navigating Open Source Project RiskNavigating Open Source Project Risk
Navigating Open Source Project Risk
 
Navigating Open Source Risk
Navigating Open Source RiskNavigating Open Source Risk
Navigating Open Source Risk
 
Implementation Of Video Digital Watermarking Based on Python
Implementation Of Video Digital Watermarking Based on PythonImplementation Of Video Digital Watermarking Based on Python
Implementation Of Video Digital Watermarking Based on Python
 
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
V Code And V Data Illustrating A New Framework For Supporting The Video Annot...
 
Avoiding Software Insanity
Avoiding Software InsanityAvoiding Software Insanity
Avoiding Software Insanity
 
Pipeline Security with Cosign and OPA (Open Policy Agent)
Pipeline Security with Cosign and OPA (Open Policy Agent)Pipeline Security with Cosign and OPA (Open Policy Agent)
Pipeline Security with Cosign and OPA (Open Policy Agent)
 
Open Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right BalanceOpen Source Collaboration and Companies: Finding the Right Balance
Open Source Collaboration and Companies: Finding the Right Balance
 
Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!Overcoming Imposter Syndrome to Become a Conference Speaker!
Overcoming Imposter Syndrome to Become a Conference Speaker!
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 

More from Wojciech Seliga

More from Wojciech Seliga (20)

Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfSprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
 
Jak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaJak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klienta
 
How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...
 
Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)Developer plantations - colonialism of XXI century (GeeCON 2017)
Developer plantations - colonialism of XXI century (GeeCON 2017)
 
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
 
Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
 
10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy10 bezcennych lekcji dla software developera stającego się szefem firmy
10 bezcennych lekcji dla software developera stającego się szefem firmy
 
Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java
 
Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015
 
Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014
 
Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
 
Confitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career UnpluggedConfitura 2013 Software Developer Career Unplugged
Confitura 2013 Software Developer Career Unplugged
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year Later
 
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitAtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
 
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
 
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian Plugins
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

JDD Effective Code Review In Agile Teams

  • 1. Effective Code Review for Agile Java Developers Wojciech Seliga & Sławomir Ginter Tag cloud generated with Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. http://www.wordle.net/
  • 2. An Evil Plan Picture courtesy of Helico CC BY 2.0
  • 3.
  • 4. What code review has to do with Agile
  • 5. Picture courtesy of Cat and Girl CC A-NC-SA 2.5
  • 6. style/conventions design reusable components APIs do's and don'ts Picture courtesy of mil8 / CC BY 2.0
  • 7. Mentoring junior developers Non-intrusive Asynchronous Less frustration / interruption for senior devs Picture courtesy of eddidit / CC BY 2.0
  • 8. Sharing good engineering practices Picture courtesy of Hey Paul / CC BY 2.0
  • 9. Picture courtesy of Jordan Miller / CC 2.5
  • 10. Photo Courtesy of U.S. Army
  • 11. Picture courtesy of tinyfroglet / CC 3.0
  • 12. Preparation is difficult selecting the code organizing reviewers booking conference room scheduling printing ... Picture courtesy of jfdervin / CC BY-SA 2.0
  • 13. synchronized meetings de-focusing
  • 14. Picture courtesy of gadl / CC BY-SA 2.0
  • 16. No concrete measureable results Picture courtesy of aussiegall / CC BY 2.0
  • 17. Successful code review Lightweight - simple & flexible process Asynchronous Continuous Efficient tool support Diff-oriented whenever applicable Transparent and persistent
  • 18. Time for a longer demo +
  • 19. Agile code review misconceptions a fanatic bug-hunt false confidence about no bugs left tracking results of every single comment expecting hard metrics Picture courtesy of Juria Yoshikawa / CC BY-SA 2.0
  • 20. The greatest initial Enemies Rigid Process Metrics Micro-management But teams evolve... Picture courtesy of tms. / CC BY-NC-ND 2.0
  • 21. Some rules of agile code review everyone can join review & comment everyone can modify the scope of the review everyone can invite other people everything is public across the company it's about learning, it's not about blaming Picture courtesy of PantoDX / CC BY 2.0
  • 22. Unexpected advantages Facilitation of distributed teams Collaboration on low level design Easier to introduce than pair-programming Time-zone difference may help you Knowledge Base Picture courtesy of david.nathan.cox / CC BY 2.0
  • 23. Code Review vs. Pair Programming verification creation later sharing now knowledge ”repression” & ”prevention” asynchronous responsibility synchronous distributed improved quality co-located lower barrier higher barrier collaboration extensive intensive permanent volatile
  • 24. Picture courtesy of Kevin Dooley / CC BY 2.0
  • 25. About us wojciech.seliga@spartez.com slawomir.ginter@spartez.com Tag clouds generated with http://www.wordle.net/
  • 26. Q&A Picture courtesy of Mykl Roventine / CC BY 2.0