24
- Page 1 - Virtual Pair Programming 8/28/03 Version 1.0 Virtual Pair Programming Kirk D. Blackburn Qwest Information Technologies [email protected] Stan Benda Qwest Information Technologies [email protected] Saogat Rab Qwest Information Technologies [email protected]

Virtual Pair Programming

  • Upload
    esug

  • View
    3.455

  • Download
    3

Embed Size (px)

DESCRIPTION

Kirk D. Blackburn:Virtual Pair Programming(ESUG 2003, Bled)

Citation preview

Page 1: Virtual Pair Programming

- Page 1 - Virtual Pair Programming 8/28/03 Version 1.0

Virtual Pair Programming

Kirk D. Blackburn

Qwest Information Technologies

[email protected]

Stan Benda

Qwest Information Technologies

[email protected]

Saogat Rab

Qwest Information Technologies

[email protected]

Page 2: Virtual Pair Programming

- 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

- 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

- 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

- 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

- 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

- Page 7 - Virtual Pair Programming 8/28/03 Version 1.0

VNC Settings

Page 8: Virtual Pair Programming

- 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

- 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

- 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

- 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

- 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

- Page 13 - Virtual Pair Programming 8/28/03 Version 1.0

Remote Desktop Connection

Logon and select Options

Page 14: Virtual Pair Programming

- Page 14 - Virtual Pair Programming 8/28/03 Version 1.0

Remote Desktop Connection settings

Page 15: Virtual Pair Programming

- Page 15 - Virtual Pair Programming 8/28/03 Version 1.0

RDC Experience tab

Page 16: Virtual Pair Programming

- Page 16 - Virtual Pair Programming 8/28/03 Version 1.0

Set to Custom to reduce bandwidth

Page 17: Virtual Pair Programming

- 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

- 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

- 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

- 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

- Page 21 - Virtual Pair Programming 8/28/03 Version 1.0

Empirical Research

Brian Hanks

Phd Work

University of California, Santa Cruz

[email protected]

Modified VNC to collect driver/navigator

Collocated Pairs, then Switch

Testing of Null hyphothesis

Page 22: Virtual Pair Programming

- 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

- 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

- 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