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
500
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ping Pong Pair Programming - PhillyXP
Ping Pong Pair Programming talk from PhillyXP user group.
Anthony Sciamanna
February 01, 2018
More Decks by Anthony Sciamanna
See All by Anthony Sciamanna
Beyond Unit Testing: The Real Value of Test-Driven Development
asciamanna
0
95
Fearlessly Improving Legacy Code - PhillyXP
asciamanna
1
280
Beyond Unit Testing - The Real Value of TDD - Agile5
asciamanna
1
220
Extreme Programming: Past, Present, and Future
asciamanna
1
420
Beyond Unit Testing - The Real Value of TDD - Client Talk
asciamanna
1
340
PhillyXP Mob Programming Workshop
asciamanna
1
260
Beyond Unit Testing: The Real Value of Test-Driven Development - PhillyXP
asciamanna
0
390
Beyond Unit Testing: The Real Value of Test-Driven Development - Slalom
asciamanna
0
250
Mob Programming - Whole Team Collaboration - PhillyXP
asciamanna
1
920
Other Decks in Programming
See All in Programming
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.4k
OSもどきOS
arkw
0
590
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
160
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
210
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Paper Plane
katiecoart
PRO
1
52k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
310
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
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