Virtual Pair Programming

3,714 views
3,592 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,714
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Describe existing Trouble Ticket application as a CORBA service Existing methods: Find Ticket by Ticket ID, etc Current Direction: Web Services initiative Web Services *
  • Virtual Pair Programming

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

    ×