SlideShare a Scribd company logo
Unlocking your
team’s potential with
Pair Programming
@BattistonMattia
About me
● From Verona, Italy
● SDM in Identity, since Oct
● Previously: Eng. Manager, Agile
Coach, Software Crafter
● 6 years full time pair programming
Mattia Battiston
@BattistonMattia
mattia.battiston@tesco.com
What is Pair Programming?
2 people working together (typically
writing code) on the same machine
Benefits?
● Knowledge sharing
Most Visible
Even more
powerful
● Team resilience
● Better solutions
● Higher quality
● More focus
● Easier team standards
● No code reviews
● Low WIP
● Better onboarding
Pairing Styles
Driver/Navigator
Driver completes small task
at hand, talking through.
Navigator focuses on
bigger picture.
Swap regularly
Ping Pong
P1 writes failing test.
P2 makes it pass, then
writes next failing test.
P1 makes it pass, ...
Strong Style
"For an idea to go from
your head into the
computer
it MUST go through
someone else's hands"
Fluid
For experienced pairs,
when balance of
driving/navigating happens
naturally
Practicalities
● 2 Keyboard + Mouse. 2
monitors (usually mirror).
Be comfortable
● Common tools, shortcuts,
setups, etc.
● Commit messages include
names, e.g. “Mattia & Aram:
JIRA-123 - blah blah …”
● Rotate every 1-3 days.
Swarm on same story to
maximise benefits
● IntelliJ: use “Presentation
assistant” plugin to show
shortcuts
● Remote pairing
○ https://screen.so
○ https://www.use-together.com
○ https://www.remotemobprogram
ming.org
Advice
● Pairing is a skill to learn
○ It’s ok to not be good at it initially
● Everyone is different, need to learn how to pair
with different people
○ Set ground rules before you start (how to
disagree, taking breaks, approach, etc.)
● It’s tiring, but you do get used to it
● Be vulnerable. It’s ok to say “I don’t know”
When NOT to pair?
● Deliberate learning?
Solve problems on your own for learning
purpose (but not on production code)
● Easy tasks?
Still useful to pair. Easy to not pay attention and
make mistakes
● When you’re tired?
Still useful to pair. That’s when we’re more likely
to make mistakes
● Different skill levels?
There’s something to learn from everyone.
Running ideas past someone is always useful.
Resources
● On Pair Programming
https://martinfowler.com/articles/on-pair-
programming.html
● Strong style pairing
http://llewellynfalco.blogspot.com/2014/06/llewellyns
-strong-style-pairing.html
● Why I love Trunk Based Development (or pushing
straight to master)
https://medium.com/@mattia.battiston/why-i-love-
trunk-based-development-641fcf0b94a0
● Remote Mob Programming
https://www.remotemobprogramming.org/
PRACTICE
Let’s practice!
● Setup: https://github.com/swkBerlin/kata-bootstraps
● Kata: http://codingdojo.org/kata/elephant-carpaccio/
● Rules
○ 5 min Driver, 5 min Navigator
○ 10 min Ping Pong
○ 10 min Strong Style
Kata
● Accept 3 inputs from the user:
○ How many items
○ Price per item
○ 2-letter state code
● Output the total price. Give a discount based on the
total price, add state tax based on the state and the
discounted price.
Ad

More Related Content

What's hot (20)

Bad Power Pt
Bad Power PtBad Power Pt
Bad Power Pt
gfrances
 
Fundamentals of App & Web Design
Fundamentals of App & Web DesignFundamentals of App & Web Design
Fundamentals of App & Web Design
Vishal Kirti
 
Assignment A: Writing a Business Plan
Assignment A: Writing a Business Plan Assignment A: Writing a Business Plan
Assignment A: Writing a Business Plan
Kei_Takano
 
Dev presentation
Dev presentationDev presentation
Dev presentation
David Ford
 
Lunch and Learn 1
Lunch and Learn 1Lunch and Learn 1
Lunch and Learn 1
Tonya Murray
 
S1 Programming Lesson 1
S1 Programming Lesson 1S1 Programming Lesson 1
S1 Programming Lesson 1
SabahtHussein
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015
Ikuru Kanuma
 
What do i do
What do i do What do i do
What do i do
Jebin BV
 
Frontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using ReactFrontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using React
Quique Fdez Guerra
 
