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
450
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
44
Fearlessly Improving Legacy Code - PhillyXP
asciamanna
1
250
Beyond Unit Testing - The Real Value of TDD - Agile5
asciamanna
1
170
Extreme Programming: Past, Present, and Future
asciamanna
1
350
Beyond Unit Testing - The Real Value of TDD - Client Talk
asciamanna
1
300
PhillyXP Mob Programming Workshop
asciamanna
1
230
Beyond Unit Testing: The Real Value of Test-Driven Development - PhillyXP
asciamanna
0
350
Beyond Unit Testing: The Real Value of Test-Driven Development - Slalom
asciamanna
0
210
Mob Programming - Whole Team Collaboration - PhillyXP
asciamanna
1
860
Other Decks in Programming
See All in Programming
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
260
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
340
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
9
1.6k
Google Opalで使える37のライブラリ
mickey_kubo
3
150
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
110
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
250
What's new in Spring Modulith?
olivergierke
1
170
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
430
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Bash Introduction
62gerente
615
210k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Optimizing for Happiness
mojombo
379
70k
How to Ace a Technical Interview
jacobian
280
24k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Thoughts on Productivity
jonyablonski
70
4.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
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