Pair Code Review Lightning Talk

13
Lightning Talk: Pair Code Review Dan Levenson

Transcript of Pair Code Review Lightning Talk

Page 1: Pair Code Review Lightning Talk

Lightning Talk: Pair Code ReviewDan Levenson

Page 2: Pair Code Review Lightning Talk

Who’s Speaking?

● dlevenson.com

● dleve123 on twitter, github, etc.

● CTO @ healthify.us

Page 3: Pair Code Review Lightning Talk
Page 4: Pair Code Review Lightning Talk

The Problem

Page 5: Pair Code Review Lightning Talk

The Problem

Page 6: Pair Code Review Lightning Talk

Development Workflow

1. Start story in Pivotal Tracker2. Implement story3. Open pull request4. Participate in code review (CR)5. Merge PR6. QA on staging and manually deploy to

production

Page 7: Pair Code Review Lightning Talk

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

Page 8: Pair Code Review Lightning Talk

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

Page 9: Pair Code Review Lightning Talk

Pair Code Review: Motivation

● Old process intuitively inefficient

● Scrum → Kanban○ minimize cycle time

Page 10: Pair Code Review Lightning Talk

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)

Page 11: Pair Code Review Lightning Talk

Some Progress

Page 12: Pair Code Review Lightning Talk

Some Progress

Page 13: Pair Code Review Lightning Talk

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