SlideShare a Scribd company logo
Peer Code Review:  An Agile Process
Gregg Sporar Senior Product Manager [email_address] http://blog.smartbear.com  http://twitter.com/smartbears
Code  Collaborator codecollaborator.com
 
 
 
But is code review  really  Agile?
Individuals and interactions  over processes and tools  Working software  over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan  The Manifesto
Individuals and interactions  over processes and tools  Working software   over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan   The Manifesto
Working software is the primary measure of progress.   Manifesto Principles - I
Working software  is the primary measure of progress.   Manifesto Principles - I
Requirements Design Architecture
Requirements Design Architecture Code Discussion Review Review Where many of the bugs come from  (void)0
Professional Writers Have Editors
 
Spell Czech: Good, butt knot enough
ROI: The Experiment
Rule of Bug: Earlier == Cheaper What if we had Peer Review? ? ? ?
$152k, down from $368k 32, down from 194
Move the Feedback
Agile processes promote sustainable development.  The sponsors, developers, and users should be able  to maintain a constant pace indefinitely.  Manifesto Principles - II
Agile processes promote  sustainable development.  The sponsors, developers, and users should be able  to maintain a constant pace indefinitely.   Manifesto Principles - II
Bus Number >= 2
Collective Code Ownership
Continuous attention to technical excellence  and good design enhances agility.  Manifesto Principles - III
Continuous attention to  technical excellence  and  good design  enhances agility.   Manifesto Principles - III
The Ego Effect
 
if(“integrate”.equals( s )) Continuous Learning
Are the meetings necessary?
Can We Avoid:
Formal Inspections Michael Fagan, IBM, 1976
Fagan Phases = Meeting
 
 
 
 
4%
Fagan Phases = Meeting
Code review  without  meetings?
Over-the-Shoulder Easy / Free Interruption No info Recorded Walk-through
Email Easy / Free No Interruption / Remote Conversation Tracking Info. Hard to Retrieve No End?
Pair Programming No Tools or Workflow Deep Thought Big Time Commitment No Info. Recorded Too Close
Tool-Assisted Review
Typical review process
Reviewers Identify Changes Package/Deliver Organize Communication Track Defects Audit Trail Reports Automatic Metrics Hapless Developer Version Control
Tool-Assisted Review Collection Communication Chronicling Install and Maintain Time or Money
Tools Code Collaborator Commercial Crucible Commercial Review Board Open-Source Rietveld Free/Hosted
What’s the most efficient use of time?
Cisco® MeetingPlace® Case Study 3,200,000 lines of code 2,500 reviews 50 developers 10 months San Diego, Bangalore, Budapest s
CodeReviewBook.com
60-90 minutes max Time (minutes) Defects Found
Go slow:  200-500 LOC/hour
Not too much:  200-400 LOC
Author Preparation is   ??? Good!
Checklists
Checklist for Checklists 7    2 (George Miller, 1952) No obvious stuff Nothing that can be automated Stuff that’s easy to forget EXAMPLE: Errors handled properly in all cases
Version Control: Before or after check-in?
But won’t people  hate  doing code reviews?
Start Slowly
Selected Code Only Stable branch Core modules/10 scariest files Unit tests
No Flaming
Review the code,  not  the coder Ask, Don’t Tell Don’t Accuse We All Make Mistakes
Careful Use of Metrics
We’re Agile -  No  Metrics!
Numbers, Numbers, Numbers LOC Time Defects Inspection and Defect Rates Defect Density
 
Defect rates for a reviewer are task-independent
The meaning of metrics depends on the goal of the review
Properly Adjusted, Code Review  is  Agile
Gregg Sporar Senior Product Manager [email_address] http://blog.smartbear.com  http://twitter.com/smartbears

More Related Content

PPTX
Code Review
PPTX
Code review
DOCX
Code review guidelines
PDF
Software Engineering Culture - Improve Code Quality
PPT
Requirement Engineering
PPTX
Code Review Best Practices
DOCX
NFPA Standard.docx
PPTX
Types and elements of formatting a paragraph
Code Review
Code review
Code review guidelines
Software Engineering Culture - Improve Code Quality
Requirement Engineering
Code Review Best Practices
NFPA Standard.docx
Types and elements of formatting a paragraph

Viewers also liked (20)

PDF
Effective code reviews
PDF
How to successfully grow a code review culture
PDF
Sass Code Reviews - How one code review changed my life #SassConf2015
PPT
Agile Austin - Peer Code Review An Agile Process
PDF
Git branching
PDF
Code Review: How And When
PDF
How not to run code reviews
PDF
On to code review lessons learned at microsoft
PPTX
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
PPTX
Scaling your code review
PPT
Adopting code reviews for agile software development
PDF
WordCamp US 2016 - Ryan Markel: Code Review
PDF
Code Review: How and When
PDF
Would Static Analysis Tools Help Developers with Code Reviews?
PDF
Code reviews
PDF
The Impact of Code Review Coverage and Participation on Software Quality
PPTX
Code review psyhology
PDF
Fix Your Broken Windows With Code Reviews - phpist14
PDF
Simplified Security Code Review Process
PDF
Code Review Tool Evaluation
Effective code reviews
How to successfully grow a code review culture
Sass Code Reviews - How one code review changed my life #SassConf2015
Agile Austin - Peer Code Review An Agile Process
Git branching
Code Review: How And When
How not to run code reviews
On to code review lessons learned at microsoft
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Scaling your code review
Adopting code reviews for agile software development
WordCamp US 2016 - Ryan Markel: Code Review
Code Review: How and When
Would Static Analysis Tools Help Developers with Code Reviews?
Code reviews
The Impact of Code Review Coverage and Participation on Software Quality
Code review psyhology
Fix Your Broken Windows With Code Reviews - phpist14
Simplified Security Code Review Process
Code Review Tool Evaluation
Ad

Similar to Peer Code Review An Agile Process (20)

PDF
Software Defect Prevention via Continuous Inspection
PPTX
Code reviews
PPTX
The Best Kept Secrets of Code Review | SmartBear Webinar
PDF
Agile Code Reviews for Better Software—Sooner
PPTX
Code Reviews
PPTX
You cant be agile if your code sucks
PPT
Agile Development
PDF
Caring about Code Quality
PPTX
Agile Testing: The Role Of The Agile Tester
PPT
Lecture 10 Static Testing.ppt
PPS
ISTQB Foundation - Chapter 3
PPTX
Agile testing for mere mortals
PDF
FUG Agile software engineering practices
ODP
Agile Science
PPTX
Assessing youragility
PPTX
How Agile Are You Really?
PDF
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
PPTX
How to successfully grow a code review culture
PPTX
What Do You Do When Agile Is Too Slow?
PDF
Dscrum
Software Defect Prevention via Continuous Inspection
Code reviews
The Best Kept Secrets of Code Review | SmartBear Webinar
Agile Code Reviews for Better Software—Sooner
Code Reviews
You cant be agile if your code sucks
Agile Development
Caring about Code Quality
Agile Testing: The Role Of The Agile Tester
Lecture 10 Static Testing.ppt
ISTQB Foundation - Chapter 3
Agile testing for mere mortals
FUG Agile software engineering practices
Agile Science
Assessing youragility
How Agile Are You Really?
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
How to successfully grow a code review culture
What Do You Do When Agile Is Too Slow?
Dscrum
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Understanding_Digital_Forensics_Presentation.pptx
sap open course for s4hana steps from ECC to s4
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Peer Code Review An Agile Process