SlideShare uma empresa Scribd logo
1 de 28
Code Peer Reviews
Leave your ego at the door



Frank Sons
Senior Software Engineer
So, what’s this about?

      Introducing Reviews

      Collective code ownership

      Some ways to review code

      Beware the dragons!


                                  2
A short introduction to reviews
    Forget about the code for the moment…




                                            3
What’s the idea?




  Peer review methods are employed
    to maintain standards, improve
  performance and provide credibility.




                                         4
Reviews aren’t limited to code…




                                  5
Back to code reviews…



 IBM: Inspection introduced in 1970s



 Google: 20% rule used for reviews


                                       6
„That‘s not my code!“
Collective code ownership is a mindset




                                         7
What about the ego?




      „Everyone has the right and
   freedom to totally suck in private.“




                                          8
Forget about your ego!




   „Attempt to be awesome in public
        and embrace the suck!“




                                      9
Reviews are knowledge sharing!




                                 10
Share within your team…

     Product knowledge

     Technical knowledge

     Coding Standards

     Transparency


                           11
How to review
A comprehensive overview




                           12
Ad hoc

     Just ask someone

     Takes only a few minutes

     Happens everywhere

     Little impact beyond problem

     Completely informal



                                    13
Peer deskcheck / passaround

     Asking someone for input

     Can be done asynchronous

     Author is not present

     Good for mentoring and coaching

     Very informal



                                       14
Pair programming

     Agile approach

     Driver and navigator

     Rapid iterations

     Cultural change needed

     Informal review



                              15
Walkthrough

     Author explains code

     Code reading

     Ideal to present and educate

     Risk of overlooking critical code

     Informal, no defined process



                                         16
Team review

     Used to judge product

     Check against specifications

     Preparation needed

     Review collects data and input

     Planned and structured



                                      17
Inspection

     Most formal approach

     Industry standard

     Specific roles and trained inspectors

     Checklist

     Moderated review



                                             18
“Inspection Walkthrough”

     Reader doesn‘t know code

     Experienced dev for „eagle eye“ view

     Author explains and answers questions

     Specific code section

     No leads involved



                                             19
Beware the dragons!
         It can be tricky…




                             20
Egoless!




   My ego is not tied to my „perfect“
    or „imperfect“ work product.




                                        21
Avoid the dragons

     No fingerpointing

     Leave the egos at the door

     Resistance to change

     Lack of knowledge

     Cultural issues



                                  22
Some things to keep in mind

     Three to seven participants

     Not longer than two hours

     Manager should be involved in planning

     Find problems, not solutions

     Review coverage vs. project size



                                              23
JUST DO IT!




              24
This helps…




              25
I hope you had a good time!



      Reviews can help your team

      Reviews are all about the mindset

      Don‘t fear the dragons




                                          26
Thanks!




          27
Bigpoint GmbH
       Frank Sons
Senior Software Engineer

    Drehbahn 47-48
    20354 Hamburg
       Germany

 Tel +49 40.88 14 13 - 0
Fax +49 40.88 14 13 - 11

  f.sons@bigpoint.net
    www.bigpoint.net



  Find us on


                           28

Mais conteúdo relacionado

Destaque

Code reviews
Code reviewsCode reviews
Code reviewsJuan Maiz
 
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 ProcessDr. Syed Hassan Amin
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool EvaluationKate Semizhon
 
Lecturas F2 4 Fn 1 C10
Lecturas   F2   4 Fn   1 C10Lecturas   F2   4 Fn   1 C10
Lecturas F2 4 Fn 1 C10finanzas_uca
 
The Rise of Click Bait, Death of Quality Content, and What We Can Do About It
The Rise of Click Bait, Death of Quality Content, and What We Can Do About ItThe Rise of Click Bait, Death of Quality Content, and What We Can Do About It
The Rise of Click Bait, Death of Quality Content, and What We Can Do About ItA Better Version of You
 
Ca Giving Green Gifts. 11.29.09
Ca Giving Green Gifts. 11.29.09Ca Giving Green Gifts. 11.29.09
Ca Giving Green Gifts. 11.29.09stwordsmith
 
Thesis Midterm032610
Thesis Midterm032610Thesis Midterm032610
Thesis Midterm032610klee4vp
 
ZnO基稀磁半导体共掺杂体系
ZnO基稀磁半导体共掺杂体系ZnO基稀磁半导体共掺杂体系
ZnO基稀磁半导体共掺杂体系cscguochang
 
Baird's 2008 Industrial Conference
Baird's 2008 Industrial ConferenceBaird's 2008 Industrial Conference
Baird's 2008 Industrial Conferencefinance46
 
Code Reviews - developer conference 2013
Code Reviews - developer conference 2013Code Reviews - developer conference 2013
Code Reviews - developer conference 2013Frank Sons
 
