Remote Pair Programming Scan Dev 2013 Johannes Brodwall
Remote Pair Programming Scan. Dev 2013 Johannes Brodwall Exilesoft Chief scientist Gues t star ring: A dipa Gune seka ra @jhannes
Can a distributed team still be Communicating closely?
After this talk • Find a remote mentor • Pair with your remote team
1. 2. 3. 4. 5. Why How Demonstration Discussion Conclusion
Global teams
There are not enough devs here
There are not enough devs here (for most values of “here”)
(There are not enough devs here) But there are more “over there”
Communication cost increases with distance
But
Communication cost increases with distance
Everybody knows that: Communication cost increases with distance
Which would you prefer:
Which would you prefer: A. Team sits onsite, but… uses headphones all day speak to customer monthly
Which would you prefer: A. Team sits onsite, but… uses headphones all day speak to customer monthly B. Team 1/3 around the world Pair programs with local devs Speak with customer daily
Practical remote programming
Don’t send each keystroke across the world and back
We want a solution that is not super-expensive
Voice sharing Screen sharing File sharing
Voice sharing (Skype) Screen sharing (Go. To. Meeting) File sharing (Dropbox)
Ping pong
Ingredient #1: Pair programming
Ingredient #2: Test driven development
Failing test Write code Failing test
Ingredient #3: Refactoring
Failing test Write code Refactor code and tests Failing test
Put together
Failing test Write code Failing test
Failing test Write code Refactor code and tests Failing test
Failing test Write code Refactor code and tests Failing test
Demonstration
What to watch for?
What to watch for? • Collaboration • Problems and approaches
Say hello to my team!
Remember: Suboptimal network
Please: • Talk about what you see to the person next to you (whisper) • Tweet to @jhannes
Demonstration (Guest starring Adipa Gunasekara)
Kata: Number names
Kata: Number names 1 => one 2 => two 33 => thirty three 365 => three hundred and five … 1, 230, 113 => one million, two hundred and thirty thousand, one hundred and thirteen
Discussion
Benefits (Guest starring Adipa Gunasekara)
Faster Lower error rate More productive
Usage
Team startup Training Job interviews
Team startup • Me locally with customer • 3 developers in Sri Lanka • First month: Daily remote pairing on rotation • High bandwidth for learning tech and domain
Dev extension • • Not tried, but I think… • One Scandinavian dev can work closely with three devs offshore If you can double your productivity, the math looks profitable…
Training • You just saw it…
Interviews • • Reveals real skills Motivating: fun and educational => Good PR • Pre-start training
Decreasing the distance
How do you decrease the distance in your team?
Conclusion
Dropbox, Skype, Go. To. Meeting
It’s a small world, after all
Find a remote pair prog partner
Find a remote pair prog partner Have fun
Grab hold of me in the hallway for a pair programming session
Thank you jbr@exilesoft. com aga@exilesoft. com http: //johannesbrodwall. com http: //exilesoft. com http: //twitter. com/jhannes
- Slides: 59