remote pair programming conference 2012
Post on 11-May-2015
553 Views
Preview:
TRANSCRIPT
Remote Pair Programming
A Guide for Distributed Agile Teams
Wednesday, August 15, 12
Agenda
OverviewPeople
Challenges“You’re Remote Pairing Today”
TechnologyWednesday, August 15, 12
http://svy.mk/pairprogram
Feedback
Wednesday, August 15, 12
Who?
Wednesday, August 15, 12
Joe Moore - @joemjoe.moore@gmail.com
Pivotal Labs - @pivotallabshttp://svy.mk/pairprogram
Who?
Wednesday, August 15, 12
Who?
Pair programming since 2000
Wednesday, August 15, 12
Who?
Remote pair programming full time since 2010
Wednesday, August 15, 12
Pair Programming?
Wednesday, August 15, 12
Pair Programming?
Two developers coding on the same
development workstation
Wednesday, August 15, 12
Pair Programming?
Solving the same problem, at the same time, together
Wednesday, August 15, 12
Pair Programming?
• Higher quality • Fewer defects • Focus • Intensity • Faster
problem solving • Knowledge transfer • Code review •
Wednesday, August 15, 12
What?
Remote pair programming
Wednesday, August 15, 12
What?
Pair programming, but not at the same physical computer
Wednesday, August 15, 12
What?
What does it look like?
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Video
Remote pairing:debugging a phone
http://youtu.be/mfoJ6mBVi2w
Wednesday, August 15, 12
Challenges
Wednesday, August 15, 12
Challenges
Wednesday, August 15, 12
Video
Remote pairing:(listen for both our voices)
http://youtu.be/CWJMzW1ZqNE
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Video
Remote pairing:coding via screen sharing
http://youtu.be/4PkT1bbmA4I
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
When?
Remote pair programming
Wednesday, August 15, 12
When?
Your projectis split between
multiple locations
Wednesday, August 15, 12
When?
You work for a “virtual company”
Wednesday, August 15, 12
When?
Your project has remote developers
Wednesday, August 15, 12
When?
Someone needs another person’s expertise
but they’re not co-located
Wednesday, August 15, 12
When?
You’re giving a remote pairing interview
Wednesday, August 15, 12
Why?
Remote pair programming
Wednesday, August 15, 12
Why?
RPP can have the same benefits as
in-person pair programming
Wednesday, August 15, 12
Why?
• Higher quality • Fewer defects • Focus • Intensity • Faster
problem solving • Knowledge transfer • Code review •
Wednesday, August 15, 12
Why?
Counteract remote development pitfalls
Wednesday, August 15, 12
Why?
• Higher quality • Fewer defects • Focus • Intensity • Faster
problem solving • Knowledge transfer • Code review •
Wednesday, August 15, 12
Why?
Silo is a four-letter word
Wednesday, August 15, 12
Why?
Some people like it better than in-person pairing?
Wednesday, August 15, 12
Why?
Some people like it better than in-person pairing?
It’s true! I’ve heard it multiple times!
Wednesday, August 15, 12
How?
Remote pair programming
Wednesday, August 15, 12
How?
It’s about the people, not just technologies
Wednesday, August 15, 12
How?
You can’t fix a team of tools with tools
Wednesday, August 15, 12
How?
Patience
Wednesday, August 15, 12
How?
Express your ideasclearly and concisely
Wednesday, August 15, 12
How?
Extremely good pairing etiquette
Wednesday, August 15, 12
How?
“Do you mind if I drive?”“I’m going to grab the mouse.”
“Can I look at something?”“Go ahead and drive.”
Wednesday, August 15, 12
How?
Supportive operations/infrastructure team
Wednesday, August 15, 12
How?
A good attitude
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
How?
Team must be generous and understanding
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
How?
Do’s and Don’ts
Wednesday, August 15, 12
Do…
• Be patient • Be assertive about being included
• Make an effort to include remote dev• Take breaks, play ping pong• Use video (especially at first)
How?
Wednesday, August 15, 12
x Exclude remotes from local conversationsx Exclude remotes from meetings
x Be the strong, silent typex Just walk away
x Lay your headphones on keyboard
Don’t…How?
Wednesday, August 15, 12
How?
Regarding Video
Wednesday, August 15, 12
How?
I’m striving for a “high fidelity”
experience
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
How?
Let’s play a game called:“What’s going on?”
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
What’s going on?
Wednesday, August 15, 12
Challenges
Remote pair programming
Wednesday, August 15, 12
Challenges
The same challenges as in-person pair programming
Wednesday, August 15, 12
Challenges
Lacks some of the traditional work-from-home benefits
(especially full-time pairing)
Wednesday, August 15, 12
Challenges
Lack of shared facilities
Wednesday, August 15, 12
Challenges
Lack of shared facilities
• Whiteboards • Notecards • Big visible charts • Information
radiators • Lunch area • Hallway conversations •
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Wednesday, August 15, 12
Challenges
2 timezones is hard
Wednesday, August 15, 12
Challenges
3 timezones is harder
Wednesday, August 15, 12
Challenges
12 timezones is…???
Wednesday, August 15, 12
Challenges
Technology gremlins
Wednesday, August 15, 12
ChallengesTechnology gremlins
• flaky internet • firewalls • Skype • crappy software • broken hardware • Skype
• VPNs • SKYPE
Wednesday, August 15, 12
• Skype • Skype • Skype • Skype • Skype • Skype • Skype • Skype • Skype ype • Skype • Skyyyyyyyype • Skype • Skype • Skype • Skype • Skype • Skype SKYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYPE!!!!!!! • Skype
• Skype • Skype • Skype • Skype •
Skype • Skyyyye!!! • Skype • Skype • Skype • Skype •
Skyyyyyyyyyyyyype!!! • Skype • Skype • Skype • Skype • Skype • Skype •
Skype • Skype • Skype • Skype • Skype • Skype • Skype • Skype • Skype •
Wednesday, August 15, 12
ChallengesWorking from home?
Get savvy with your home network
Wednesday, August 15, 12
Meetings, stand-ups, scrums, planning sessions, etc?
But what about…
Wednesday, August 15, 12
Wednesday, August 15, 12
Now what?
“You’re remote pairing today”
Wednesday, August 15, 12
1. Find a headset 2. Exchange Skype info and invites3. Call, preferably with video4. Talk about RPP experiences5. Agree on OS, editor, dev setup6. Choose and try a screen sharing tech
“You’re remote pairing today”
Wednesday, August 15, 12
“You’re remote pairing today”
Remember theDo’s and Don’ts
Wednesday, August 15, 12
“You’re remote pairing today”
Remote pairing interviews
Wednesday, August 15, 12
See previous list, and also:
• Send interviewee a setup email 24 hours before the interview
• Consider browser-based screen sharing for simplicity (more later)
“You’re remote pairing today”Remote pairing interviews
Wednesday, August 15, 12
“You’re remote pairing today”
Hello Sally --
I'm Joe Moore, software engineer at Pivotal Labs. You and I will be remote pairing today! Do you mind answering a couple of questions and performing a little setup?
• What is your Skype ID?• What operating system are you using? Are you on a Mac, PC, or Linux machine?• What is your screen resolution?
If you could, please download and install TeamViewer, which we will likely use
Remote pairing interviews
Wednesday, August 15, 12
Questions
before we talk about technology?
Wednesday, August 15, 12
The Tech
Wednesday, August 15, 12
The Tech
There will be problems
Wednesday, August 15, 12
The Tech
Fast high speed Internet,especially upload bandwidth
from the host
Wednesday, August 15, 12
The Tech
Remember wired networks?
They’re fast!
Wednesday, August 15, 12
The Tech
VPN: gateway through firewalls
Wednesday, August 15, 12
The Tech: Screen Sharing
Many options depending on networks speed, firewalls,
ease of use
Wednesday, August 15, 12
The Tech: Screen Sharing
Full desktop sharingor
Terminal based
Wednesday, August 15, 12
The Tech
Full Desktop Sharing
Wednesday, August 15, 12
The Tech: Screen SharingFull Desktop Sharing
ConsiderationsCross
Platform? Works across Windows, Mac, Linux
No VPN Some (usually) punch through firewalls, some don’t
In Web Browser
Quickest way to get a session going, but sometimes limiting
2-Way Control
Presentation software only allows the host to control
Wednesday, August 15, 12
Joe’s Recommendations
The Tech: Screen SharingFull Desktop Sharing
Cross Platform No VPN In Web Browser 2-Way Control
✓(VNC) X X ✓✓ X X ✓X ✓ X ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ ✓ ✓✓ ✓ X X
✓ ✓ ✓ X
Wednesday, August 15, 12
Screen Sharing
The Tech
/System/Library/CoreServices
Wednesday, August 15, 12
The Tech: Screen SharingFull Desktop Sharing
2-Way Control
✓✓✓✓✓✓XX
Pause for
Rant
Wednesday, August 15, 12
The Tech: “Screen” Sharingtmux – shared ssh sessions
Wednesday, August 15, 12
The Tech: “Screen” Sharingtmux – shared ssh sessions
• Fast! • Good for Vim, Emacs editors• Popular in Ruby, Scala communities• Best for low bandwidth connections• Addictive usage model
Wednesday, August 15, 12
The Tech: “Screen” Sharingtmux cont…
• Requires ssh access, possibly VPN• Learning curve using tmux commands• Desktop screen sharing for some activities• Not for IDEs - iOS, Java, .NET
Wednesday, August 15, 12
Wednesday, August 15, 12
The Tech
Video Conferencing
Wednesday, August 15, 12
Video Conferencing
The Tech
Wednesday, August 15, 12
The Tech
Love it or hate it, Skype is ubiquitous and has
great echo cancelation
Video Conferencing
Wednesday, August 15, 12
The TechVideo Conferencing
http://www.cisco.com/web/telepresence
Wednesday, August 15, 12
Development Workstation
Wednesday, August 15, 12
Computer for Development
Wednesday, August 15, 12
Laptop for
Skype
Wednesday, August 15, 12
Snowball Mic for Groups
orOffice
Wednesday, August 15, 12
Speakers for
Groupsor
Office
Wednesday, August 15, 12
Headest
Wednesday, August 15, 12
Long Term Remote Pairing
Wednesday, August 15, 12
Works best withdedicated RPP stations
and dedicated audio/video laptops
Long Term Remote Pairing
Wednesday, August 15, 12
Dedicated stations: everyone knows where to find
the remote people
Long Term Remote Pairing
Wednesday, August 15, 12
Telepresence, etc.
Random Thoughts
Wednesday, August 15, 12
“Skype-enabled”meeting rooms
Conference Rooms
Wednesday, August 15, 12
Conference Rooms
Wednesday, August 15, 12
http://www.cisco.com/web/telepresence
Conference Rooms
Wednesday, August 15, 12
What about iPads?
Wednesday, August 15, 12
Promising!
What about iPads?
Wednesday, August 15, 12
What about iPads?
Wednesday, August 15, 12
What about ROBOTS!?!?!
http://anybots.com
Wednesday, August 15, 12
http://www.newscientist.com
http://internetdebris.blogspot.com/
OMG ROBOTS!!!!!!
Wednesday, August 15, 12
http://www.newscientist.com
http://internetdebris.blogspot.com/ ???
OMG ROBOTS?????
Wednesday, August 15, 12
Thank You!Joe Moore
Pivotal Labs@joem
joe.moore@gmail.comhttp://svy.mk/pairprogram
Wednesday, August 15, 12
top related