SlideShare a Scribd company logo
How to improve quality of the product using β€œcode review”Mikalai alimenkouAleksey solntsev
Alimenkou MikalaiJava Technical Lead/Scrum Master at Zoral Labs6+ years in software development4+ years of working by Agile methodologiesExpert in Agile engineering practicesAgile coachΒ at XP InjectionSolntsev AlekseyProcess Architect at Infopulse Ukraine
Agile volunteer
Certified Scrum Practitioner
Initiator and coordinator of translation of the cult book "Scrum and XP from the Trenches" into Russian
Agile coachΒ at XP InjectionAgendaIntroduction and common principlesWhyCode Review works?WhyCode Reviewcouldn’t work?How to find reviewer?Practices, metrics, tips and tricks
Where is quality better?
Goals of code reviewImprove quality of code
Share knowledge
Improve collective code ownership
Check conformance
Verify completeness
Educate
Reach a consensus
Try other approachesClassificationLess formalMost formal
Common principles: rolesThird personsA reviewerAn author
3main reasons why code review works
Two pair of eyes are better then one
Β«Teddy bearΒ» effect
Common denominator
reasons why code review couldn’t work3
Interpersonal conflict
β€œEgo” effect
Too bored procedure
7strategies how to choose a reviewer
1. Β«Daddy at homeΒ»
2. Β«Help yourselfΒ»
3. Β«Review contractΒ»
4. Β«Control centerΒ»
5. Β«SWATΒ»
6. Β«Everybody danceΒ»
7. Β«Adulterous relationshipΒ»
2ways to drivecode review
1. ATR (Author driver review)Yep, yepI’ve added a couple of new interfaces. There are the implementation.A reviewerAn author
2. RTR (Reviewer driven review)Hmm… I don’t understand what you try to verify using this test.Actually, I’m also a little bit confused …A reviewerAn author
7answers you shouldknow
What should we start with?A reviewer
What to review?Look at code changes/differencesReview whole solutionIdentify methods/functions and classes
How to organize code review?Use changes package (email, patch, etc.)Use separate branch in VCSUse distributed VCSCode exchange tools built in IDESpecialized instruments
How to organize code review?
Should we use metrics?
How long?60
Fast or slow?500
Big or small commits?400
How to start?1. Make common decision2. Start slowly3. Select only the most    problematic modules4. Inspect and adapt
8tipsand tricks
Before or after check-in?
Track reviewersNot for blame

More Related Content

What's hot (20)

