SlideShare a Scribd company logo
1 of 13
Code Review: An Approach
Presented by Steve Essich
https://www.linkedin.com/in/sessich/
Code Review Highlights
• Code Review Checklist
– Provide reminders about common issues
– Shorten code reviews with changing focus over time
• Precommit Code Review
– Ensure every line of code is reviewed at least once.
– Jira task is created to represent the PCR
– Code is inspected prior to being committed
– Informal (over the shoulder) (consider tool assistance)
• In-Depth Code Review
– A selection process identifies code to be reviewed
– Author prepares a review guide
– Review team conducts inspection
Code Review: An Approach linkedin.com/in/sessich
Code Review Checklist
• Remind developers of common issues as they
write and maintain code
• Focus reviewers attention as they conduct
reviews
• Evolve over time as the issues change.
• Different checklists will be required for
different kinds of code.
Code Review: An Approach linkedin.com/in/sessich
Precommit Code Review
• Ensure all new or changed code is reviewed.
• Reviewer(s) will tend to be part of author’s team
• Conducting the review…
– Informal: Over the shoulder, walkthrough style
• Author explains the code / changes
• Code review pace is largely driven by author
• Can be done remotely using screen sharing
• Author responds in real-time to comments, suggestions and
questions
Code Review: An Approach linkedin.com/in/sessich
Code Review: An Approach
In-Depth Code Review
linkedin.com/in/sessich
In-Depth Code Review
(continued)
• The IDCR process is triggered by an event that is
TBD.
• Assumption:
– Candidate files have changed since the last
triggering event.
• Connect Tech Leads…
– Choose files for IDCR
– Assign review team members.
– Determine the inspection technique
• Tool assisted, facilitated group inspection, etc.
– Schedule the inspection
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• Files are chosen for IDCR based on:
– Static code analysis results
– Core / framework logic
– Interface between subsystems
– Complexity
– Issue prone
– Tech lead recommendation
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• An issue / story is created in Jira for each file
chosen for IDCR. The description includes:
– The reason for selection
– Specific issues or code segments that require closer
inspection.
• Schedule a task…
– Assigning the author to prepare a review guide
– Assigning reviewers to prepare for and conduct the
inspection
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• Author prepares a review guide prior to the
inspection.
– The review guide materials are linked to the task.
– The author updates the status of the associated
task.
– Identify stories, defects (or other requirements)
– Identify related design work products
– Other documentation as necessary to put the file
into context
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• Inspection techniques may vary…
– Facilitated group meeting
• Reviewers prepare prior to the meeting.
• Facilitator conducts the inspection
• Observations are discussed and recorded
• Author participates
– Reviewers conduct inspection and record
observations.
• Consider tool assistance
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• Status of review tasks are updated.
• Post-review tasks are created to address
observations…
– For the author to acknowledge, address or
mitigate observations
– Re-inspection tasks for subset of review team to
ensure observations have been mitigated.
Code Review: An Approach linkedin.com/in/sessich
In-Depth Code Review
(continued)
• Status of post-review tasks are updated
• Additional tasks may be created.
• Best Practices
– Limit review to <400 lines of code
– Limit review length to <90 minutes
Code Review: An Approach linkedin.com/in/sessich
Next Steps
• Code Review Checklist
– Create checklist(s)
• Precommit Code Reviews
– How do we ensure compliance?
• In-Depth Code Reviews (IDCR)
– Identify triggering event(s)
– Create code selection process
– Identify reviewer selection guidelines
– Specify code inspection process
• Investigate use of Tools
Code Review: An Approach linkedin.com/in/sessich

More Related Content

Similar to Code review an approach

Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptxProvatMajhi
 
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...Information Development World
 
Code reviews: a short introduction
Code reviews: a short introductionCode reviews: a short introduction
Code reviews: a short introductionFreekDB
 
Testers in product development code review phase
Testers in product development   code review phaseTesters in product development   code review phase
Testers in product development code review phaseChetan Giridhar
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Nishkarsh Gupta
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code ReviewMilan Vukoje
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham.NET Conf UY
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2babak danyal
 
Object Pascal Clean Code Guidelines Proposal (at EKON 22)
Object Pascal Clean Code Guidelines Proposal (at EKON 22)Object Pascal Clean Code Guidelines Proposal (at EKON 22)
Object Pascal Clean Code Guidelines Proposal (at EKON 22)Arnaud Bouchez
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Denim Group
 
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1gururguru01
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 
Software Development
Software DevelopmentSoftware Development
Software DevelopmentBasil Bibi
 
Code Review
Code ReviewCode Review
Code ReviewDivante
 
Chapter 7 Development Strategies
Chapter 7 Development StrategiesChapter 7 Development Strategies
Chapter 7 Development StrategiesMeryl C
 

Similar to Code review an approach (20)

Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
 
Code reviews: a short introduction
Code reviews: a short introductionCode reviews: a short introduction
Code reviews: a short introduction
 
Testers in product development code review phase
Testers in product development   code review phaseTesters in product development   code review phase
Testers in product development code review phase
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
 
