SlideShare a Scribd company logo
Lightning Talk:
Pair Code
Review
Dan Levenson
Who’s Speaking?
● dlevenson.com
● dleve123 on twitter, github, etc.
● CTO @ healthify.us
Pair Code Review Lightning Talk
The Problem
The Problem
Development Workflow
1. Start story in Pivotal Tracker
2. Implement story
3. Open pull request
4. Participate in code review (CR)
5. Merge PR
6. QA on staging and manually deploy to
production
Stepwise Code Review Protocol
1. Developer assigns a reviewer using Github’s
pull request (PR) assignee functionality
2. Developer explicitly requests CR via Github
comment
3. Reviewer reviews via Github comments,
developer performs revisions, and repeat
4. Reviewer merges PR
Stepwise CR: Takeaways
● Not “Agile”: No face to face conversation
● “This is so simple. I’ll review it later”
○ later → much too late.
● Dead time due to lack of CR scheduling
○ Large PRs are daunting → even longer dead time
Pair Code Review: Motivation
● Old process intuitively inefficient
● Scrum → Kanban
○ minimize cycle time
Pair Code Review: Protocol
1. Developer and reviewer agree on a 1 hour
time period ASAP
2. Reviewer leads review and asks developer
questions
3. Reviewer comments on PR to document
action items generated from CR
4. Developer revises (usually only 1 time)
Some Progress
Some Progress
Pair CR: Takeaways
● Pros
○ Scheduling → less dead time
○ Long comments replaced by quick conversations
○ Breeds pairing culture
● Cons
○ Bias of the developer can affect reviewer

More Related Content

ODP
Product development and tools
PDF
Driving development in PHP
ODP
Getting your project_started
PDF
Survival of the Continuist
PDF
Fast end-to-end-tests
PDF
Releaseflow: a healthy build and deploy process
PDF
Agile testing
PDF
Extreme Programming - to the next-level
Product development and tools
Driving development in PHP
Getting your project_started
Survival of the Continuist
Fast end-to-end-tests
Releaseflow: a healthy build and deploy process
Agile testing
Extreme Programming - to the next-level

What's hot (20)

PDF
Lightweight continuous delivery for small schools
PPT
icebreakerwithdevops-150218112943-conversion-gate02
PDF
Introduction to Automated Testing
PPT
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
PPTX
GitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
PPTX
Develop 4 Developers
PDF
Automated Performance Testing
PDF
Project4 schedule engl317_ada-fall2020
PDF
Project 4 Schedule
PDF
TuleapCon 2019. DevOps in Tuleap
PPTX
SPC Denver/Boulder - Jan 2020
PDF
Automating The New York Times Crossword by Phil Wells
ODP
OpenNTF Essentials
PDF
Using Crowdsourced Testing to Turbocharge your Development Team
PDF
QA Strategies for Testing Legacy Web Apps
PDF
Atlassian - The Latest & Greatest April 2014
PPTX
Dot all 2019 | Testing with Craft | Giel Tettelar
PPTX
Project management frameworks for software developing
PPTX
Docs or it didn’t happen
PPTX
Pull requests do's and don'ts
Lightweight continuous delivery for small schools
icebreakerwithdevops-150218112943-conversion-gate02
Introduction to Automated Testing
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
GitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
Develop 4 Developers
Automated Performance Testing
Project4 schedule engl317_ada-fall2020
Project 4 Schedule
TuleapCon 2019. DevOps in Tuleap
SPC Denver/Boulder - Jan 2020
Automating The New York Times Crossword by Phil Wells
OpenNTF Essentials
Using Crowdsourced Testing to Turbocharge your Development Team
QA Strategies for Testing Legacy Web Apps
Atlassian - The Latest & Greatest April 2014
Dot all 2019 | Testing with Craft | Giel Tettelar
Project management frameworks for software developing
Docs or it didn’t happen
Pull requests do's and don'ts
Ad

