Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ping Pong Pair Programming - PhillyXP
Search
Anthony Sciamanna
February 01, 2018
Programming
1
430
Ping Pong Pair Programming - PhillyXP
Ping Pong Pair Programming talk from PhillyXP user group.
Anthony Sciamanna
February 01, 2018
Tweet
Share
More Decks by Anthony Sciamanna
See All by Anthony Sciamanna
Beyond Unit Testing: The Real Value of Test-Driven Development
asciamanna
0
33
Fearlessly Improving Legacy Code - PhillyXP
asciamanna
1
240
Beyond Unit Testing - The Real Value of TDD - Agile5
asciamanna
1
160
Extreme Programming: Past, Present, and Future
asciamanna
1
320
Beyond Unit Testing - The Real Value of TDD - Client Talk
asciamanna
1
290
PhillyXP Mob Programming Workshop
asciamanna
1
230
Beyond Unit Testing: The Real Value of Test-Driven Development - PhillyXP
asciamanna
0
340
Beyond Unit Testing: The Real Value of Test-Driven Development - Slalom
asciamanna
0
210
Mob Programming - Whole Team Collaboration - PhillyXP
asciamanna
1
840
Other Decks in Programming
See All in Programming
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
170
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
180
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
200
「App Intent」よくわからんけどすごい!
rinngo0302
1
100
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
730
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
680
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
350
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
270
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
0
120
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
9
3k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Site-Speed That Sticks
csswizardry
10
700
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fireside Chat
paigeccino
37
3.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Designing for Performance
lara
610
69k
Faster Mobile Websites
deanohume
308
31k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
KATA
mclloyd
30
14k
Transcript
The Ultimate Developer Collaboration Technique PING PONG PAIR PROGRAMMING Anthony
Sciamanna @asciamanna Nick Goede @ngoede February 1, 2018
The Problem
Pair Programming is really interesting, everybody talks about it but
no one does it. - Bryan Helmkamp, Founder and CEO Code Climate, Baruco 2013 “
Traditional Pair Programming Challenges What we’ve heard…
I never get to type!
None
Whenever I am driving my pair just looks at their
phone.
None
I can’t ever get into flow when pairing.
None
Talking about everything I’m doing slows me down.
I have to solve the BIG problems before pairing
Programming By Coincidence AKA Debugger Driven Development
Software Death Spiral
Ping Pong Pair Programming
Pair Programming Test-Driven Development Ping Pong Pair Programming
None
Nick Anthony Writes a failing test Makes the test pass
Writes the next failing test Makes the next test pass Only when all tests pass either person can refactor Continue until there are no more tests to write
Solutions
I never get to type!
Whenever I am driving my pair just looks at their
phone.
Rapid Switching Intervals
I can’t ever get into flow when pairing.
Save States
None
Talking about everything I’m doing slows me down.
Collaborative Iterative
Evolutionary Design & Refactoring
Collaboration & Communication
Code Comprehension
None
Demo The Bill Payer App Allows users to view, manage,
and autopay their bills
Task Calculate mortgage grace date • Business Days are weekdays
• If due date is a non-business day then pay bill on next business day
Anthony https://youtu.be/WZsLNrnS4yk
Nick https://youtu.be/WujNniqzf9U
Anthony https://youtu.be/OoSvlJv24hE
Nick https://youtu.be/Kl6UbPtJNGo
Anthony https://youtu.be/kUkD_Ak6PLc
Nick https://youtu.be/5VEuhMLS_Mk
Task Calculate water bill grace date • Business Days are
weekdays • If due date is a non-business day then pay bill on previous business day
Anthony https://youtu.be/6coH9P0Yuxg
Nick https://youtu.be/CSzFSzsKaXM
Anthony https://youtu.be/1gfihiwx8dw
Nick https://youtu.be/4SfL6WWsCjo
Nick https://youtu.be/1eFAMNBStCo
Anthony https://youtu.be/P_u5OWjAcWo
Try Ping Pong Pair Programming! Effective and a lot of
FUN
CONTACT US! For more information about this talk go to
bit.ly/phillyxp-4p Nick Goede @ngoede Anthony Sciamanna @asciamanna