SlideShare a Scribd company logo
1 of 16
Why, What, How ?
17thJune2013
CharutaJoshi
•None of the material
presented in this
presentation is original.
•It bears strong resemblance
to the ideas presented in
“Best Secrets of Code
Review” by Jason Cohen
http://www.amazon.com/gp
/product/1599160676
•The resemblance is
intentional to get practical
advice about benefits & uses
of peer code reviews.
•Study conducted for 3 months
for 10000 line project with 10
developers.
Result:
•Code review would have saved
HALF the cost and uncovered 162
additional bugs
•$1 billion bug
•Challenger fiasco
WHY
WHY: BENEFITS
Improved Code
Quality
Fewer defects in
code
Improved
Knowledge
transfer
Education of junior
programmers
Direct
WHY: BENEFITS
Shorter
development/test
cycles
Reduced impact
on technical
support
More customer
satisfaction
More maintainable
code
Indirect
•Peer Code reviews are GREAT..FOR OTHERS
•WHY?
But we don’t really like them..
•Because we are NOT
machines.
•We take our code
personally.
•Our work represents our
creativity and we are not
always open to critique
But we don’t really like them..
•Hurt Feelings
• I am not the ONLY one to do that.
• You could say it a nicer way.
• It was a genuine mistake.
• Can you even do it yourself?
•Treat reviews as an opportunity to
learn from each other.
•Have fun, don’t make it personal
•The “Big-Brother” effect
•My manager will track my defects.
•My peers might have less defects than me.
•This will definitely impact my performance
review
WHY : -ve Social Impacts
WHY : But it is NOT ALL bad
•Begins even before first round
•Want to take pride in our work
•Create a reputation
•Accountability
WHY : +ve impacts – The “Ego Effect”
Nobody wants to be this
NPE guy !!
•Peer Reviewer Question : Why is the constant on left side while
comparing?
•Programmer Answer : I avoid Null Pointers if status is null
•Reviewer learns a new trick right away. Both had fun doing it !
(anyways more fun than writing & reading a coding guideline document
;) )
WHY : +ve impacts – Old Habits Die Easy
•Peer reviews highlight our mistakes
common programming with minimum
of impact
•If we maintain a list and avoid those, we
are on our way.
•You learn both ways, as a reviewer or if
your work is being reviewed
•PSP style experiment.
WHY : +ve impacts – Systematic Personal
Growth
WHAT: Types of Peer Code Review
Formal
Inspection
Process
Over The
Shoulder
Reviews
Email Pass
Around
Interviews
Tool assisted
reviews
Pair
Programming
•WHEN: Complete dev coding AND unit testing
•Setup a review session with a team peer of your
choice. Let your lead know.
•Should not be more than 30 minutes.
•Be friendly
•Closely look at code, boundary conditions.
•Ask questions
•Fix small issues
•Follow-up on big ones
•Identify doubts for main reviewer
•Run all unit tests again and ensure that they PASS
•Use a review tool (later)
HOW : Over the shoulder
•makes code reviews easy
and efficient for developer
teams
•Receiving feedback on their work
without reviewers altering their work.
•Keeping track of all the feedback and
the disposition of each comment.
•Learning from each other by seeing
comments from others – and
commenting on the work of other
team members
•Interacting in real-time, if they
happen to be reviewing the work at
the same time
•http://smartbear.com/products/
software-development/code-
review
•30 day free trial
HOW : Code Collaborator
Presented By: Charuta Joshi
Ref: “Best Secrets of Code Review” by Jason Cohen
http://www.amazon.com/gp/product/1599160676

More Related Content

What's hot

Paul Ellarby - Why do scrum?
Paul Ellarby - Why do scrum?Paul Ellarby - Why do scrum?
Paul Ellarby - Why do scrum?Paul Ellarby
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019Thomas Noë
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015Ikuru Kanuma
 
Run your project like it's an OpenSource project
Run your project like it's an OpenSource projectRun your project like it's an OpenSource project
Run your project like it's an OpenSource projectIan Bull
 
Code Reviews @ Quatico
Code Reviews @ QuaticoCode Reviews @ Quatico
Code Reviews @ QuaticoJan Wloka
 