Building A Goal Aligned Enterprise Public
Building A Goal Aligned Enterprise   PublicBuilding A Goal Aligned Enterprise   Public
Building A Goal Aligned Enterprise Publicgregflay
 
Webforum 2011 - lovløse nettsamfunn?
Webforum 2011 - lovløse nettsamfunn?Webforum 2011 - lovløse nettsamfunn?
Webforum 2011 - lovløse nettsamfunn?Ingeborg Dirdal
 
SVH In Vogelvlucht Voor Albeda
SVH In Vogelvlucht Voor AlbedaSVH In Vogelvlucht Voor Albeda
SVH In Vogelvlucht Voor AlbedaJohan Lapidaire
 
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm patternRIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm patternMami Shiino
 
Государственная социальная сеть
Государственная социальная сетьГосударственная социальная сеть
Государственная социальная сетьVadim Andreev
 
hormel foods hrl_990330_200_120
hormel foods  hrl_990330_200_120hormel foods  hrl_990330_200_120
hormel foods hrl_990330_200_120finance46
 

Destaque (20)

Code reviews
Code reviewsCode reviews
Code reviews
 
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 Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
 
Lecturas F2 4 Fn 1 C10
Lecturas   F2   4 Fn   1 C10Lecturas   F2   4 Fn   1 C10
Lecturas F2 4 Fn 1 C10
 
The Rise of Click Bait, Death of Quality Content, and What We Can Do About It
The Rise of Click Bait, Death of Quality Content, and What We Can Do About ItThe Rise of Click Bait, Death of Quality Content, and What We Can Do About It
The Rise of Click Bait, Death of Quality Content, and What We Can Do About It
 
Ca Giving Green Gifts. 11.29.09
Ca Giving Green Gifts. 11.29.09Ca Giving Green Gifts. 11.29.09
Ca Giving Green Gifts. 11.29.09
 
Thesis Midterm032610
Thesis Midterm032610Thesis Midterm032610
Thesis Midterm032610
 
ZnO基稀磁半导体共掺杂体系
ZnO基稀磁半导体共掺杂体系ZnO基稀磁半导体共掺杂体系
ZnO基稀磁半导体共掺杂体系
 
Baird's 2008 Industrial Conference
Baird's 2008 Industrial ConferenceBaird's 2008 Industrial Conference
Baird's 2008 Industrial Conference
 
Code Reviews - developer conference 2013
Code Reviews - developer conference 2013Code Reviews - developer conference 2013
Code Reviews - developer conference 2013
 
Building A Goal Aligned Enterprise Public
Building A Goal Aligned Enterprise   PublicBuilding A Goal Aligned Enterprise   Public
Building A Goal Aligned Enterprise Public
 
Webforum 2011 - lovløse nettsamfunn?
Webforum 2011 - lovløse nettsamfunn?Webforum 2011 - lovløse nettsamfunn?
Webforum 2011 - lovløse nettsamfunn?
 
SVH In Vogelvlucht Voor Albeda
SVH In Vogelvlucht Voor AlbedaSVH In Vogelvlucht Voor Albeda
SVH In Vogelvlucht Voor Albeda
 
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm patternRIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
RIAアーキテクチャー研究会 第3回 セッション4 Mvpvm pattern
 
Государственная социальная сеть
Государственная социальная сетьГосударственная социальная сеть
Государственная социальная сеть
 
hormel foods hrl_990330_200_120
hormel foods  hrl_990330_200_120hormel foods  hrl_990330_200_120
hormel foods hrl_990330_200_120
 
Wishes
WishesWishes
Wishes
 
Rocodromo 1º bachiller
Rocodromo 1º bachillerRocodromo 1º bachiller
Rocodromo 1º bachiller
 
I festival de poesias mids
I festival de poesias   midsI festival de poesias   mids
I festival de poesias mids
 
Kpc Nieuwegein 27112009
Kpc Nieuwegein 27112009Kpc Nieuwegein 27112009
Kpc Nieuwegein 27112009
 

Semelhante a Code reviews - Leave your ego at the door

Code review in practice
Code review in practiceCode review in practice
Code review in practiceEdorian
 
성공적인코드리뷰 문화 사내 발표
성공적인코드리뷰 문화 사내 발표성공적인코드리뷰 문화 사내 발표
성공적인코드리뷰 문화 사내 발표Byoenghan Baek
 
Developing on large scale applications
Developing on large scale applicationsDeveloping on large scale applications
Developing on large scale applicationsAdrian IORGU
 
Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)Frank Sons
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
 
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Steven Hoober
 
What to do once you have an idea
What to do once you have an ideaWhat to do once you have an idea
What to do once you have an ideaSergey Sundukovskiy
 
