SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
W10
Concurrent Class
10/2/2013 1:45:00 PM

"Agile Code Reviews for Better
Software—Sooner"
Presented by:
Mark Hammer
SmartBear Software

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Mark Hammer
SmartBear Software
Senior product director at SmartBear Software Mark Hammer speaks and writes about the
software development process with a special emphasis on code review. Mark has more than
twenty years of experience in software product management, previously at global-education
leader Houghton Mifflin Harcourt. He has a strong track record in developing customer-focused
business solutions in both business-to-business and business-to-consumer markets. Mark was
VP of marketing for CompassLearning, an educational software developer.
9/20/2013

Want Higher Quality Software
from Your Agile Team?
Peer Review Works
Mark Hammer
1

2

1
9/20/2013

3

Product Mgmt

Development

QA

4

2
9/20/2013

Product Mgmt

Development

QA

User stories

Code

Test Plans

5

Professional Writers Have Editors

6

3
9/20/2013

7

Industry Metrics

8

4
9/20/2013

Measure

Industry
Average

High
Performance
Teams

Net Promoter Score

20%

> 70%

% defects of total injected found by customer

15%

< 2%

% effort spent in finding and fixing defects

50%

< 10%

% effort for post-release support

30%

< 5%

Unit test code coverage

Varies

> 80%

Post release defect density

7.5
defects/KLOC

< 0.5
defects/KLOC

9

Measure

Industry
Average

High
Performance
Teams

Net Promoter Score

20%

> 70%

% defects of total injected found by customer

15%

< 2%

% effort spent in finding and fixing defects

50%

< 10%

% effort for post-release support

30%

< 5%

Unit test code coverage

Varies

> 80%

Post release defect density

7.5
defects/KLOC

< 0.5
defects/KLOC

 Bugs found in development are 8-12X less expensive to fix than those

found in QA phase
 And 30-100X less expensive than bugs that reach customers

10

5
9/20/2013

The Curious Case of Missing Code Reviews

11

Requirements

Discussion

Design

Review

Architecture

Review

12

6
9/20/2013

Requirements

Discussion

Design

Review

Architecture

Review

Code

N/A

13

Product Mgmt

Development

QA

Review

Requirements

Architecture

Code

Test Plans
14

7
9/20/2013

If You Need More Convincing
Geographically-distributed teams (main vs. offshore
teams, apprentice – mentor)
CMMI – code review is mandated
FDA – code review is mandated
Embedded systems – very high cost of change
PCI – code review is mandated
Agile teams – fast, convenient way to collaborate,
provides less time-intensive “pair programming”
opportunity

15

Code Review Options






Over-the-Shoulder
Email
Pair Programming
Formal Inspection Meetings?!
Tool

16

8
9/20/2013

Over-the-Shoulder

17

Over-the-Shoulder

Easy / Free
Interruption
No Info Recorded

18

9
9/20/2013

Email

19

Email
Easy / Free
No Interruption / Remote
Conversation Tracking

Info. Hard to Retrieve
No End?
20

10
9/20/2013

Pair Programming

21

Pair Programming
No Tools or Workflow
Deep Thought
Big Time Commitment

No Info. Recorded
Too Close
22

11
9/20/2013

Why Don’t More Teams Do It?
• It’s hard to do, with no clear perceived
benefits
– Expensive, tedious and time consuming to
do it manually
– Difficult to track threads of communication
– Code review isn’t integrated with source
code management (SCM) tool
– Hard to collaborate with remote members

23

Hapless
Developer

Reviewers

Version
Control

24

12
9/20/2013

Largest Peer Code Review Study Ever
•

•
•
•
•
•

Objectives:
– lightweight vs. formal inspections
– What constitutes an effective review?
10-month case study at Cisco
Cisco MeetingPlace product, teleconferencing
solution
3.2 million lines of code
2500 reviews
50 developers

25

Recommendations (Best Practices)
LOC under review < 200, Not to exceed 400
Inspection rate < 300 LOC/hour
Author preparation with annotations
- Self review checklist

