SlideShare a Scribd company logo
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
JDD Effective Code Review In Agile Teams
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

PDF
Escaping Test Hell - ACCU 2014
PDF
Big Ball of Mud: Software Maintenance Nightmares
PDF
Refactoring: Gold from a Monolithic Legacy
PDF
BBOM-AgilePT-2010
PDF
[EN] Great software development quotes
PDF
Managing Software Debt in Practice 2011
PDF
Testers and developers think differently
PDF
Rethinking Enterprise Software - Brandolini
Escaping Test Hell - ACCU 2014
Big Ball of Mud: Software Maintenance Nightmares
Refactoring: Gold from a Monolithic Legacy
BBOM-AgilePT-2010
[EN] Great software development quotes
Managing Software Debt in Practice 2011
Testers and developers think differently
Rethinking Enterprise Software - Brandolini

What's hot (20)

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

Viewers also liked (7)

PPTX
Effective Code Review (Or How To Alienate Your Coworkers)
PPTX
Improving Code Quality Through Effective Review Process
PDF
Code review in practice
PPTX
Top 10 static code analysis tool
PPTX
Effective Code Review
PDF
How to successfully grow a code review culture
PDF
Sass Code Reviews - How one code review changed my life #SassConf2015
Effective Code Review (Or How To Alienate Your Coworkers)
Improving Code Quality Through Effective Review Process
Code review in practice
Top 10 static code analysis tool
Effective Code Review
How to successfully grow a code review culture
Sass Code Reviews - How one code review changed my life #SassConf2015
Ad

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

PPTX
Code reviews - Leave your ego at the door
PDF
Back To Basics: Agile Practices
PDF
Software development is hard
PDF
Refactoring Fest
PDF
Itag Jan09 Agile Coclarity
PDF
Agile meets waterfall
PDF
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
PDF
Agile Project Management - coClarity
PDF
Audrys Kažukauskas - Introduction into Extreme Programming
PDF
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
PDF
Integrating Quality into Portfolio Management
PPT
Arch factory - Agile Design: Best Practices
PPTX
You cant be agile if your code sucks
PPTX
The Agile Technical Writer: Fact or Fiction?
PDF
Software Defect Prevention via Continuous Inspection
PDF
Introduction to agility
PPTX
Scrum in One Day
PPTX
Software Craftsmanship - 1 Meeting
PDF
Beyond The Timesheet
KEY
Agile Development Overview (with a bit about builds)
Code reviews - Leave your ego at the door
Back To Basics: Agile Practices
Software development is hard
Refactoring Fest
Itag Jan09 Agile Coclarity
Agile meets waterfall
Boeing Webinar - Integrating Quality in Portfolio Management - oct 2010
Agile Project Management - coClarity
Audrys Kažukauskas - Introduction into Extreme Programming
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Integrating Quality into Portfolio Management
Arch factory - Agile Design: Best Practices
You cant be agile if your code sucks
The Agile Technical Writer: Fact or Fiction?
Software Defect Prevention via Continuous Inspection
Introduction to agility
Scrum in One Day
Software Craftsmanship - 1 Meeting
Beyond The Timesheet
Agile Development Overview (with a bit about builds)

More from Wojciech Seliga (20)

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

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Modernizing your data center with Dell and AMD
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Unlocking AI with Model Context Protocol (MCP)
Modernizing your data center with Dell and AMD

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
  • 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