Software Quality via Unit Testing
Software Quality via Unit TestingSoftware Quality via Unit Testing
Software Quality via Unit TestingShaun Abram
 
How Google Said - Ninja Code Review With Gerrit
How Google Said - Ninja Code Review With GerritHow Google Said - Ninja Code Review With Gerrit
How Google Said - Ninja Code Review With GerritAnuar Nurmakanov
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code QualitySaltmarch Media
 
The Essential Product Owner - Partnering with the team
The Essential Product Owner - Partnering with the teamThe Essential Product Owner - Partnering with the team
The Essential Product Owner - Partnering with the teamCprime
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)lqi
 
Software quality
Software qualitySoftware quality
Software quality5minpause
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsClint Edmonson
 
Java Zone 2017 - Build the right system
Java Zone 2017  - Build the right systemJava Zone 2017  - Build the right system
Java Zone 2017 - Build the right systemCecilie Haugstvedt
 
Education for Design For Life
Education for Design For LifeEducation for Design For Life
Education for Design For LifeDave Malouf
 
Java Zone Academy 2018 - Build the right system
Java Zone Academy 2018   -  Build the right systemJava Zone Academy 2018   -  Build the right system
Java Zone Academy 2018 - Build the right systemCecilie Haugstvedt
 
The Fun Of A Program Manager
The Fun Of A Program ManagerThe Fun Of A Program Manager
The Fun Of A Program ManagerBetter Software
 

Semelhante a Code reviews - Leave your ego at the door (20)

Code review in practice
Code review in practiceCode review in practice
Code review in practice
 
성공적인코드리뷰 문화 사내 발표
성공적인코드리뷰 문화 사내 발표성공적인코드리뷰 문화 사내 발표
성공적인코드리뷰 문화 사내 발표
 
Developing on large scale applications
Developing on large scale applicationsDeveloping on large scale applications
Developing on large scale applications
 
Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
 
What to do once you have an idea
What to do once you have an ideaWhat to do once you have an idea
What to do once you have an idea
 
Software Quality via Unit Testing
Software Quality via Unit TestingSoftware Quality via Unit Testing
Software Quality via Unit Testing
 
How Google Said - Ninja Code Review With Gerrit
How Google Said - Ninja Code Review With GerritHow Google Said - Ninja Code Review With Gerrit
How Google Said - Ninja Code Review With Gerrit
 
Caring about Code Quality
Caring about Code QualityCaring about Code Quality
Caring about Code Quality
 
2011_esc.pdf
2011_esc.pdf2011_esc.pdf
2011_esc.pdf
 
The Essential Product Owner - Partnering with the team
The Essential Product Owner - Partnering with the teamThe Essential Product Owner - Partnering with the team
The Essential Product Owner - Partnering with the team
 
Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)Slides for Houston iPhone Developers' Meetup (April 2012)
Slides for Houston iPhone Developers' Meetup (April 2012)
 
Software quality
Software qualitySoftware quality
Software quality
 
Code smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software OdorsCode smells and Other Malodorous Software Odors
Code smells and Other Malodorous Software Odors
 
Java Zone 2017 - Build the right system
Java Zone 2017  - Build the right systemJava Zone 2017  - Build the right system
Java Zone 2017 - Build the right system
 
Education for Design For Life
Education for Design For LifeEducation for Design For Life
Education for Design For Life
 
Pragmatic programmer 2
Pragmatic programmer 2Pragmatic programmer 2
Pragmatic programmer 2
 
Java Zone Academy 2018 - Build the right system
Java Zone Academy 2018   -  Build the right systemJava Zone Academy 2018   -  Build the right system
Java Zone Academy 2018 - Build the right system
 
The Fun Of A Program Manager
The Fun Of A Program ManagerThe Fun Of A Program Manager
The Fun Of A Program Manager
 

Mais de Frank Sons

An Introduction to pair programming methods
An Introduction to pair programming methodsAn Introduction to pair programming methods
An Introduction to pair programming methodsFrank Sons
 
Introduction to architecture katas
Introduction to architecture katasIntroduction to architecture katas
Introduction to architecture katasFrank Sons
 
Pair programming
Pair programmingPair programming
Pair programmingFrank Sons
 
Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?Frank Sons
 
Effektive Code Reviews Solutions
Effektive Code Reviews SolutionsEffektive Code Reviews Solutions
Effektive Code Reviews SolutionsFrank Sons
 
Creating a good architecture
Creating a good architectureCreating a good architecture
Creating a good architectureFrank Sons
 
Effective Code Reviews
Effective Code ReviewsEffective Code Reviews
Effective Code ReviewsFrank Sons
 
"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.de"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.deFrank Sons
 
Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015Frank Sons
 
Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015Frank Sons
 