Session on mockups
Session on mockupsSession on mockups
Session on mockups
Abdul Dibosh
 
Pair programming
Pair programmingPair programming
Pair programming
Gabriel Moral
 
Biases in Testing
Biases in TestingBiases in Testing
Biases in Testing
Laura Oniga
 
Programming terms & concepts - Using Java
Programming terms & concepts - Using JavaProgramming terms & concepts - Using Java
Programming terms & concepts - Using Java
Rebecca DuPont, PhD
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
Tarek Alabd
 
How to be an effective Tech Lead
How to be an effective Tech LeadHow to be an effective Tech Lead
How to be an effective Tech Lead
Hattery
 
Evaluation – question 6
Evaluation – question 6Evaluation – question 6
Evaluation – question 6
deanna_rose
 
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Product School
 
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Product School
 
Isotope
IsotopeIsotope
Isotope
Sayed Ahmed
 
Why to learn programming
Why to learn programmingWhy to learn programming
Why to learn programming
gdgjss
 
Bad Power Pt
Bad Power PtBad Power Pt
Bad Power Pt
gfrances
 
Fundamentals of App & Web Design
Fundamentals of App & Web DesignFundamentals of App & Web Design
Fundamentals of App & Web Design
Vishal Kirti
 
Assignment A: Writing a Business Plan
Assignment A: Writing a Business Plan Assignment A: Writing a Business Plan
Assignment A: Writing a Business Plan
Kei_Takano
 
Dev presentation
Dev presentationDev presentation
Dev presentation
David Ford
 
S1 Programming Lesson 1
S1 Programming Lesson 1S1 Programming Lesson 1
S1 Programming Lesson 1
SabahtHussein
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015
Ikuru Kanuma
 
What do i do
What do i do What do i do
What do i do
Jebin BV
 
Frontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using ReactFrontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using React
Quique Fdez Guerra
 
Session on mockups
Session on mockupsSession on mockups
Session on mockups
Abdul Dibosh
 
Biases in Testing
Biases in TestingBiases in Testing
Biases in Testing
Laura Oniga
 
Programming terms & concepts - Using Java
Programming terms & concepts - Using JavaProgramming terms & concepts - Using Java
Programming terms & concepts - Using Java
Rebecca DuPont, PhD
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
Tarek Alabd
 
How to be an effective Tech Lead
How to be an effective Tech LeadHow to be an effective Tech Lead
How to be an effective Tech Lead
Hattery
 
Evaluation – question 6
Evaluation – question 6Evaluation – question 6
Evaluation – question 6
deanna_rose
 
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Product School
 
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEO
Product School
 
Why to learn programming
Why to learn programmingWhy to learn programming
Why to learn programming
gdgjss
 

Similar to Unlocking your team's potential with pair programming (workshop) (20)

Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
Paris Apostolopoulos
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
helenalozano6
 
Collective ownership in agile teams
Collective ownership in agile teamsCollective ownership in agile teams
Collective ownership in agile teams
Jyaasa Technologies
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
Agile Development: Key to smart software development
Agile Development: Key to smart software developmentAgile Development: Key to smart software development
Agile Development: Key to smart software development
Jerlyn Manohar
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
Prasad Kancharla
 
Pair programming- Mariusz Kozieł
Pair programming- Mariusz KoziełPair programming- Mariusz Kozieł
Pair programming- Mariusz Kozieł
Visuality
 
Write More Durable Code: Principles and Techniques
Write More Durable Code: Principles and TechniquesWrite More Durable Code: Principles and Techniques
Write More Durable Code: Principles and Techniques
Ortus Solutions, Corp
 
How to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PMHow to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PM
Product School
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x Engineer
Nick Sullivan
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
Equal Experts
 
Misconceptions Of Unit Testing
Misconceptions Of Unit TestingMisconceptions Of Unit Testing
Misconceptions Of Unit Testing
Terry Yin
 
Coding Dojo Applied
Coding Dojo AppliedCoding Dojo Applied
Coding Dojo Applied
Vladimir Tarasov
 
Code Forensics
Code ForensicsCode Forensics
Code Forensics
Diego Pacheco
 
Simple vs Easy
Simple vs EasySimple vs Easy
Simple vs Easy
Twentify
 
How to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PMHow to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PM
Product School
 
