Upload
proidea
View
106
Download
2
Embed Size (px)
DESCRIPTION
- Who did a code review for this peace, goddammit? - Eh well, you did. - Really? I must have been blind. This simply cannot work! Have you ever heard this discussion before? Studies show that code review main function is not finding bugs. Then what is code review really about? Why most of developers nowadays do it every day? Lecture starts with describing what are the common expectations for code review both from manager’s and developer’s perspective. Then on a contrary speaker tries to persuade the audience what code review is not suited for and why. The lecture concludes on why there is such a similarity between expectations and what code review should not be used for. Andrzej Angowski - The speaker is a Java enthusiast working for the biggest operator of online payments in Poland. He currently holds the role of Senior Java Developer within one of the scrum teams. He is responsible for settlement and reconciliation tools. Previously he worked for international corporation in Telco area creating IPTV middleware as well as data mining and reporting software. He also had an episode with system and network administration. In his spare time he runs carpooling portal and loves to play basketball. He is passionate about automotive and muscle cars in particular. He enjoys spending time with a family and friends.
Citation preview
Who did this code review,
goddammit!
Andrzej Angowski
About me…
2Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Agenda
1. Expectatons
2. Reality
3. How to align the two above
3Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Recap @code review
4Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
called pair programming for poor
Recap @code review
5Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
present @PayU for a long tme
Recap @code review
6Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
code review AND pair programming
Expectatons
7Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Expectatons
8Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
not bad by default
Expectatons
9Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
to low are bad…
Expectatons
10Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
…to high bad as well
Expectatons
11Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
they should be just right* ;)*Google’s OKR .6 – .7
Expectatons – car example
12Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
fast
Expectatons – car example
13Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
powerful
Expectatons – car example
14Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
cheap
Expectatons – car example
15Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
low gasoline consumpton
16Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Finding Defects
44%44%
- devops
- managers
17Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Code Improvements
39%31%
- devops
- managers
18Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Alternatve Solutons
17%2%*
* - no mistake
- devops
- managers
19Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Knowledge Transfer
8%
20Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Team Awareness and Transparency9%
Share Code Ownership6%
Reality
21Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
22Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Code Improvements
29%
23Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Code Improvement – example
24Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Understanding
22%
25Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Social Communicaton16%
Understanding - example
26Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Finding Defects
27Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
14%
Defect – found
28Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Defect – FIXED!
29Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Expectatons Expectatons Reality Reality
30Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Expectatons Expectatons Reality Reality
31Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
At frst…
understand
the reason of the change
32Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Reason – ask if not clear!
33Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
At second…
understand
the context of the change
34Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Context – can you spot a defect?
35Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Context – what about now?
36Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
At third…
widen
communicaton channel
37Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Can this be handled face-to-face?
38Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
It’s all about…
UNDERSTANDING
39Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Additonal tp
RESPONSIBILITY
is stll yours
40Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Responsibility is yours
41Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
you stll need to test it
Responsibility is yours
42Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
you are the one to go to if it fails on PROD
Feeling empowered?
43Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Deploy on PROD without testng?
44Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Additonal tp – other side
don’t take someone else’s
RESPONSIBILITY
45Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Additonal tp – contnued
46Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
it’s not a must…
Additonal tp – contnued
47Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
…but something you want to do!
Really!
Thank you!
48Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
Questons?
49Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!
About me…
50Atmosphere, May 2014 Andrzej Angowski – who did this code review, goddammit!