- 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 8/28/03 Version 1.0 Introduction o Nice to be back at ESUG! o ESUG ‘02 – Web Services o This year: Virtual Pair Programming o My Team o Project background
- Page 3 - Virtual Pair Programming 8/28/03 Version 1.0 Structure of Presentation o Problem Description o Approaches o Experiences o Empirical Studies o Summary and Conclusions o Bibliography
- Page 4 - Virtual Pair Programming 8/28/03 Version 1.0 Problem Statement
- Page 5 - Virtual Pair Programming 8/28/03 Version 1.0 Problem Statement o Envy is very chatty o Use of ENVY over a WAN is painfully slow o How to achieve reasonable experience remotely o Collect informal data on Virtual Pairing experience
- Page 6 - Virtual Pair Programming 8/28/03 Version 1.0 One Approach We Use VNC (Virtual Network Computing) Downloadable from 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 8/28/03 Version 1.0 VNC Settings
- Page 8 - Virtual Pair Programming 8/28/03 Version 1.0 VNC with Headsets o Acceptable experience when Smalltalk image –Is physically close to ENVY server on the network o Poll full screen is not necessary and expensive. o Allows 2 mice, 2 keyboard o Share entire desk top (privacy) o Host Cursor disappears with more than 1 client
- Page 9 - Virtual Pair Programming 8/28/03 Version 1.0 VNC on Unix o 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 8/28/03 Version 1.0 VNC on Solaris o On Solaris it is good to have set-user-id bit set on Xvnc executable and have that executable to be owned by root o Users running Xvnc server not need to be root
- Page 11 - Virtual Pair Programming 8/28/03 Version 1.0 Another Approach o NetMeeting o Good for drawing pictures o Giving and taking control o Can Share just one application (privacy) o Requires Windows
- Page 12 - Virtual Pair Programming 8/28/03 Version 1.0 NetMeeting Problem o Problem: Does not render Visualworks Windows –Loss of lines o Solution: Start Remote Desktop on VW server –Open NetMeeting on server and share RDC
- Page 13 - Virtual Pair Programming 8/28/03 Version 1.0 Remote Desktop Connection Logon and select Options
- Page 14 - Virtual Pair Programming 8/28/03 Version 1.0 Remote Desktop Connection settings
- Page 15 - Virtual Pair Programming 8/28/03 Version 1.0 RDC Experience tab
- Page 16 - Virtual Pair Programming 8/28/03 Version 1.0 Set to Custom to reduce bandwidth
- Page 17 - Virtual Pair Programming 8/28/03 Version 1.0 RDC problems o Event handling occasional very slow o Seems related to VPN
- Page 18 - Virtual Pair Programming 8/28/03 Version 1.0 VPP Experience Summary o VPP can be done –Even in same office building o Telephone Phones/headset preferred –Net-based voice less desirable –Yahoo Messenger or MSN Messenger o Advantages (Ergonomics) –Two keyboards o VNC not as “fast” an experience and RDC solution
- Page 19 - Virtual Pair Programming 8/28/03 Version 1.0 VPP Experience Summary (cont) o Privacy o One of pair can “mute and munch” o Often program for 5 hours at a time
- 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 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 8/28/03 Version 1.0 Summary and Conclusions o Not much good empirical work exists. o VPP is really a sub area of Computer Supported Collaborative Work (CSCW)… much studied o David Lieb’s “Distributed Cognition” o Distributed Cognition Lab at UCSD o VPP is fun. Reduces “Isolation” o Productivity gains are large
- Page 23 - Virtual Pair Programming 8/28/03 Version 1.0 Bibliography Tristan Richardson, Quentin Staord-Fraser, Kenneth R. Wood, and Andy Hopper. Virtual network computing. IEEE Internet Computing, 2(1):33{38, January- February WikiWikiWeb. See virtual pair programming discussion at
- Page 24 - Virtual Pair Programming 8/28/03 Version 1.0 Bibliography leibs.xml leibs.xml