Learnings adopting Large Scale Scrum
Learnings adopting Large Scale ScrumLearnings adopting Large Scale Scrum
Learnings adopting Large Scale Scrum
Roland Flemm
 
How to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PMHow to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PM
Product School
 
Introduction to DSC IIEST
Introduction to DSC IIESTIntroduction to DSC IIEST
Introduction to DSC IIEST
SanjanaChakravarty
 
Getting Started with Camtasia-A Seflin Round Table discussion
Getting Started with Camtasia-A Seflin Round Table discussionGetting Started with Camtasia-A Seflin Round Table discussion
Getting Started with Camtasia-A Seflin Round Table discussion
Alyse Ergood McKeal
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
Paris Apostolopoulos
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
helenalozano6
 
Collective ownership in agile teams
Collective ownership in agile teamsCollective ownership in agile teams
Collective ownership in agile teams
Jyaasa Technologies
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
Agile Development: Key to smart software development
Agile Development: Key to smart software developmentAgile Development: Key to smart software development
Agile Development: Key to smart software development
Jerlyn Manohar
 
Pair programming- Mariusz Kozieł
Pair programming- Mariusz KoziełPair programming- Mariusz Kozieł
Pair programming- Mariusz Kozieł
Visuality
 
Write More Durable Code: Principles and Techniques
Write More Durable Code: Principles and TechniquesWrite More Durable Code: Principles and Techniques
Write More Durable Code: Principles and Techniques
Ortus Solutions, Corp
 
How to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PMHow to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PM
Product School
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x Engineer
Nick Sullivan
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
Equal Experts
 
Misconceptions Of Unit Testing
Misconceptions Of Unit TestingMisconceptions Of Unit Testing
Misconceptions Of Unit Testing
Terry Yin
 
Simple vs Easy
Simple vs EasySimple vs Easy
Simple vs Easy
Twentify
 
How to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PMHow to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PM
Product School
 
Learnings adopting Large Scale Scrum
Learnings adopting Large Scale ScrumLearnings adopting Large Scale Scrum
Learnings adopting Large Scale Scrum
Roland Flemm
 
How to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PMHow to Break Down PM in Startups vs. Big Companies by WeWork PM
How to Break Down PM in Startups vs. Big Companies by WeWork PM
Product School
 
Getting Started with Camtasia-A Seflin Round Table discussion
Getting Started with Camtasia-A Seflin Round Table discussionGetting Started with Camtasia-A Seflin Round Table discussion
Getting Started with Camtasia-A Seflin Round Table discussion
Alyse Ergood McKeal
 
Ad

More from Mattia Battiston (9)

Agile metrics for predicting the future [2021]
Agile metrics for predicting the future [2021]Agile metrics for predicting the future [2021]
Agile metrics for predicting the future [2021]
Mattia Battiston
 
Agile metrics for predicting the future
Agile metrics for predicting the futureAgile metrics for predicting the future
Agile metrics for predicting the future
Mattia Battiston
 
The Science of Happiness
The Science of HappinessThe Science of Happiness
The Science of Happiness
Mattia Battiston
 
Super chickens are not safe
Super chickens are not safeSuper chickens are not safe
Super chickens are not safe
Mattia Battiston
 
The Science of Happiness [OLD VERSION]
The Science of Happiness [OLD VERSION]The Science of Happiness [OLD VERSION]
The Science of Happiness [OLD VERSION]
Mattia Battiston
 
Kanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous ImprovementKanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous Improvement
Mattia Battiston
 
Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean Architecture
Mattia Battiston
 
Metriche Kanban in pratica a Sky UK [ITA]
Metriche Kanban in pratica a Sky UK [ITA]Metriche Kanban in pratica a Sky UK [ITA]
Metriche Kanban in pratica a Sky UK [ITA]
Mattia Battiston
 
Kanban Metrics in practice at Sky Network Services
Kanban Metrics in practice at Sky Network ServicesKanban Metrics in practice at Sky Network Services
Kanban Metrics in practice at Sky Network Services
Mattia Battiston
 
Agile metrics for predicting the future [2021]
Agile metrics for predicting the future [2021]Agile metrics for predicting the future [2021]
Agile metrics for predicting the future [2021]
Mattia Battiston
 
Agile metrics for predicting the future
Agile metrics for predicting the futureAgile metrics for predicting the future
Agile metrics for predicting the future
Mattia Battiston
 