Agile xp crash_course_2010_05_21
Agile xp crash_course_2010_05_21Agile xp crash_course_2010_05_21
Agile xp crash_course_2010_05_21Balint Erdi
 
What TDD Can Teach Us About API Design
What TDD Can Teach Us About API DesignWhat TDD Can Teach Us About API Design
What TDD Can Teach Us About API DesignJon Phenow
 
Learn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual PerformanceLearn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual PerformanceBill Shelton
 
Extreme Programming Deployed
Extreme Programming DeployedExtreme Programming Deployed
Extreme Programming DeployedSteve Loughran
 
Unit testing
Unit testingUnit testing
Unit testingBrian Hu
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolatorMaslowB
 
Test-Driven Design - ¿Porqué?
Test-Driven Design - ¿Porqué?Test-Driven Design - ¿Porqué?
Test-Driven Design - ¿Porqué?David Alfaro
 
Be More Salmon - Agile Manchester 2016
Be More Salmon - Agile Manchester 2016Be More Salmon - Agile Manchester 2016
Be More Salmon - Agile Manchester 2016Duncan Nisbet
 
Agile testing experiments
Agile testing experimentsAgile testing experiments
Agile testing experimentsBaiju Joseph
 

What's hot (20)

Paul Ellarby - Why do scrum?
Paul Ellarby - Why do scrum?Paul Ellarby - Why do scrum?
Paul Ellarby - Why do scrum?
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015
 
Tester vs Developer
Tester vs DeveloperTester vs Developer
Tester vs Developer
 
Run your project like it's an OpenSource project
Run your project like it's an OpenSource projectRun your project like it's an OpenSource project
Run your project like it's an OpenSource project
 
Code Reviews @ Quatico
Code Reviews @ QuaticoCode Reviews @ Quatico
Code Reviews @ Quatico
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Agile xp crash_course_2010_05_21
Agile xp crash_course_2010_05_21Agile xp crash_course_2010_05_21
Agile xp crash_course_2010_05_21
 
What TDD Can Teach Us About API Design
What TDD Can Teach Us About API DesignWhat TDD Can Teach Us About API Design
What TDD Can Teach Us About API Design
 
Learn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual PerformanceLearn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual Performance
 
Extreme Programming Deployed
Extreme Programming DeployedExtreme Programming Deployed
Extreme Programming Deployed
 
Exploratory testing
Exploratory testingExploratory testing
Exploratory testing
 
Unit testing
Unit testingUnit testing
Unit testing
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolator
 
Test-Driven Design - ¿Porqué?
Test-Driven Design - ¿Porqué?Test-Driven Design - ¿Porqué?
Test-Driven Design - ¿Porqué?
 
Be More Salmon - Agile Manchester 2016
Be More Salmon - Agile Manchester 2016Be More Salmon - Agile Manchester 2016
Be More Salmon - Agile Manchester 2016
 
10 qa and testing
10 qa and testing10 qa and testing
10 qa and testing
 
Why You're A Bad PHP Programmer
Why You're A Bad PHP ProgrammerWhy You're A Bad PHP Programmer
Why You're A Bad PHP Programmer
 
Agile testing experiments
Agile testing experimentsAgile testing experiments
Agile testing experiments
 

Similar to Peer review

{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptxAmalEldhose2
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentShawn Jones
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review cultureNina Zakharenko
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomationjeisner
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
 
TDD for Testers Workshop
TDD for Testers WorkshopTDD for Testers Workshop
TDD for Testers WorkshopSarah Usher
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile DevelopmentArin Sime
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Conceptswesovi
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewIda Aalen
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)ssusercaf6c1
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)Nacho Cougil
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekNacho Cougil
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2SOFTENG
 
What designers can learn from (code) review
What designers can learn from (code) reviewWhat designers can learn from (code) review
What designers can learn from (code) reviewIda Aalen
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Dror Helper
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming liveJohannes Brodwall
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsRehgan Avon
 
Developers Best Practices
Developers Best PracticesDevelopers Best Practices
Developers Best Practicesaqib javaid
 

