code reviews and how to improve them. · local amdram, glastonbury, edfringe. reviewing code review...

82
Reviewing Code Review Lee Stone @leesto 1 Code Reviews and How To Improve Them. Improving the process of improving

Upload: others

Post on 21-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

1

Code Reviews and How To Improve Them.Improving the process of improving

Page 2: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

2

Reviewing Code Review.Improving the process of improving

Page 3: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

3

Hi. I’m Lee.

Organiser of PHPSWOne of a great team to make sure nights like tonight happen

#Web Team Lead at GradwellLead a team producing web applications for selling & managing Gradwell services

$Theatre TechnicianLocal Amdram, Glastonbury, edFringe

Page 4: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

4

What is Code Review?

Page 5: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

5

The activity of checking another developer’s code for defects and

improvement opportunities

Page 6: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

6

Checking code through a dedicated toolprior to merge upstream

Page 7: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

7

Why Should We Review Code?

Page 8: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

8

Prevent Bugs Reaching Production.

Security

Business Logic

Coding Standards

Page 9: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

9

Knowledge Share

Ideal to mentor new developers

Shared business logic - Remove SPOFs

Discover Technical Approaches

Page 10: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

10

Other Benefits.

Improve Estimates

Making Sure Solutions Meet Requirements

Page 11: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

11

What Code Review Isn’t

Page 12: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

12

It does not replace training

Page 13: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

13

It does not replace demos

Page 14: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

14

My Environment

Page 15: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

15

Service Delivery

Web Dev

VoIP team

CEO, Office Manager/HR

Meeting Room 3

Meeting Room 2

Finance

Spare desks

Info AssurPG

FinanceInfo Assur

CEO

Page 16: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

15

Service Delivery

Web Dev

VoIP team

CEO, Office Manager/HR

Meeting Room 3

Meeting Room 2

Finance

Spare desks

Info AssurPG

FinanceInfo Assur

CEO

Page 17: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

16

Page 18: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

16

Senior DeveloperVladimir

Senior DeveloperJosip

Mid-Level DeveloperDanijel

Junior DeveloperNebojsa

Junior DeveloperJovana

QANemanja

Junior DeveloperJames

Web Team LeadLee

Page 19: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

17

How We Complete Code Reviews

Page 20: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

18

Crucible.Links with Atlassian SuiteSee the reviews on Jira tickets‘One Stop Shop’ for us

Indicate DefectsOn a comment, can mark it is a defect which is shown separately

Easily See Differences Between CommitsHighlights added/removed linesCan drag between commits to see history

Auto Update for Changes on BranchDeveloper doesn’t have to update review on making changes & can’t forget

Page 21: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

18

Crucible.Links with Atlassian SuiteSee the reviews on Jira tickets‘One Stop Shop’ for us

Indicate DefectsOn a comment, can mark it is a defect which is shown separately

Easily See Differences Between CommitsHighlights added/removed linesCan drag between commits to see history

Auto Update for Changes on BranchDeveloper doesn’t have to update review on making changes & can’t forget

Page 22: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

18

Crucible.Links with Atlassian SuiteSee the reviews on Jira tickets‘One Stop Shop’ for us

Indicate DefectsOn a comment, can mark it is a defect which is shown separately

Easily See Differences Between CommitsHighlights added/removed linesCan drag between commits to see history

Auto Update for Changes on BranchDeveloper doesn’t have to update review on making changes & can’t forget

Page 23: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

18

Crucible.Links with Atlassian SuiteSee the reviews on Jira tickets‘One Stop Shop’ for us

Indicate DefectsOn a comment, can mark it is a defect which is shown separately

Easily See Differences Between CommitsHighlights added/removed linesCan drag between commits to see history

Auto Update for Changes on BranchDeveloper doesn’t have to update review on making changes & can’t forget

Page 24: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

18

Crucible.Links with Atlassian SuiteSee the reviews on Jira tickets‘One Stop Shop’ for us

Indicate DefectsOn a comment, can mark it is a defect which is shown separately

Easily See Differences Between CommitsHighlights added/removed linesCan drag between commits to see history