Super chickens are not safe
Super chickens are not safeSuper chickens are not safe
Super chickens are not safe
Mattia Battiston
 
The Science of Happiness [OLD VERSION]
The Science of Happiness [OLD VERSION]The Science of Happiness [OLD VERSION]
The Science of Happiness [OLD VERSION]
Mattia Battiston
 
Kanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous ImprovementKanban Metrics in practice for leading Continuous Improvement
Kanban Metrics in practice for leading Continuous Improvement
Mattia Battiston
 
Real Life Clean Architecture
Real Life Clean ArchitectureReal Life Clean Architecture
Real Life Clean Architecture
Mattia Battiston
 
Metriche Kanban in pratica a Sky UK [ITA]
Metriche Kanban in pratica a Sky UK [ITA]Metriche Kanban in pratica a Sky UK [ITA]
Metriche Kanban in pratica a Sky UK [ITA]
Mattia Battiston
 
Kanban Metrics in practice at Sky Network Services
Kanban Metrics in practice at Sky Network ServicesKanban Metrics in practice at Sky Network Services
Kanban Metrics in practice at Sky Network Services
Mattia Battiston
 
Ad

Recently uploaded (20)

Best Accounting Practice Management Software Guide for 2025
Best Accounting Practice Management Software Guide for 2025Best Accounting Practice Management Software Guide for 2025
Best Accounting Practice Management Software Guide for 2025
Tidyflow
 
sequencediagrams.pptx software Engineering
sequencediagrams.pptx software Engineeringsequencediagrams.pptx software Engineering
sequencediagrams.pptx software Engineering
aashrithakondapalli8
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
The Elixir Developer - All Things Open
The Elixir Developer - All Things OpenThe Elixir Developer - All Things Open
The Elixir Developer - All Things Open
Carlo Gilmar Padilla Santana
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 
Adobe Media Encoder Crack FREE Download 2025
Adobe Media Encoder  Crack FREE Download 2025Adobe Media Encoder  Crack FREE Download 2025
Adobe Media Encoder Crack FREE Download 2025
zafranwaqar90
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
Top 12 Most Useful AngularJS Development Tools to Use in 2025
Top 12 Most Useful AngularJS Development Tools to Use in 2025Top 12 Most Useful AngularJS Development Tools to Use in 2025
Top 12 Most Useful AngularJS Development Tools to Use in 2025
GrapesTech Solutions
 
Digital Twins Software Service in Belfast
Digital Twins Software Service in BelfastDigital Twins Software Service in Belfast
Digital Twins Software Service in Belfast
julia smits
 
Maximizing ROI with Odoo Staff Augmentation A Smarter Way to Scale
Maximizing ROI with Odoo Staff Augmentation  A Smarter Way to ScaleMaximizing ROI with Odoo Staff Augmentation  A Smarter Way to Scale
Maximizing ROI with Odoo Staff Augmentation A Smarter Way to Scale
SatishKumar2651
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
Best Accounting Practice Management Software Guide for 2025
Best Accounting Practice Management Software Guide for 2025Best Accounting Practice Management Software Guide for 2025
Best Accounting Practice Management Software Guide for 2025
Tidyflow
 
sequencediagrams.pptx software Engineering
sequencediagrams.pptx software Engineeringsequencediagrams.pptx software Engineering
sequencediagrams.pptx software Engineering
aashrithakondapalli8
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 
Adobe Media Encoder Crack FREE Download 2025
Adobe Media Encoder  Crack FREE Download 2025Adobe Media Encoder  Crack FREE Download 2025
Adobe Media Encoder Crack FREE Download 2025
zafranwaqar90
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Robotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptxRobotic Process Automation (RPA) Software Development Services.pptx
Robotic Process Automation (RPA) Software Development Services.pptx
julia smits
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
Top 12 Most Useful AngularJS Development Tools to Use in 2025
Top 12 Most Useful AngularJS Development Tools to Use in 2025Top 12 Most Useful AngularJS Development Tools to Use in 2025
Top 12 Most Useful AngularJS Development Tools to Use in 2025
GrapesTech Solutions
 
Digital Twins Software Service in Belfast
Digital Twins Software Service in BelfastDigital Twins Software Service in Belfast
Digital Twins Software Service in Belfast
julia smits
 