Similar to Pair Code Review Lightning Talk (20)

PDF
Software Defect Prevention via Continuous Inspection
PPTX
It's all about feedback - code review as a great tool in the agile toolbox
PDF
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
PPTX
Pair Programming - the lightning talk
PDF
Agile Code Reviews for Better Software—Sooner
PPTX
It Takes Two - A Case Study in Pair Programming
PPTX
Code quality
PPT
Pair Programming
PPT
Pair Programming
PDF
Adm Initial Proposal
PDF
Code Review Tool Evaluation
PDF
How does pair programming work?
PPTX
Code Review to the Rescue
PDF
Introducing Pair Programming
PPTX
Никита Манько “Code review”
PDF
Integrating Quality into Project Portfolio Management
PPTX
Code_Review_Presentation_v22222_LLM.pptx
PDF
Pairing w developers_stpconpics
PDF
Agile Engineering Practices
PPT
Extreme & pair programming Slides ppt
Software Defect Prevention via Continuous Inspection
It's all about feedback - code review as a great tool in the agile toolbox
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
Pair Programming - the lightning talk
Agile Code Reviews for Better Software—Sooner
It Takes Two - A Case Study in Pair Programming
Code quality
Pair Programming
Pair Programming
Adm Initial Proposal
Code Review Tool Evaluation
How does pair programming work?
Code Review to the Rescue
Introducing Pair Programming
Никита Манько “Code review”
Integrating Quality into Project Portfolio Management
Code_Review_Presentation_v22222_LLM.pptx
Pairing w developers_stpconpics
Agile Engineering Practices
Extreme & pair programming Slides ppt
Ad

Recently uploaded (20)

PDF
Mushroom cultivation and it's methods.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Approach and Philosophy of On baking technology
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
A Presentation on Touch Screen Technology
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mushroom cultivation and it's methods.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
1. Introduction to Computer Programming.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Group 1 Presentation -Planning and Decision Making .pptx
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
Approach and Philosophy of On baking technology
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
WOOl fibre morphology and structure.pdf for textiles
1 - Historical Antecedents, Social Consideration.pdf
A novel scalable deep ensemble learning framework for big data classification...
SOPHOS-XG Firewall Administrator PPT.pptx
A Presentation on Touch Screen Technology
Zenith AI: Advanced Artificial Intelligence
Enhancing emotion recognition model for a student engagement use case through...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
DP Operators-handbook-extract for the Mautical Institute
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Pair Code Review Lightning Talk

  • 2. Who’s Speaking? ● dlevenson.com ● dleve123 on twitter, github, etc. ● CTO @ healthify.us
  • 6. Development Workflow 1. Start story in Pivotal Tracker 2. Implement story 3. Open pull request 4. Participate in code review (CR) 5. Merge PR 6. QA on staging and manually deploy to production
  • 7. Stepwise Code Review Protocol 1. Developer assigns a reviewer using Github’s pull request (PR) assignee functionality 2. Developer explicitly requests CR via Github comment 3. Reviewer reviews via Github comments, developer performs revisions, and repeat 4. Reviewer merges PR
  • 8. Stepwise CR: Takeaways ● Not “Agile”: No face to face conversation ● “This is so simple. I’ll review it later” ○ later → much too late. ● Dead time due to lack of CR scheduling ○ Large PRs are daunting → even longer dead time
  • 9. Pair Code Review: Motivation ● Old process intuitively inefficient ● Scrum → Kanban ○ minimize cycle time
  • 10. Pair Code Review: Protocol 1. Developer and reviewer agree on a 1 hour time period ASAP 2. Reviewer leads review and asks developer questions 3. Reviewer comments on PR to document action items generated from CR 4. Developer revises (usually only 1 time)
  • 13. Pair CR: Takeaways ● Pros ○ Scheduling → less dead time ○ Long comments replaced by quick conversations ○ Breeds pairing culture ● Cons ○ Bias of the developer can affect reviewer