Auto Update for Changes on BranchDeveloper doesn’t have to update review on making changes & can’t forget

Page 25: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

19

Everything is Reviewed.

Page 26: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

20

Everything Should be Reviewed Within 2 Days

Page 27: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

21

Everyone is invited to the review

Page 28: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

21

Everyone is invited to the review

1 x Senior must sign off

Page 29: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

21

Everyone is invited to the review

1 x Senior must sign off

1 x Other must sign off

Page 30: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

21

Everyone is invited to the review

1 x Senior must sign off

1 x Other must sign off

No defects

Page 31: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

22

HipChat BotBecause we all forget

Page 32: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

23

Effective Code Reviews

Page 33: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

24

Don’t Make it Personal.

Page 34: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

24

Don’t Take it Personally.

Page 35: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

25

I find using “we” rather than “I” or “You” helps

Page 36: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

26

Don’t just point out the error or problem and move on

Provide Solutions

Page 37: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

27

Put whitespace only changes into separate commits

Page 38: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

28

Put ‘library’ code and ‘application’ code intoseparate reviews

Page 39: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

29

What Has Gone Well For Us?

Page 40: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

30

Increased knowledge of similar work at sprintplanning sessions.

Page 41: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

31

Tended towards standard approachesin a quicker fashion.

Page 42: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

32

Seen opportunities to refactor and producemore generic libraries earlier.

Page 43: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

33

Caught Security Issues Before Hitting Production

SQL Injection

Modifying Other Customer’s Settings

Producing a List of Customer Emails

Partners Seeing Gradwell Only Pages

Page 44: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

34

Improved In-line Documentation

Page 45: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

35

The business is completely on-board

Page 46: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

36

Increased Confidence From The Rest of The Business

Page 47: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

37

Given Individual Developers More Freedom

Page 48: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

38

Where Do I Have To Encourage The Team?

Page 49: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

39

What are the most difficult reviews toget feedback on?

Page 50: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

40

Anything by

This Guy

Page 51: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

41

A new developer to the team is more cautious about commenting on anyone else’s code.

How to Encourage Newer Developers.

Page 52: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

41

A new developer to the team is more cautious about commenting on anyone else’s code.

How to Encourage Newer Developers.

%

Start Small.Typos and coding styles are still important and are ‘less risky’ to

comment on.

Page 53: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

41

A new developer to the team is more cautious about commenting on anyone else’s code.

How to Encourage Newer Developers.

%

Start Small.Typos and coding styles are still important and are ‘less risky’ to

comment on.

%

Ask Why.Code reviews don’t have to be just for pointing out problems.

Asking why an approach was taken can be a good learning

opportunity.

Page 54: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

41

A new developer to the team is more cautious about commenting on anyone else’s code.

How to Encourage Newer Developers.

%

Start Small.Typos and coding styles are still important and are ‘less risky’ to

comment on.

%

Ask Why.Code reviews don’t have to be just for pointing out problems.

Asking why an approach was taken can be a good learning

opportunity.

%

Say If You Don’t Understand.

We all have to maintain the code and readability is one of our most

important considerations.

If you don’t understand what is happening, we have probably

done something wrong. Even if the code works.

Page 55: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

41

A new developer to the team is more cautious about commenting on anyone else’s code.

How to Encourage Newer Developers.

%

Start Small.Typos and coding styles are still important and are ‘less risky’ to

comment on.

%

Ask Why.Code reviews don’t have to be just for pointing out problems.

Asking why an approach was taken can be a good learning

opportunity.

%

Say If You Don’t Understand.

We all have to maintain the code and readability is one of our most

important considerations.

If you don’t understand what is happening, we have probably

done something wrong. Even if the code works.

%

Bring Fresh IdeasEveryone can bring different

experiences and suggest new and improved ways of

approaching something.

Page 56: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

42

Move Beyond Coding Standards

Page 57: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

42

Move Beyond Coding Standards

Page 58: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

43

Don’t stick to giving the same feedback

Especially on a ‘minor benefit’ point

Page 59: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

44

What Do We Need To Improve?

Page 60: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

45