Total review time < 60 min. Not to exceed
90

26

13
9/20/2013

Product Mgmt

User stories

QA

Code

Test Plans

27

Product Mgmt

Development

QA

Review

Requirements

Architecture

Code

Test Plans
28

14
9/20/2013

Case Study
• 2011: 70 floating licenses: ~350 developers
• 2013: 130 floating licenses: ~650 team members
• User stories are shared in Word format with entire
team
• Design documents are shared in Powerpoint with
entire team
• Code is shared with entire team
• Test cases are shared in Excel format with entire
team

29

Benefits of Cross-Functional Peer Review
• Every member of the extended development team
knows what’s happening
• Problems with user stories, code, and test plans are
found faster
• It forces developers to write readable code (code that
can be read without explanation!)
• Optimization methods/tricks/productive programs
spread faster
• Programmer as a specialist "evolve" faster
• Teams can iterate from story to code to test plan
• It's fun
30

15
9/20/2013

The simple fact of knowing your work will be
reviewed by others means you’ll do it better.

31

16

Contenu connexe

Tendances

General overview low code/ no code
General overview low code/ no codeGeneral overview low code/ no code
General overview low code/ no codeCedrik Dudek
 
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsTechnical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsOutSystems
 
Training Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training WebinarTraining Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training WebinarOutSystems
 
Techtiq blog-to-doc (1)
Techtiq blog-to-doc (1)Techtiq blog-to-doc (1)
Techtiq blog-to-doc (1)DanielDixon45
 
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...Modern Workplace Conference Paris
 
9 reasons why low code no-code platform is the best choice for increasing ado...
9 reasons why low code no-code platform is the best choice for increasing ado...9 reasons why low code no-code platform is the best choice for increasing ado...
9 reasons why low code no-code platform is the best choice for increasing ado...Enterprise Bot
 
Low-Code App Development
Low-Code App DevelopmentLow-Code App Development
Low-Code App DevelopmentAppian
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesAlfred Jett Grandeza
 
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...Richard Rabins
 
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEXLow Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEXjoelkallman
 
Managing a Mobile App Development Team
Managing a Mobile App Development TeamManaging a Mobile App Development Team
Managing a Mobile App Development TeamKristina Podnar
 
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...Kiratech
 
Goals Of Software Design - The main goals
Goals Of Software Design - The main goalsGoals Of Software Design - The main goals
Goals Of Software Design - The main goalsparag
 
Low-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionLow-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionAppian
 
Low Code Platforms - Ebook
Low Code Platforms - EbookLow Code Platforms - Ebook
Low Code Platforms - EbookWaveMaker, Inc.
 
Business Transformation With Low-Code
Business Transformation With Low-CodeBusiness Transformation With Low-Code
Business Transformation With Low-CodeWePlus Consultancy
 

Tendances (20)

General overview low code/ no code
General overview low code/ no codeGeneral overview low code/ no code
General overview low code/ no code
 
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsTechnical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
 
joselucas_sep16
joselucas_sep16joselucas_sep16
joselucas_sep16
 
Training Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training WebinarTraining Webinar: From a bad to an awesome user experience - Training Webinar
Training Webinar: From a bad to an awesome user experience - Training Webinar
 
Techtiq blog-to-doc (1)
Techtiq blog-to-doc (1)Techtiq blog-to-doc (1)
Techtiq blog-to-doc (1)
 
NoCode Vienna Meetup #1 2020
NoCode Vienna Meetup #1 2020NoCode Vienna Meetup #1 2020
NoCode Vienna Meetup #1 2020
 
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
 
Web And App Design
Web And App DesignWeb And App Design
Web And App Design
 
9 reasons why low code no-code platform is the best choice for increasing ado...
9 reasons why low code no-code platform is the best choice for increasing ado...9 reasons why low code no-code platform is the best choice for increasing ado...
9 reasons why low code no-code platform is the best choice for increasing ado...
 
