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

DOCX
Code review guidelines
PPTX
Code Review
PPTX
Track code quality with SonarQube - short version
PPTX
SonarQube Presentation.pptx
PPT
Agile testing
PPTX
Code Review Best Practices
PDF
Chapter 5 - Managing Test Activities V4.0
PDF
SonarQube - Should I Stay or Should I Go ?
Code review guidelines
Code Review
Track code quality with SonarQube - short version
SonarQube Presentation.pptx
Agile testing
Code Review Best Practices
Chapter 5 - Managing Test Activities V4.0
SonarQube - Should I Stay or Should I Go ?

What's hot (20)

PPT
SonarQube Overview
PDF
What is Agile Methodology?
ODP
Defects in software testing
PDF
Effective code reviews
PPTX
TDD - Agile
PDF
Java Source Code Analysis using SonarQube
PDF
An Introduction to Test Driven Development
PPT
Software documentation
PPTX
Software testing life cycle
PPT
Software Testing 101
PPTX
Cost of defects
PPTX
Bug life cycle
PPTX
Unified process Model
PPTX
DOCX
Web accessibility testing 4 - NVDA screen reader
PPT
Test Driven Development
PPTX
Agile Testing by Example
PPT
Automation testing
PDF
How to successfully grow a code review culture
PPT
Automated Testing vs Manual Testing
SonarQube Overview
What is Agile Methodology?
Defects in software testing
Effective code reviews
TDD - Agile
Java Source Code Analysis using SonarQube
An Introduction to Test Driven Development
Software documentation
Software testing life cycle
Software Testing 101
Cost of defects
Bug life cycle
Unified process Model
Web accessibility testing 4 - NVDA screen reader
Test Driven Development
Agile Testing by Example
Automation testing
How to successfully grow a code review culture
Automated Testing vs Manual Testing
Ad

Viewers also liked (6)

PPTX
XP Injection
PPTX
Agile вид из окна тренажёрного зала
PPTX
Post Agile
PPTX
How to be proud when you are done
PDF
Code Review to the Rescue
PDF
Lesson 09
XP Injection
Agile вид из окна тренажёрного зала
Post Agile
How to be proud when you are done
Code Review to the Rescue
Lesson 09
Ad

Similar to Code review (20)

PPT
Code Review
PPTX
A Brief Introduction to Test-Driven Development
PDF
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
PPTX
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
PPTX
Software presentation
PPTX
Agile testingandautomation
PDF
Dare to Explore: Discover ET!
PDF
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
PDF
PDF
Continuous Deployment and Testing Workshop from Better Software West
PPT
Unit Testing, TDD and the Walking Skeleton
PPTX
Working with Legacy Code
PPT
Code review
PPT
Automated Unit Testing and TDD
PPTX
Code review at large scale
PPTX
Peer review
PDF
Agile Testing 20021015
PPT
Software coding and testing
PDF
Code review best practice
PDF
Agile testing
Code Review
A Brief Introduction to Test-Driven Development
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
Software presentation
Agile testingandautomation
Dare to Explore: Discover ET!
"Challenges Faced by Testers Working on Agile Teams" by Aldo Rall
Continuous Deployment and Testing Workshop from Better Software West
Unit Testing, TDD and the Walking Skeleton
Working with Legacy Code
Code review
Automated Unit Testing and TDD
Code review at large scale
Peer review
Agile Testing 20021015
Software coding and testing
Code review best practice
Agile testing

More from Aleksey Solntsev (12)

PPTX
Управление проектом в условии неопределённости
PPTX
Управление сложностью в проектах
PDF
Бути IT-шніком та обирати життя в Україні – це реально
PPTX
Управление ожиданиями заказчика при построении R&D центра в Украине
PPTX
NoSQL - взрыв возможностей
PPTX
NoSQL: what's under the hood?
PPTX
Облачные вычисления
PPTX
Maven 3 : уличная магия
PDF
Ретроспектива: вперёд в прошлое
PDF
Первый украинский краудсорсинговый перевод
PPT
Infopulse: How we do Scrum
PPT
Agile Team
Управление проектом в условии неопределённости
Управление сложностью в проектах
Бути IT-шніком та обирати життя в Україні – це реально
Управление ожиданиями заказчика при построении R&D центра в Украине
NoSQL - взрыв возможностей
NoSQL: what's under the hood?
Облачные вычисления
Maven 3 : уличная магия
Ретроспектива: вперёд в прошлое
Первый украинский краудсорсинговый перевод
Infopulse: How we do Scrum
Agile Team

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Big Data Technologies - Introduction.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Big Data Technologies - Introduction.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
SOPHOS-XG Firewall Administrator PPT.pptx
MIND Revenue Release Quarter 2 2025 Press Release
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Digital-Transformation-Roadmap-for-Companies.pptx

Code review

Editor's Notes

  • #22: Спецотряд
  • #27: Так, что-то я не понимаю, что ты проверяешь этим тестом.
  • #33: Строчки дока, количество найтденных ошибок, ....
  • #39: Aleksey: before in most cases because of trunk should contain only good code.
  • #47: Есликоднепроходитревьювторойраз, тоонсчитаетсяопасным и ревьювитсяещекем-тоЕслизамечанияпростые, тоониисправляются в паресразуприревьюЕслизамечанийоченьмного, тоониразбиваютсянаполноценныезадачичтобынезатягиватьЕсликоднепрошелревьювовторойраз и естьсерьезныезамечания, тоонобязательноделается в пареРевьюсчитаетсямаксимальнымприоритетом, нонепрерываеттекущейзадачи (ждемперерыва)Задачанеможетпровисетьнаревьюдольшечемдоследующегодэйлискрама