SlideShare a Scribd company logo
1 of 18
Download to read offline
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

More Related Content

What's hot

Managing a Mobile App Development Team
Managing a Mobile App Development TeamManaging a Mobile App Development Team
Managing a Mobile App Development Team
Kristina Podnar
 

What's hot (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
 

Viewers also liked

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
TechWell
 

Viewers also liked (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
 

Similar to Agile Code Reviews for Better Software—Sooner

Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil Cloud Developer Resume Jhon-Arzu-Gil
Cloud Developer Resume Jhon-Arzu-Gil
Cloud Technology Computing
 
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
Reedy Feggins Jr
 
Chethan Updated Resume
Chethan Updated ResumeChethan Updated Resume
Chethan Updated Resume
Chethan H
 

Similar to 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 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
 
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...
 
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 ...
 

More from TechWell

More from 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
 

Recently uploaded

Recently uploaded (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 

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