PPT
Coding
Vishal Singh
Β 
PPTX
SonarQube: Continuous Code Inspection
Michael Jesse
Β 
PPTX
Software development best practices & coding guidelines
Ankur Goyal
Β 
PDF
Test-Driven Development (TDD)
Jaime110633
Β 
PPT
Basic software-testing-concepts
medsherb
Β 
PDF
On to code review lessons learned at microsoft
Michaela Greiler
Β 
PPTX
Software process
Amisha Patel
Β 
PPTX
Software Development Life Cycle (SDLC)
Al-Mamun Sarkar
Β 
PPTX
#1 formal methods – introduction for software engineering
Sharif Omar Salem
Β 
PDF
Workshop unit test
Francesco Garavaglia
Β 
PPTX
Intro to Manual Testing
Ayah Soufan
Β 
PDF
STLC (Software Testing Life Cycle)
Ch Fahadi
Β 
PPT
SonarQube Overview
Ahmed M. Gomaa
Β 
PDF
Test Automation
rockoder
Β 
PPTX
Track code quality with SonarQube
Dmytro Patserkovskyi
Β 
PDF
How To Write A Test Case In Software Testing | Edureka
Edureka!
Β 
PPT
Manual testing ppt
Santosh Maranabasari
Β 
PDF
SonarQube - Should I Stay or Should I Go ?
Geeks Anonymes
Β 
PDF
SonarQube
Gnanaseelan Jeb
Β 
PDF
A Not-So-Serious Introduction to Test Driven Development (TDD)
CodeOps Technologies LLP
Β 
Coding
Vishal Singh
Β 
SonarQube: Continuous Code Inspection
Michael Jesse
Β 
Software development best practices & coding guidelines
Ankur Goyal
Β 
Test-Driven Development (TDD)
Jaime110633
Β 
Basic software-testing-concepts
medsherb
Β 
On to code review lessons learned at microsoft
Michaela Greiler
Β 
Software process
Amisha Patel
Β 
Software Development Life Cycle (SDLC)
Al-Mamun Sarkar
Β 
#1 formal methods – introduction for software engineering
Sharif Omar Salem
Β 
Workshop unit test
Francesco Garavaglia
Β 
Intro to Manual Testing
Ayah Soufan
Β 
STLC (Software Testing Life Cycle)
Ch Fahadi
Β 
SonarQube Overview
Ahmed M. Gomaa
Β 
Test Automation
rockoder
Β 
Track code quality with SonarQube
Dmytro Patserkovskyi
Β 
How To Write A Test Case In Software Testing | Edureka
Edureka!
Β 
Manual testing ppt
Santosh Maranabasari
Β 
SonarQube - Should I Stay or Should I Go ?
Geeks Anonymes
Β 
SonarQube
Gnanaseelan Jeb
Β 
A Not-So-Serious Introduction to Test Driven Development (TDD)
CodeOps Technologies LLP
Β 

Viewers also liked (6)

PPTX
XP Injection
Aleksey Solntsev
Β 
PPTX
Agile Π²ΠΈΠ΄ ΠΈΠ· ΠΎΠΊΠ½Π° Ρ‚Ρ€Π΅Π½Π°ΠΆΡ‘Ρ€Π½ΠΎΠ³ΠΎ Π·Π°Π»Π°
Aleksey Solntsev
Β 
PPTX
Post Agile
Aleksey Solntsev
Β 
PPTX
How to be proud when you are done
Aleksey Solntsev
Β 
PDF
Code Review to the Rescue
Andreas GΓΌnzel
Β 
PDF
Lesson 09
Gene Babon
Β 
XP Injection
Aleksey Solntsev
Β 
Agile Π²ΠΈΠ΄ ΠΈΠ· ΠΎΠΊΠ½Π° Ρ‚Ρ€Π΅Π½Π°ΠΆΡ‘Ρ€Π½ΠΎΠ³ΠΎ Π·Π°Π»Π°
Aleksey Solntsev
Β 
Post Agile
Aleksey Solntsev
Β 
How to be proud when you are done
Aleksey Solntsev
Β 
Code Review to the Rescue
Andreas GΓΌnzel
Β 
Lesson 09
Gene Babon
Β 
Ad

Similar to Code review (20)

PDF
Code Reviews Inside Out
Ines Jelovac
Β 
PDF
Voxxed days 2015-hakansaglam-codereview
Hakan Saglam
Β 
PDF
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
Β 
PPTX
Code Reviews
phildenoncourt
Β 
PDF
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
sarah david
Β 
PPTX
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
sarah david
Β 
PDF
Code Review
Divante
Β 
PPTX
Code Review
R M Shahidul Islam Shahed
Β 
PPT
Code Review
Ravi Raj
Β 
PDF
How to do code review and use analysis tool in software development
Mitosis Technology
Β 
PPT
Code Review
rantav
Β 
PDF
Code Review: How And When
Paul Gower
Β 
PDF
Code Review for iOS
KLabCyscorpions-TechBlog
Β 
PPTX
Code review at large scale
Mikalai Alimenkou
Β 
PPT
Code review
dqpi
Β 
PDF
Effective code reviews
nextbuild
Β 
PDF
Code reviews
RaΓΊl Araya Tauler
Β 
PPTX
How to successfully grow a code review culture
Danylenko Max
Β 
PDF
Code Review: How and When
Paul Gower
Β 
PPTX
Expert Code Review best practices
jeetendra mandal
Β 
Code Reviews Inside Out
Ines Jelovac
Β 
Voxxed days 2015-hakansaglam-codereview
Hakan Saglam
Β 
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
Β 
Code Reviews
phildenoncourt
Β 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
sarah david
Β 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
sarah david
Β 
Code Review
Divante
Β 
Code Review
Ravi Raj
Β 
How to do code review and use analysis tool in software development
Mitosis Technology
Β 
Code Review
rantav
Β 
Code Review: How And When
Paul Gower
Β 
Code Review for iOS
KLabCyscorpions-TechBlog
Β 
Code review at large scale
Mikalai Alimenkou
Β 
Code review
dqpi
Β 
Effective code reviews
nextbuild
Β 
Code reviews
RaΓΊl Araya Tauler
Β 
How to successfully grow a code review culture
Danylenko Max
Β 
Code Review: How and When
Paul Gower
Β 
Expert Code Review best practices
jeetendra mandal
Β 
Ad