Similar to Peer review (20)

{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
TDD for Testers Workshop
TDD for Testers WorkshopTDD for Testers Workshop
TDD for Testers Workshop
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
 
Code review
Code reviewCode review
Code review
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2The Portal Builder Story:  From Hell to Lean, from Zero to Cloud - part 2
The Portal Builder Story: From Hell to Lean, from Zero to Cloud - part 2
 
What designers can learn from (code) review
What designers can learn from (code) reviewWhat designers can learn from (code) review
What designers can learn from (code) review
 
Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012Creating change from within - Agile Practitioners 2012
Creating change from within - Agile Practitioners 2012
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Developers Best Practices
Developers Best PracticesDevelopers Best Practices
Developers Best Practices
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Peer review

  • 1. Why, What, How ? 17thJune2013 CharutaJoshi
  • 2. •None of the material presented in this presentation is original. •It bears strong resemblance to the ideas presented in “Best Secrets of Code Review” by Jason Cohen http://www.amazon.com/gp /product/1599160676 •The resemblance is intentional to get practical advice about benefits & uses of peer code reviews.
  • 3. •Study conducted for 3 months for 10000 line project with 10 developers. Result: •Code review would have saved HALF the cost and uncovered 162 additional bugs •$1 billion bug •Challenger fiasco WHY
  • 4. WHY: BENEFITS Improved Code Quality Fewer defects in code Improved Knowledge transfer Education of junior programmers Direct
  • 5. WHY: BENEFITS Shorter development/test cycles Reduced impact on technical support More customer satisfaction More maintainable code Indirect
  • 6. •Peer Code reviews are GREAT..FOR OTHERS •WHY? But we don’t really like them..
  • 7. •Because we are NOT machines. •We take our code personally. •Our work represents our creativity and we are not always open to critique But we don’t really like them..
  • 8. •Hurt Feelings • I am not the ONLY one to do that. • You could say it a nicer way. • It was a genuine mistake. • Can you even do it yourself? •Treat reviews as an opportunity to learn from each other. •Have fun, don’t make it personal •The “Big-Brother” effect •My manager will track my defects. •My peers might have less defects than me. •This will definitely impact my performance review WHY : -ve Social Impacts
  • 9. WHY : But it is NOT ALL bad
  • 10. •Begins even before first round •Want to take pride in our work •Create a reputation •Accountability WHY : +ve impacts – The “Ego Effect” Nobody wants to be this NPE guy !!
  • 11. •Peer Reviewer Question : Why is the constant on left side while comparing? •Programmer Answer : I avoid Null Pointers if status is null •Reviewer learns a new trick right away. Both had fun doing it ! (anyways more fun than writing & reading a coding guideline document ;) ) WHY : +ve impacts – Old Habits Die Easy
  • 12. •Peer reviews highlight our mistakes common programming with minimum of impact •If we maintain a list and avoid those, we are on our way. •You learn both ways, as a reviewer or if your work is being reviewed •PSP style experiment. WHY : +ve impacts – Systematic Personal Growth
  • 13. WHAT: Types of Peer Code Review Formal Inspection Process Over The Shoulder Reviews Email Pass Around Interviews Tool assisted reviews Pair Programming
  • 14. •WHEN: Complete dev coding AND unit testing •Setup a review session with a team peer of your choice. Let your lead know. •Should not be more than 30 minutes. •Be friendly •Closely look at code, boundary conditions. •Ask questions •Fix small issues •Follow-up on big ones •Identify doubts for main reviewer •Run all unit tests again and ensure that they PASS •Use a review tool (later) HOW : Over the shoulder
  • 15. •makes code reviews easy and efficient for developer teams •Receiving feedback on their work without reviewers altering their work. •Keeping track of all the feedback and the disposition of each comment. •Learning from each other by seeing comments from others – and commenting on the work of other team members •Interacting in real-time, if they happen to be reviewing the work at the same time •http://smartbear.com/products/ software-development/code- review •30 day free trial HOW : Code Collaborator
  • 16. Presented By: Charuta Joshi Ref: “Best Secrets of Code Review” by Jason Cohen http://www.amazon.com/gp/product/1599160676