Maximizing ROI with Odoo Staff Augmentation A Smarter Way to Scale
Maximizing ROI with Odoo Staff Augmentation  A Smarter Way to ScaleMaximizing ROI with Odoo Staff Augmentation  A Smarter Way to Scale
Maximizing ROI with Odoo Staff Augmentation A Smarter Way to Scale
SatishKumar2651
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 

Unlocking your team's potential with pair programming (workshop)

  • 1. Unlocking your team’s potential with Pair Programming @BattistonMattia
  • 2. About me ● From Verona, Italy ● SDM in Identity, since Oct ● Previously: Eng. Manager, Agile Coach, Software Crafter ● 6 years full time pair programming Mattia Battiston @BattistonMattia [email protected]
  • 3. What is Pair Programming? 2 people working together (typically writing code) on the same machine
  • 4. Benefits? ● Knowledge sharing Most Visible Even more powerful ● Team resilience ● Better solutions ● Higher quality ● More focus ● Easier team standards ● No code reviews ● Low WIP ● Better onboarding
  • 5. Pairing Styles Driver/Navigator Driver completes small task at hand, talking through. Navigator focuses on bigger picture. Swap regularly Ping Pong P1 writes failing test. P2 makes it pass, then writes next failing test. P1 makes it pass, ... Strong Style "For an idea to go from your head into the computer it MUST go through someone else's hands" Fluid For experienced pairs, when balance of driving/navigating happens naturally
  • 6. Practicalities ● 2 Keyboard + Mouse. 2 monitors (usually mirror). Be comfortable ● Common tools, shortcuts, setups, etc. ● Commit messages include names, e.g. “Mattia & Aram: JIRA-123 - blah blah …” ● Rotate every 1-3 days. Swarm on same story to maximise benefits ● IntelliJ: use “Presentation assistant” plugin to show shortcuts ● Remote pairing ○ https://screen.so ○ https://www.use-together.com ○ https://www.remotemobprogram ming.org
  • 7. Advice ● Pairing is a skill to learn ○ It’s ok to not be good at it initially ● Everyone is different, need to learn how to pair with different people ○ Set ground rules before you start (how to disagree, taking breaks, approach, etc.) ● It’s tiring, but you do get used to it ● Be vulnerable. It’s ok to say “I don’t know”
  • 8. When NOT to pair? ● Deliberate learning? Solve problems on your own for learning purpose (but not on production code) ● Easy tasks? Still useful to pair. Easy to not pay attention and make mistakes ● When you’re tired? Still useful to pair. That’s when we’re more likely to make mistakes ● Different skill levels? There’s something to learn from everyone. Running ideas past someone is always useful.
  • 9. Resources ● On Pair Programming https://martinfowler.com/articles/on-pair- programming.html ● Strong style pairing http://llewellynfalco.blogspot.com/2014/06/llewellyns -strong-style-pairing.html ● Why I love Trunk Based Development (or pushing straight to master) https://medium.com/@mattia.battiston/why-i-love- trunk-based-development-641fcf0b94a0 ● Remote Mob Programming https://www.remotemobprogramming.org/
  • 11. Let’s practice! ● Setup: https://github.com/swkBerlin/kata-bootstraps ● Kata: http://codingdojo.org/kata/elephant-carpaccio/ ● Rules ○ 5 min Driver, 5 min Navigator ○ 10 min Ping Pong ○ 10 min Strong Style
  • 12. Kata ● Accept 3 inputs from the user: ○ How many items ○ Price per item ○ 2-letter state code ● Output the total price. Give a discount based on the total price, add state tax based on the state and the discounted price.

Editor's Notes

  • #3: Myself
  • #5: Benefits Most visible one: Knowledge sharing Team resilience. Work never stops Better solution, as you talk about ideas with someone and end up with a better one (when it’s still early, not at code-review time) Higher Quality, bugs are caught as they are written More focus. Less distractions by email/phone/facebook/etc. Easier to enforce shared standards. Collective code ownership No code reviews. One step closer to trunk-based-development Easy onboarding Low WIP
  • #10: http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html https://medium.com/@mattia.battiston/why-i-love-trunk-based-development-641fcf0b94a0
  • #11: A few teams are starting to use these metrics. But what about “when will this project be done?