More from Aleksey Solntsev (12)

PPTX
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² условии нСопрСдСлённости
Aleksey Solntsev
Β 
PPTX
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
Aleksey Solntsev
Β 
PDF
Π‘ΡƒΡ‚ΠΈ IT-ΡˆΠ½Ρ–ΠΊΠΎΠΌ Ρ‚Π° ΠΎΠ±ΠΈΡ€Π°Ρ‚ΠΈ Тиття Π² Π£ΠΊΡ€Π°Ρ—Π½Ρ– – Ρ†Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ
Aleksey Solntsev
Β 
PPTX
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ оТиданиями Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ построСнии R&D Ρ†Π΅Π½Ρ‚Ρ€Π° Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅
Aleksey Solntsev
Β 
PPTX
NoSQL - Π²Π·Ρ€Ρ‹Π² возмоТностСй
Aleksey Solntsev
Β 
PPTX
NoSQL: what's under the hood?
Aleksey Solntsev
Β 
PPTX
ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния
Aleksey Solntsev
Β 
PPTX
Maven 3 : уличная магия
Aleksey Solntsev
Β 
PDF
РСтроспСктива: Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅
Aleksey Solntsev
Β 
PDF
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ украинский краудсорсинговый ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄
Aleksey Solntsev
Β 
PPT
Infopulse: How we do Scrum
Aleksey Solntsev
Β 
PPT
Agile Team
Aleksey Solntsev
Β 
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² условии нСопрСдСлённости
Aleksey Solntsev
Β 
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
Aleksey Solntsev
Β 
Π‘ΡƒΡ‚ΠΈ IT-ΡˆΠ½Ρ–ΠΊΠΎΠΌ Ρ‚Π° ΠΎΠ±ΠΈΡ€Π°Ρ‚ΠΈ Тиття Π² Π£ΠΊΡ€Π°Ρ—Π½Ρ– – Ρ†Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ
Aleksey Solntsev
Β 
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ оТиданиями Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ построСнии R&D Ρ†Π΅Π½Ρ‚Ρ€Π° Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅
Aleksey Solntsev
Β 
NoSQL - Π²Π·Ρ€Ρ‹Π² возмоТностСй
Aleksey Solntsev
Β 
NoSQL: what's under the hood?
Aleksey Solntsev
Β 
ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ вычислСния
Aleksey Solntsev
Β 
Maven 3 : уличная магия
Aleksey Solntsev
Β 
РСтроспСктива: Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅
Aleksey Solntsev
Β 
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ украинский краудсорсинговый ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄
Aleksey Solntsev
Β 
Infopulse: How we do Scrum
Aleksey Solntsev
Β 
Agile Team
Aleksey Solntsev
Β 

Recently uploaded (20)

PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
Β 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
Β 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
Β 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
Β 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
Β 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
Β 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
Β 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
Β 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
Β 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
Β 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
Β 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
Β 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
Β 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
Β 
PPTX
Digital Circuits, important subject in CS
contactparinay1
Β 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
Β 
PDF
Kit-Works Team Study_20250627_ν•œλ‹¬λ§Œμ—λ§Œλ“ μ‚¬λ‚΄μ„œλΉ„μŠ€ν‚€λ§(μ–‘λ‹€μœ—).pdf
Wonjun Hwang
Β 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
Β 
PDF
β€œNPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
Β 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
Β 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
Β 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
Β 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
Β 
Mastering Financial Management in Direct Selling
Epixel MLM Software
Β 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
Β 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
Β 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
Β 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
Β 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
Β 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
Β 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
Β 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
Β 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
Β 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
Β 
Digital Circuits, important subject in CS
contactparinay1
Β 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
Β 
Kit-Works Team Study_20250627_ν•œλ‹¬λ§Œμ—λ§Œλ“ μ‚¬λ‚΄μ„œλΉ„μŠ€ν‚€λ§(μ–‘λ‹€μœ—).pdf
Wonjun Hwang
Β 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
Β 
β€œNPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
Β 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
Β 

Code review

Editor's Notes

  • #22: БпСцотряд
  • #27: Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ я Π½Π΅ понимаю, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΡˆΡŒ этим тСстом.
  • #33: Π‘Ρ‚Ρ€ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΠ°, количСство Π½Π°ΠΉΡ‚Π΄Π΅Π½Π½Ρ‹Ρ… ошибок, ....
  • #39: Aleksey: before in most cases because of trunk should contain only good code.
  • #47: Π•ΡΠ»ΠΈΠΊΠΎΠ΄Π½Π΅ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚Ρ€Π΅Π²ΡŒΡŽΠ²Ρ‚ΠΎΡ€ΠΎΠΉΡ€Π°Π·, тоонсчитаСтсяопасным ΠΈ Ρ€Π΅Π²ΡŒΡŽΠ²ΠΈΡ‚ΡΡΠ΅Ρ‰Π΅ΠΊΠ΅ΠΌ-тоЕслизамСчанияпростыС, Ρ‚ΠΎΠΎΠ½ΠΈΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅ΡΡ€Π°Π·ΡƒΠΏΡ€ΠΈΡ€Π΅Π²ΡŒΡŽΠ•ΡΠ»ΠΈΠ·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉΠΎΡ‡Π΅Π½ΡŒΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎΠΎΠ½ΠΈΡ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡΠ½Π°ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅Π·Π°Π΄Π°Ρ‡ΠΈΡ‡Ρ‚ΠΎΠ±Ρ‹Π½Π΅Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΠ•ΡΠ»ΠΈΠΊΠΎΠ΄Π½Π΅ΠΏΡ€ΠΎΡˆΠ΅Π»Ρ€Π΅Π²ΡŒΡŽΠ²ΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠΉΡ€Π°Π· ΠΈ Π΅ΡΡ‚ΡŒΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΡ, Ρ‚ΠΎΠΎΠ½ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΄Π΅Π»Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅Π Π΅Π²ΡŒΡŽΡΡ‡ΠΈΡ‚Π°Π΅Ρ‚ΡΡΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, Π½ΠΎΠ½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉΠ·Π°Π΄Π°Ρ‡ΠΈ (ΠΆΠ΄Π΅ΠΌΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°)Π—Π°Π΄Π°Ρ‡Π°Π½Π΅ΠΌΠΎΠΆΠ΅Ρ‚ΠΏΡ€ΠΎΠ²ΠΈΡΠ΅Ρ‚ΡŒΠ½Π°Ρ€Π΅Π²ΡŒΡŽΠ΄ΠΎΠ»ΡŒΡˆΠ΅Ρ‡Π΅ΠΌΠ΄ΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎΠ΄ΡΠΉΠ»ΠΈΡΠΊΡ€Π°ΠΌΠ°Β