Top Banner
Remote Pair Programming ScanDev 2013 Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Adipa Gunesekara
59

Remote Pair Programming

Jan 02, 2016

Download

Documents

Remote Pair Programming. ScanDev 2013 Johannes Brodwall Exilesoft Chief scientist @ jhannes. Guest starring: Adipa Gunesekara. Can a distributed team still be Communicating closely?. After this talk Find a remote mentor Pair with your remote team. Why How Demonstration - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Remote Pair Programming

Remote Pair Programming

ScanDev 2013Johannes Brodwall

Exilesoft Chief scientist

@jhannes

Guest starring: Adipa Gunesekara

Page 2: Remote Pair Programming

Can a distributed team still

be Communicating closely?

Page 3: Remote Pair Programming

After this talk• Find a remote mentor

• Pair with your remote team

Page 4: Remote Pair Programming

1. Why2. How3. Demonstration 4. Discussion5. Conclusion

Page 5: Remote Pair Programming

Global teams

Page 6: Remote Pair Programming

There are not enough devs here

Page 7: Remote Pair Programming

There are not enough devs here(for most values of “here”)

Page 8: Remote Pair Programming

(There are not enough devs here)But there are more “over there”

Page 9: Remote Pair Programming

Communication cost increases with distance

Page 10: Remote Pair Programming

But

Page 11: Remote Pair Programming

Communication cost increases with distance

Page 12: Remote Pair Programming

Everybody knows that:Communication cost increases

with distance

Page 13: Remote Pair Programming

Which would you prefer:

Page 14: Remote Pair Programming

Which would you prefer:

A. Team sits onsite, but…uses headphones all day

speak to customer monthly

Page 15: Remote Pair Programming

Which would you prefer:

A. Team sits onsite, but…uses headphones all day

speak to customer monthlyB. Team 1/3 around the worldPair programs with local devs

Speak with customer daily

Page 16: Remote Pair Programming

Practical remote programming

Page 17: Remote Pair Programming

Don’t send each keystroke across the world and back

Page 18: Remote Pair Programming

We want a solution that is not super-expensive

Page 19: Remote Pair Programming

Voice sharingScreen sharing

File sharing

Page 20: Remote Pair Programming

Voice sharing (Skype)Screen sharing (GoToMeeting)

File sharing (Dropbox)

Page 21: Remote Pair Programming

Ping pong

Page 22: Remote Pair Programming

Ingredient #1:Pair programming

Page 23: Remote Pair Programming
Page 24: Remote Pair Programming
Page 25: Remote Pair Programming

Ingredient #2:Test driven

development

Page 26: Remote Pair Programming

Failing test

Write code

Failing test

Write code

Failing test

Page 27: Remote Pair Programming

Ingredient #3:

Refactoring

Page 28: Remote Pair Programming

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 29: Remote Pair Programming

Put together

Page 30: Remote Pair Programming

Failing test

Write code

Failing test

Write code

Failing test

Page 31: Remote Pair Programming

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 32: Remote Pair Programming

Failing test

Write code

Failing test

Write code

Failing test

Refactor code and tests

Refactor code and tests

Page 33: Remote Pair Programming

Demonstration

Page 34: Remote Pair Programming

What to watch for?

Page 35: Remote Pair Programming

What to watch for?• Collaboration

• Problems and approaches

Page 36: Remote Pair Programming

Say hello to my team!

Page 37: Remote Pair Programming

Remember: Suboptimal network

Page 38: Remote Pair Programming

Please:• Talk about what you see to the person

next to you (whisper)•Tweet to @jhannes

Page 39: Remote Pair Programming

Demonstration(Guest starring Adipa

Gunasekara)

Page 40: Remote Pair Programming

Kata: Number names

Page 41: Remote Pair Programming

Kata: Number names1 => 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

Page 42: Remote Pair Programming

Discussion

Page 43: Remote Pair Programming

Benefits(Guest starring Adipa

Gunasekara)

Page 44: Remote Pair Programming

Faster

Lower error rate

More productive

Page 45: Remote Pair Programming

Usage

Page 46: Remote Pair Programming

Team startup

Training

Job interviews

Page 47: Remote Pair Programming

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

Page 48: Remote Pair Programming

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…

Page 49: Remote Pair Programming

Training• You just saw it…

Page 50: Remote Pair Programming

Interviews• Reveals real skills

• Motivating: fun and educational => Good PR

• Pre-start training

Page 51: Remote Pair Programming

Decreasing the distance

Page 52: Remote Pair Programming

How do you decrease the distance in your

team?

Page 53: Remote Pair Programming

Conclusion

Page 54: Remote Pair Programming

Dropbox, Skype, GoToMeeting

Page 55: Remote Pair Programming

It’s a small world, after all

Page 56: Remote Pair Programming

Find a remote pair prog partner

Page 57: Remote Pair Programming

Find a remote pair prog partner

Have fun

Page 58: Remote Pair Programming

Grab hold of me in the hallway for a pair programming session