Object Pascal Clean Code Guidelines Proposal (at EKON 22)
Object Pascal Clean Code Guidelines Proposal (at EKON 22)Object Pascal Clean Code Guidelines Proposal (at EKON 22)
Object Pascal Clean Code Guidelines Proposal (at EKON 22)
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Case study
Case studyCase study
Case study
 
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Code Review
Code ReviewCode Review
Code Review
 
Chapter 7 Development Strategies
Chapter 7 Development StrategiesChapter 7 Development Strategies
Chapter 7 Development Strategies
 
Manual Code Review
Manual Code ReviewManual Code Review
Manual Code Review
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 

Code review an approach

  • 1. Code Review: An Approach Presented by Steve Essich https://www.linkedin.com/in/sessich/
  • 2. Code Review Highlights • Code Review Checklist – Provide reminders about common issues – Shorten code reviews with changing focus over time • Precommit Code Review – Ensure every line of code is reviewed at least once. – Jira task is created to represent the PCR – Code is inspected prior to being committed – Informal (over the shoulder) (consider tool assistance) • In-Depth Code Review – A selection process identifies code to be reviewed – Author prepares a review guide – Review team conducts inspection Code Review: An Approach linkedin.com/in/sessich
  • 3. Code Review Checklist • Remind developers of common issues as they write and maintain code • Focus reviewers attention as they conduct reviews • Evolve over time as the issues change. • Different checklists will be required for different kinds of code. Code Review: An Approach linkedin.com/in/sessich
  • 4. Precommit Code Review • Ensure all new or changed code is reviewed. • Reviewer(s) will tend to be part of author’s team • Conducting the review… – Informal: Over the shoulder, walkthrough style • Author explains the code / changes • Code review pace is largely driven by author • Can be done remotely using screen sharing • Author responds in real-time to comments, suggestions and questions Code Review: An Approach linkedin.com/in/sessich
  • 5. Code Review: An Approach In-Depth Code Review linkedin.com/in/sessich
  • 6. In-Depth Code Review (continued) • The IDCR process is triggered by an event that is TBD. • Assumption: – Candidate files have changed since the last triggering event. • Connect Tech Leads… – Choose files for IDCR – Assign review team members. – Determine the inspection technique • Tool assisted, facilitated group inspection, etc. – Schedule the inspection Code Review: An Approach linkedin.com/in/sessich
  • 7. In-Depth Code Review (continued) • Files are chosen for IDCR based on: – Static code analysis results – Core / framework logic – Interface between subsystems – Complexity – Issue prone – Tech lead recommendation Code Review: An Approach linkedin.com/in/sessich
  • 8. In-Depth Code Review (continued) • An issue / story is created in Jira for each file chosen for IDCR. The description includes: – The reason for selection – Specific issues or code segments that require closer inspection. • Schedule a task… – Assigning the author to prepare a review guide – Assigning reviewers to prepare for and conduct the inspection Code Review: An Approach linkedin.com/in/sessich
  • 9. In-Depth Code Review (continued) • Author prepares a review guide prior to the inspection. – The review guide materials are linked to the task. – The author updates the status of the associated task. – Identify stories, defects (or other requirements) – Identify related design work products – Other documentation as necessary to put the file into context Code Review: An Approach linkedin.com/in/sessich
  • 10. In-Depth Code Review (continued) • Inspection techniques may vary… – Facilitated group meeting • Reviewers prepare prior to the meeting. • Facilitator conducts the inspection • Observations are discussed and recorded • Author participates – Reviewers conduct inspection and record observations. • Consider tool assistance Code Review: An Approach linkedin.com/in/sessich
  • 11. In-Depth Code Review (continued) • Status of review tasks are updated. • Post-review tasks are created to address observations… – For the author to acknowledge, address or mitigate observations – Re-inspection tasks for subset of review team to ensure observations have been mitigated. Code Review: An Approach linkedin.com/in/sessich
  • 12. In-Depth Code Review (continued) • Status of post-review tasks are updated • Additional tasks may be created. • Best Practices – Limit review to <400 lines of code – Limit review length to <90 minutes Code Review: An Approach linkedin.com/in/sessich
  • 13. Next Steps • Code Review Checklist – Create checklist(s) • Precommit Code Reviews – How do we ensure compliance? • In-Depth Code Reviews (IDCR) – Identify triggering event(s) – Create code selection process – Identify reviewer selection guidelines – Specify code inspection process • Investigate use of Tools Code Review: An Approach linkedin.com/in/sessich

Editor's Notes

  1. This will improve the effectiveness of the review. Too much code or too long a review will not result in the identification of additional issues.
  2. This will improve the effectiveness of the review. Too much code or too long a review will not result in the identification of additional issues.
  3. This will improve the effectiveness of the review. Too much code or too long a review will not result in the identification of additional issues.
  4. Identify triggering event(s) Code Complete is one, are there others? Create code selection process Criteria for the selection of code What’s the steps in the process? Who executes the process? Is there a meeting? Should be a mix of objective (SonarQube) and subjective (nomination) Identify reviewer selection guidelines How many reviewers? Does it depend on the module, type of code, size, etc? Specify code inspection process There may be multiple processes, for example review meeting vs reviewers working independently No matter what the process it needs to be specified Investigate use of Crucible to do IDCR