virtual pair programming
DESCRIPTION
Kirk D. Blackburn:Virtual Pair Programming(ESUG 2003, Bled)TRANSCRIPT
![Page 1: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/1.jpg)
- Page 1 - Virtual Pair Programming 8/28/03 Version 1.0
Virtual Pair Programming
Kirk D. Blackburn
Qwest Information Technologies
Stan Benda
Qwest Information Technologies
Saogat Rab
Qwest Information Technologies
![Page 2: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/2.jpg)
- Page 2 - Virtual Pair Programming 8/28/03 Version 1.0
Introduction
Nice to be back at ESUG!
ESUG ‘02 – Web Services
This year: Virtual Pair Programming
My Team
Project background
![Page 3: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/3.jpg)
- Page 3 - Virtual Pair Programming 8/28/03 Version 1.0
Structure of Presentation
Problem Description
Approaches
Experiences
Empirical Studies
Summary and Conclusions
Bibliography
![Page 4: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/4.jpg)
- Page 4 - Virtual Pair Programming 8/28/03 Version 1.0
Problem Statement
Prague
Cloud
Stan’s WorkstationQwest
CorporateNetwork
Saogat’s Workstation
Kirk’s Notebook
Denver Colorado
Minneapolis Minnesota
Kirk’s Workstation
ENVY Repository
Pairing Workstation Pairing Workstation
![Page 5: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/5.jpg)
- Page 5 - Virtual Pair Programming 8/28/03 Version 1.0
Problem Statement
Envy is very chatty
Use of ENVY over a WAN is painfully slow
How to achieve reasonable experience remotely
Collect informal data on Virtual Pairing experience
![Page 6: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/6.jpg)
- Page 6 - Virtual Pair Programming 8/28/03 Version 1.0
One Approach We Use VNC (Virtual Network Computing)
Downloadable from
http://www.uk.research.att.com/vnc/download.html
Cross-platform
Does not require Windows
Virtual Pairing does not require a telephone Voice communication is required Internet voice messaging is possible
![Page 7: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/7.jpg)
- Page 7 - Virtual Pair Programming 8/28/03 Version 1.0
VNC Settings
![Page 8: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/8.jpg)
- Page 8 - Virtual Pair Programming 8/28/03 Version 1.0
VNC with Headsets
Acceptable experience when Smalltalk image– Is physically close to ENVY server on the network
Poll full screen is not necessary and expensive.
Allows 2 mice, 2 keyboard
Share entire desk top (privacy)
Host Cursor disappears with more than 1 client
![Page 9: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/9.jpg)
- Page 9 - Virtual Pair Programming 8/28/03 Version 1.0
VNC on Unix
On Unix VNC is started by command line configuration (if you do not have root access on machine):
vncserver -ac -nolisten local -depth 16 -geometry 1280x1024
![Page 10: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/10.jpg)
- Page 10 - Virtual Pair Programming 8/28/03 Version 1.0
VNC on Solaris
On Solaris it is good to have set-user-id bit set on Xvnc executable and have that executable to be owned by root
Users running Xvnc server not need to be root
![Page 11: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/11.jpg)
- Page 11 - Virtual Pair Programming 8/28/03 Version 1.0
Another Approach
NetMeeting
Good for drawing pictures
Giving and taking control
Can Share just one application (privacy)
Requires Windows
![Page 12: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/12.jpg)
- Page 12 - Virtual Pair Programming 8/28/03 Version 1.0
NetMeeting Problem
Problem: Does not render Visualworks Windows– Loss of lines
Solution: Start Remote Desktop on VW server– Open NetMeeting on server and share RDC
![Page 13: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/13.jpg)
- Page 13 - Virtual Pair Programming 8/28/03 Version 1.0
Remote Desktop Connection
Logon and select Options
![Page 14: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/14.jpg)
- Page 14 - Virtual Pair Programming 8/28/03 Version 1.0
Remote Desktop Connection settings
![Page 15: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/15.jpg)
- Page 15 - Virtual Pair Programming 8/28/03 Version 1.0
RDC Experience tab
![Page 16: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/16.jpg)
- Page 16 - Virtual Pair Programming 8/28/03 Version 1.0
Set to Custom to reduce bandwidth
![Page 17: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/17.jpg)
- Page 17 - Virtual Pair Programming 8/28/03 Version 1.0
RDC problems
Event handling occasional very slow
Seems related to VPN
![Page 18: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/18.jpg)
- Page 18 - Virtual Pair Programming 8/28/03 Version 1.0
VPP Experience Summary
VPP can be done – Even in same office building
Telephone Phones/headset preferred– Net-based voice less desirable– Yahoo Messenger or MSN Messenger
Advantages (Ergonomics)– Two keyboards
VNC not as “fast” an experience and RDC solution
![Page 19: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/19.jpg)
- Page 19 - Virtual Pair Programming 8/28/03 Version 1.0
VPP Experience Summary (cont)
Privacy
One of pair can “mute and munch”
Often program for 5 hours at a time
![Page 20: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/20.jpg)
- Page 20 - Virtual Pair Programming 8/28/03 Version 1.0
Empirical Research
In the Fall 2001 semester a structured experiment was conducted in a graduate class, Object-Oriented Languages and Systems, taught by Dr Edward Gehringer at NCSU. This course introduces students to object technology and covers object-oriented analysis and design, Smalltalk, and Java.
All used Java
![Page 21: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/21.jpg)
- Page 21 - Virtual Pair Programming 8/28/03 Version 1.0
Empirical Research
Brian Hanks
Phd Work
University of California, Santa Cruz
Modified VNC to collect driver/navigator
Collocated Pairs, then Switch
Testing of Null hyphothesis
![Page 22: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/22.jpg)
- Page 22 - Virtual Pair Programming 8/28/03 Version 1.0
Summary and Conclusions
Not much good empirical work exists.
VPP is really a sub area of Computer Supported Collaborative Work (CSCW)… much studied
David Lieb’s “Distributed Cognition”
Distributed Cognition Lab at UCSD
VPP is fun. Reduces “Isolation”
Productivity gains are large
![Page 23: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/23.jpg)
- Page 23 - Virtual Pair Programming 8/28/03 Version 1.0
Bibliography
http://rockfish-cs.cs.unc.edu/pubs/XPU-03.pdf
Tristan Richardson, Quentin Staord-Fraser, Kenneth R. Wood, and Andy Hopper. Virtual network computing. IEEE Internet Computing, 2(1):33{38, January-February 1998.
WikiWikiWeb. http://c2.com/cgi/wiki?WikiWikiWeb. See virtual pair programming discussion at http://c2.com/cgi/wiki?VirtualPairProgramming.
![Page 24: Virtual Pair Programming](https://reader036.vdocuments.mx/reader036/viewer/2022062312/5562bd5cd8b42a09618b4ce5/html5/thumbnails/24.jpg)
- Page 24 - Virtual Pair Programming 8/28/03 Version 1.0
Bibliography
http://c2.com/cgi/wiki?VirtualPairProgramming
http://www.pairprogramming.com/csed.pdf
http://www.xp2003.org/slides/15.pdf
http://www.cse.ucsc.edu/~brianh/PairProgramBib.html
http://www.ot2001.org/scripts/display.pl/151-leibs.xml