Low-Code App Development
Low-Code App DevelopmentLow-Code App Development
Low-Code App Development
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...
Alpha Anywhere presentation at the the Always on Summit -- Building Offline M...
 
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEXLow Code Meets the Enterprise - Low Code AppDev with Oracle APEX
Low Code Meets the Enterprise - Low Code AppDev with Oracle APEX
 
Managing a Mobile App Development Team
Managing a Mobile App Development TeamManaging a Mobile App Development Team
Managing a Mobile App Development Team
 
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...
Slides Webinar "Start your DevOps Journey with GITHUB" (in Italiano) by Kirat...
 
Goals Of Software Design - The main goals
Goals Of Software Design - The main goalsGoals Of Software Design - The main goals
Goals Of Software Design - The main goals
 
Infopack COAX Software
Infopack COAX SoftwareInfopack COAX Software
Infopack COAX Software
 
Low-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionLow-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or Decision
 
Low Code Platforms - Ebook
Low Code Platforms - EbookLow Code Platforms - Ebook
Low Code Platforms - Ebook
 
Business Transformation With Low-Code
Business Transformation With Low-CodeBusiness Transformation With Low-Code
Business Transformation With Low-Code
 

En vedette

Testing in the Age of Distraction: Flow, Focus, and Defocus in Testing
Testing in the Age of Distraction: Flow, Focus, and Defocus in TestingTesting in the Age of Distraction: Flow, Focus, and Defocus in Testing
Testing in the Age of Distraction: Flow, Focus, and Defocus in TestingTechWell
 
Reduce Release Cycle Time: Nine Months to a Week - Nice!
Reduce Release Cycle Time: Nine Months to a Week - Nice!Reduce Release Cycle Time: Nine Months to a Week - Nice!
Reduce Release Cycle Time: Nine Months to a Week - Nice!TechWell
 
The Four Dimensions of Performance Improvement
The Four Dimensions of Performance ImprovementThe Four Dimensions of Performance Improvement
The Four Dimensions of Performance ImprovementTechWell
 
It's a Phone First! How to Test Your Five-star Mobile Apps
It's a Phone First! How to Test Your Five-star Mobile AppsIt's a Phone First! How to Test Your Five-star Mobile Apps
It's a Phone First! How to Test Your Five-star Mobile AppsTechWell
 
Beyond Processes and Tools: What about Ethics?
Beyond Processes and Tools: What about Ethics?Beyond Processes and Tools: What about Ethics?
Beyond Processes and Tools: What about Ethics?TechWell
 
Using Mindmaps to Develop a Test Strategy
Using Mindmaps to Develop a Test StrategyUsing Mindmaps to Develop a Test Strategy
Using Mindmaps to Develop a Test StrategyTechWell
 
Test Status Reporting: Focus Your Message for Executives
Test Status Reporting: Focus Your Message for ExecutivesTest Status Reporting: Focus Your Message for Executives
Test Status Reporting: Focus Your Message for ExecutivesTechWell
 
The Leadership Tutorial: Improving Your Ability to Stand and Deliver
The Leadership Tutorial: Improving Your Ability to Stand and DeliverThe Leadership Tutorial: Improving Your Ability to Stand and Deliver
The Leadership Tutorial: Improving Your Ability to Stand and DeliverTechWell
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
Test Automation Patterns: Issues and Solutions
Test Automation Patterns: Issues and SolutionsTest Automation Patterns: Issues and Solutions
Test Automation Patterns: Issues and SolutionsTechWell
 
Avoiding Overdesign and Underdesign
Avoiding Overdesign and UnderdesignAvoiding Overdesign and Underdesign
Avoiding Overdesign and UnderdesignTechWell
 
Scaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsScaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsTechWell
 