Introduce Code Coverage Reports

Page 61: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

46

Get Reviews Completed Quicker

Page 62: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

47

Page 63: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

47

Page 64: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

48

Why so Long?Reviewers Don’t Want to Interrupt FlowOther developers don’t look until they have finished their task, or at an ideal break point

Page 65: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

48

Why so Long?Reviewers Don’t Want to Interrupt FlowOther developers don’t look until they have finished their task, or at an ideal break point

Developers Move on to Something NewResistant to context switch back to make any suggested changes

Page 66: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

48

Why so Long?Reviewers Don’t Want to Interrupt FlowOther developers don’t look until they have finished their task, or at an ideal break point

Developers Move on to Something NewResistant to context switch back to make any suggested changes

Large Reviews are Harder to StartPeople see ’67 files changed’ and delay

Page 67: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

48

Why so Long?Reviewers Don’t Want to Interrupt FlowOther developers don’t look until they have finished their task, or at an ideal break point

Developers Move on to Something NewResistant to context switch back to make any suggested changes

Large Reviews are Harder to StartPeople see ’67 files changed’ and delay

It Gets WorseThe more cycles, the longer since the code was written, the longer it takes to switch

Page 68: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

49

These Delays Hurt Our Release Pace

Page 69: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

50

How to Speed Up?Encourage Smaller Reviews- More partial reviews early on- Fundamentally create smaller stories to work on

Page 70: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

50

How to Speed Up?Encourage Smaller Reviews- More partial reviews early on- Fundamentally create smaller stories to work on

Encourage Use of Small Time Periods- Before / after meetings- Before / after lunch.- End of day

Page 71: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

50

How to Speed Up?Encourage Smaller Reviews- More partial reviews early on- Fundamentally create smaller stories to work on

Encourage Use of Small Time Periods- Before / after meetings- Before / after lunch.- End of day

‘Fixed’ Review TimesI want to avoid this

Page 72: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

51

How to Speed Up…. Completion?Ownership of Work- Although we work as a team, we need a ‘champion’- Encouraging others to do reviews & acting on

feedback

Page 73: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

51

How to Speed Up…. Completion?Ownership of Work- Although we work as a team, we need a ‘champion’- Encouraging others to do reviews & acting on

feedback

Increase Recognition of Shipping- Verbal Recognition- How to handle for a remote team?

Page 74: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

52

More Business Logic Feedback

Page 75: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

53

Lets Recap

Page 76: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

54

Code reviews take time, but bring benefits to teams.Your approach needs to be customised to suit your team.

In Summary…

Page 77: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

54

Code reviews take time, but bring benefits to teams.Your approach needs to be customised to suit your team.

In Summary…

&

Think About….

What Do You Want To Get Out Of The Reviews?

Page 78: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

54

Code reviews take time, but bring benefits to teams.Your approach needs to be customised to suit your team.

In Summary…

&

Think About….

What Do You Want To Get Out Of The Reviews?

&

Think About….

How Do You Get Buy In From The Team?

Page 79: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

54

Code reviews take time, but bring benefits to teams.Your approach needs to be customised to suit your team.

In Summary…

&

Think About….

What Do You Want To Get Out Of The Reviews?

&

Think About….

How Do You Get Buy In From The Team?

&

Think About….

What Tooling Can Fit Into Your Workflow?

Page 80: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

54

Code reviews take time, but bring benefits to teams.Your approach needs to be customised to suit your team.

In Summary…

&

Think About….

What Do You Want To Get Out Of The Reviews?

&

Think About….

How Do You Get Buy In From The Team?

&

Think About….

What Tooling Can Fit Into Your Workflow?

&

Think About….

How Do You Not Considerably Slow Your

Release Pace?

Page 81: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

55

Thank You.Any Questions?

Page 82: Code Reviews and How To Improve Them. · Local Amdram, Glastonbury, edFringe. Reviewing Code Review Lee Stone ! @leesto 4 What is Code Review? Reviewing Code Review ... Dev VoIP team

Reviewing Code Review

Lee Stone ! @leesto

56

https://joind.in/talk/e62d8