Code Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgCode Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgFrank Sons
 
Code Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag HamburgCode Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag HamburgFrank Sons
 
Das Hochstapler Syndrom
Das Hochstapler SyndromDas Hochstapler Syndrom
Das Hochstapler SyndromFrank Sons
 
Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.Frank Sons
 
Presenting to win - how I changed some old slides
Presenting to win - how I changed some old slidesPresenting to win - how I changed some old slides
Presenting to win - how I changed some old slidesFrank Sons
 
Selbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum ExtroSelbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum ExtroFrank Sons
 
Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013Frank Sons
 
PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12Frank Sons
 

Mais de Frank Sons (20)

An Introduction to pair programming methods
An Introduction to pair programming methodsAn Introduction to pair programming methods
An Introduction to pair programming methods
 
Introduction to architecture katas
Introduction to architecture katasIntroduction to architecture katas
Introduction to architecture katas
 
Pair programming
Pair programmingPair programming
Pair programming
 
Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?
 
Effektive Code Reviews Solutions
Effektive Code Reviews SolutionsEffektive Code Reviews Solutions
Effektive Code Reviews Solutions
 
Creating a good architecture
Creating a good architectureCreating a good architecture
Creating a good architecture
 
Effective Code Reviews
Effective Code ReviewsEffective Code Reviews
Effective Code Reviews
 
"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.de"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.de
 
Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015
 
Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015
 
Code Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgCode Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup Hamburg
 
Code Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag HamburgCode Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag Hamburg
 
Das Hochstapler Syndrom
Das Hochstapler SyndromDas Hochstapler Syndrom
Das Hochstapler Syndrom
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.
 
Code Review
Code ReviewCode Review
Code Review
 
Presenting to win - how I changed some old slides
Presenting to win - how I changed some old slidesPresenting to win - how I changed some old slides
Presenting to win - how I changed some old slides
 
Selbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum ExtroSelbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum Extro
 
Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013
 
PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12
 

Último

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Último (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Code reviews - Leave your ego at the door

  • 1. Code Peer Reviews Leave your ego at the door Frank Sons Senior Software Engineer
  • 2. So, what’s this about? Introducing Reviews Collective code ownership Some ways to review code Beware the dragons! 2
  • 3. A short introduction to reviews Forget about the code for the moment… 3
  • 4. What’s the idea? Peer review methods are employed to maintain standards, improve performance and provide credibility. 4
  • 6. Back to code reviews… IBM: Inspection introduced in 1970s Google: 20% rule used for reviews 6
  • 7. „That‘s not my code!“ Collective code ownership is a mindset 7
  • 8. What about the ego? „Everyone has the right and freedom to totally suck in private.“ 8
  • 9. Forget about your ego! „Attempt to be awesome in public and embrace the suck!“ 9
  • 10. Reviews are knowledge sharing! 10
  • 11. Share within your team… Product knowledge Technical knowledge Coding Standards Transparency 11
  • 12. How to review A comprehensive overview 12
  • 13. Ad hoc Just ask someone Takes only a few minutes Happens everywhere Little impact beyond problem Completely informal 13
  • 14. Peer deskcheck / passaround Asking someone for input Can be done asynchronous Author is not present Good for mentoring and coaching Very informal 14
  • 15. Pair programming Agile approach Driver and navigator Rapid iterations Cultural change needed Informal review 15
  • 16. Walkthrough Author explains code Code reading Ideal to present and educate Risk of overlooking critical code Informal, no defined process 16
  • 17. Team review Used to judge product Check against specifications Preparation needed Review collects data and input Planned and structured 17
  • 18. Inspection Most formal approach Industry standard Specific roles and trained inspectors Checklist Moderated review 18
  • 19. “Inspection Walkthrough” Reader doesn‘t know code Experienced dev for „eagle eye“ view Author explains and answers questions Specific code section No leads involved 19
  • 20. Beware the dragons! It can be tricky… 20
  • 21. Egoless! My ego is not tied to my „perfect“ or „imperfect“ work product. 21
  • 22. Avoid the dragons No fingerpointing Leave the egos at the door Resistance to change Lack of knowledge Cultural issues 22
  • 23. Some things to keep in mind Three to seven participants Not longer than two hours Manager should be involved in planning Find problems, not solutions Review coverage vs. project size 23
  • 26. I hope you had a good time! Reviews can help your team Reviews are all about the mindset Don‘t fear the dragons 26
  • 27. Thanks! 27
  • 28. Bigpoint GmbH Frank Sons Senior Software Engineer Drehbahn 47-48 20354 Hamburg Germany Tel +49 40.88 14 13 - 0 Fax +49 40.88 14 13 - 11 f.sons@bigpoint.net www.bigpoint.net Find us on 28