Exploratory Testing on Agile Projects: Combining SBTM and TBTM
Exploratory Testing on Agile Projects: Combining SBTM and TBTMExploratory Testing on Agile Projects: Combining SBTM and TBTM
Exploratory Testing on Agile Projects: Combining SBTM and TBTMTechWell
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
Twelve Heuristics for Solving Tough Problems—Faster and Better
Twelve Heuristics for Solving Tough Problems—Faster and BetterTwelve Heuristics for Solving Tough Problems—Faster and Better
Twelve Heuristics for Solving Tough Problems—Faster and BetterTechWell
 

En vedette (15)

Testing in the Age of Distraction: Flow, Focus, and Defocus in Testing
Testing in the Age of Distraction: Flow, Focus, and Defocus in TestingTesting in the Age of Distraction: Flow, Focus, and Defocus in Testing
Testing in the Age of Distraction: Flow, Focus, and Defocus in Testing
 
Reduce Release Cycle Time: Nine Months to a Week - Nice!
Reduce Release Cycle Time: Nine Months to a Week - Nice!Reduce Release Cycle Time: Nine Months to a Week - Nice!
Reduce Release Cycle Time: Nine Months to a Week - Nice!
 
The Four Dimensions of Performance Improvement
The Four Dimensions of Performance ImprovementThe Four Dimensions of Performance Improvement
The Four Dimensions of Performance Improvement
 
It's a Phone First! How to Test Your Five-star Mobile Apps
It's a Phone First! How to Test Your Five-star Mobile AppsIt's a Phone First! How to Test Your Five-star Mobile Apps
It's a Phone First! How to Test Your Five-star Mobile Apps
 
Beyond Processes and Tools: What about Ethics?
Beyond Processes and Tools: What about Ethics?Beyond Processes and Tools: What about Ethics?
Beyond Processes and Tools: What about Ethics?
 
Using Mindmaps to Develop a Test Strategy
Using Mindmaps to Develop a Test StrategyUsing Mindmaps to Develop a Test Strategy
Using Mindmaps to Develop a Test Strategy
 
Test Status Reporting: Focus Your Message for Executives
Test Status Reporting: Focus Your Message for ExecutivesTest Status Reporting: Focus Your Message for Executives
Test Status Reporting: Focus Your Message for Executives
 
The Leadership Tutorial: Improving Your Ability to Stand and Deliver
The Leadership Tutorial: Improving Your Ability to Stand and DeliverThe Leadership Tutorial: Improving Your Ability to Stand and Deliver
The Leadership Tutorial: Improving Your Ability to Stand and Deliver
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Test Automation Patterns: Issues and Solutions
Test Automation Patterns: Issues and SolutionsTest Automation Patterns: Issues and Solutions
Test Automation Patterns: Issues and Solutions
 
Avoiding Overdesign and Underdesign
Avoiding Overdesign and UnderdesignAvoiding Overdesign and Underdesign
Avoiding Overdesign and Underdesign
 
Scaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and SolutionsScaling Agile at Dell: Real-life Problems - and Solutions
Scaling Agile at Dell: Real-life Problems - and Solutions
 
Exploratory Testing on Agile Projects: Combining SBTM and TBTM
Exploratory Testing on Agile Projects: Combining SBTM and TBTMExploratory Testing on Agile Projects: Combining SBTM and TBTM
Exploratory Testing on Agile Projects: Combining SBTM and TBTM
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Twelve Heuristics for Solving Tough Problems—Faster and Better
Twelve Heuristics for Solving Tough Problems—Faster and BetterTwelve Heuristics for Solving Tough Problems—Faster and Better
Twelve Heuristics for Solving Tough Problems—Faster and Better
 

Similaire à Agile Code Reviews for Better Software—Sooner

IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
4.Three Hot Career Paths in Tech You Must Know.pdf
4.Three Hot Career Paths in Tech You Must Know.pdf4.Three Hot Career Paths in Tech You Must Know.pdf
4.Three Hot Career Paths in Tech You Must Know.pdfBelayet Hossain
 
Barcelona global gathering 2020 jan21st
Barcelona global gathering 2020   jan21stBarcelona global gathering 2020   jan21st
Barcelona global gathering 2020 jan21stanimuscrm
 
Software Product Development - A Complete Guide
Software Product Development - A Complete GuideSoftware Product Development - A Complete Guide
Software Product Development - A Complete GuideAmiDas2
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsCristina Vidu
 
Georgia State Presentation
Georgia State PresentationGeorgia State Presentation
Georgia State Presentationpatrickbrandt
 
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMHow Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMProduct School
 
Mobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsMobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsTechWell
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Adopting scaled agile framework webinar v1.0
Adopting scaled agile framework   webinar v1.0Adopting scaled agile framework   webinar v1.0
Adopting scaled agile framework webinar v1.0Reedy Feggins Jr
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarReedy Feggins Jr
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Processgsporar
 
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...Aggregage
 
Modern Product Data Workflows: Iterate Your Way to a Top Product Experience
Modern Product Data Workflows: Iterate Your Way to a Top Product ExperienceModern Product Data Workflows: Iterate Your Way to a Top Product Experience
Modern Product Data Workflows: Iterate Your Way to a Top Product ExperienceHannah Flynn
 
Top 10 Low-CodeNo Code Development Platforms
Top 10 Low-CodeNo Code Development PlatformsTop 10 Low-CodeNo Code Development Platforms
Top 10 Low-CodeNo Code Development Platformsinsightssuccess2
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated ResumeChethan H
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...STX Next
 

Similaire à Agile Code Reviews for Better Software—Sooner (20)

IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
4.Three Hot Career Paths in Tech You Must Know.pdf
4.Three Hot Career Paths in Tech You Must Know.pdf4.Three Hot Career Paths in Tech You Must Know.pdf
4.Three Hot Career Paths in Tech You Must Know.pdf
 
Barcelona global gathering 2020 jan21st
Barcelona global gathering 2020   jan21stBarcelona global gathering 2020   jan21st
Barcelona global gathering 2020 jan21st
 
Apm andre santos
Apm andre santosApm andre santos
Apm andre santos
 
Software Product Development - A Complete Guide
Software Product Development - A Complete GuideSoftware Product Development - A Complete Guide
Software Product Development - A Complete Guide
 
Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath Apps
 
Georgia State Presentation
Georgia State PresentationGeorgia State Presentation
Georgia State Presentation
 
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PMHow Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
How Does a Tech PM Differ From a Non-Tech PM by fmr Renault PM
 
Mobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsMobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data Analytics
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
Adopting scaled agile framework webinar v1.0
Adopting scaled agile framework   webinar v1.0Adopting scaled agile framework   webinar v1.0
Adopting scaled agile framework webinar v1.0
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
 
Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Process
 
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...
Modern Product Data Workflows: Iterate Your Way to a Top Analytics Product Ex...
 
Modern Product Data Workflows: Iterate Your Way to a Top Product Experience
Modern Product Data Workflows: Iterate Your Way to a Top Product ExperienceModern Product Data Workflows: Iterate Your Way to a Top Product Experience
Modern Product Data Workflows: Iterate Your Way to a Top Product Experience
 
Top 10 Low-CodeNo Code Development Platforms
Top 10 Low-CodeNo Code Development PlatformsTop 10 Low-CodeNo Code Development Platforms
Top 10 Low-CodeNo Code Development Platforms
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated Resume
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 

Plus de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

Plus de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Dernier

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Dernier (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Agile Code Reviews for Better Software—Sooner

  • 1. W10 Concurrent Class 10/2/2013 1:45:00 PM "Agile Code Reviews for Better Software—Sooner" Presented by: Mark Hammer SmartBear Software Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Mark Hammer SmartBear Software Senior product director at SmartBear Software Mark Hammer speaks and writes about the software development process with a special emphasis on code review. Mark has more than twenty years of experience in software product management, previously at global-education leader Houghton Mifflin Harcourt. He has a strong track record in developing customer-focused business solutions in both business-to-business and business-to-consumer markets. Mark was VP of marketing for CompassLearning, an educational software developer.
  • 3. 9/20/2013 Want Higher Quality Software from Your Agile Team? Peer Review Works Mark Hammer 1 2 1
  • 5. 9/20/2013 Product Mgmt Development QA User stories Code Test Plans 5 Professional Writers Have Editors 6 3
  • 7. 9/20/2013 Measure Industry Average High Performance Teams Net Promoter Score 20% > 70% % defects of total injected found by customer 15% < 2% % effort spent in finding and fixing defects 50% < 10% % effort for post-release support 30% < 5% Unit test code coverage Varies > 80% Post release defect density 7.5 defects/KLOC < 0.5 defects/KLOC 9 Measure Industry Average High Performance Teams Net Promoter Score 20% > 70% % defects of total injected found by customer 15% < 2% % effort spent in finding and fixing defects 50% < 10% % effort for post-release support 30% < 5% Unit test code coverage Varies > 80% Post release defect density 7.5 defects/KLOC < 0.5 defects/KLOC  Bugs found in development are 8-12X less expensive to fix than those found in QA phase  And 30-100X less expensive than bugs that reach customers 10 5
  • 8. 9/20/2013 The Curious Case of Missing Code Reviews 11 Requirements Discussion Design Review Architecture Review 12 6
  • 10. 9/20/2013 If You Need More Convincing Geographically-distributed teams (main vs. offshore teams, apprentice – mentor) CMMI – code review is mandated FDA – code review is mandated Embedded systems – very high cost of change PCI – code review is mandated Agile teams – fast, convenient way to collaborate, provides less time-intensive “pair programming” opportunity 15 Code Review Options      Over-the-Shoulder Email Pair Programming Formal Inspection Meetings?! Tool 16 8
  • 12. 9/20/2013 Email 19 Email Easy / Free No Interruption / Remote Conversation Tracking Info. Hard to Retrieve No End? 20 10
  • 13. 9/20/2013 Pair Programming 21 Pair Programming No Tools or Workflow Deep Thought Big Time Commitment No Info. Recorded Too Close 22 11
  • 14. 9/20/2013 Why Don’t More Teams Do It? • It’s hard to do, with no clear perceived benefits – Expensive, tedious and time consuming to do it manually – Difficult to track threads of communication – Code review isn’t integrated with source code management (SCM) tool – Hard to collaborate with remote members 23 Hapless Developer Reviewers Version Control 24 12
  • 15. 9/20/2013 Largest Peer Code Review Study Ever • • • • • • Objectives: – lightweight vs. formal inspections – What constitutes an effective review? 10-month case study at Cisco Cisco MeetingPlace product, teleconferencing solution 3.2 million lines of code 2500 reviews 50 developers 25 Recommendations (Best Practices) LOC under review < 200, Not to exceed 400 Inspection rate < 300 LOC/hour Author preparation with annotations - Self review checklist Total review time < 60 min. Not to exceed 90 26 13
  • 16. 9/20/2013 Product Mgmt User stories QA Code Test Plans 27 Product Mgmt Development QA Review Requirements Architecture Code Test Plans 28 14
  • 17. 9/20/2013 Case Study • 2011: 70 floating licenses: ~350 developers • 2013: 130 floating licenses: ~650 team members • User stories are shared in Word format with entire team • Design documents are shared in Powerpoint with entire team • Code is shared with entire team • Test cases are shared in Excel format with entire team 29 Benefits of Cross-Functional Peer Review • Every member of the extended development team knows what’s happening • Problems with user stories, code, and test plans are found faster • It forces developers to write readable code (code that can be read without explanation!) • Optimization methods/tricks/productive programs spread faster • Programmer as a specialist "evolve" faster • Teams can iterate from story to code to test plan • It's fun 30 15
  • 18. 9/20/2013 The simple fact of knowing your work will be reviewed by others means you’ll do it better. 31 16