Loading ...
Sorry, an error occurred while loading the content.

Pair programming over distances?

Expand Messages
  • Dossy
    I don t know if this has been asked before, and since it s faster to ask than to search the list archive (did I really say that? heh, pretend I didn t...) I ll
    Message 1 of 8 , Nov 30, 2000
    • 0 Attachment
      I don't know if this has been asked before, and since it's faster
      to ask than to search the list archive (did I really say that?
      heh, pretend I didn't...) I'll just ask:

      With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
      and "can't pair if we're not in the same room" has anyone considered
      ways of overcoming PP over distances?

      I was thinking just the other day about both programmers in the pair
      connected via POTS and using something like VNC so that both people
      could look at the same screen and type or use the mouse when
      appropriate. It doesn't have the same operational feel-good as
      having you and your pair be no more than 6 feet apart (unless you
      or your pair partner lacks personal hygiene, in which case pairing
      over distances might be better for you...) but it gets the job
      done.


      Also, for all of us lonely XP-for-one'ers, would you consider pairing
      with someone online? For development that requires a GUI, VNC coupled
      with some kind of instant messaging or some other agreed upon protocol
      for in-band or out-of-band communication could be used. For text-only
      development, you could use GNU screen(1) where one person runs screen
      and the other person connects to it via "screen -x".

      (VNC works for Win32 and many Unix flavors ... screen(1) would only
      be helpful under Unix...)


      I'd really like to try and bridge the gap for pairing, one of the
      biggest ones is "we can't have all the developers sit at the same
      physical computers, they're scattered all over the world" ...
      how can we solve this problem in an acceptable way?


      - Dossy

      --
      Dossy Shiobara mail: dossy@...
      Panoptic Computer Network web: http://www.panoptic.com/
    • Amanda Clancy
      Help!! I registered for this by accident and want to know how to get my name of the list can anyone help it is swamping my mail box Amanda
      Message 2 of 8 , Nov 30, 2000
      • 0 Attachment
        Help!!
        I registered for this by accident and want to know how to get my name of
        the list can anyone help it is swamping my mail box
        Amanda
        clancy@...
      • ejfried@ca.sandia.gov
        ... I m a telecommuter who works with a small XPish team located across a continent from me. We have tried pairing using POTS with either emacs under kibitz (a
        Message 3 of 8 , Nov 30, 2000
        • 0 Attachment
          I think Dossy wrote:
          >
          > [...]
          > With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
          > and "can't pair if we're not in the same room" has anyone considered
          > ways of overcoming PP over distances?
          >
          > I was thinking just the other day about both programmers in the pair
          > connected via POTS and using something like VNC so that both people
          > could look at the same screen and type or use the mouse when
          > appropriate...
          >
          > [...]

          I'm a telecommuter who works with a small XPish team located across a
          continent from me. We have tried pairing using POTS with either emacs
          under kibitz (a solution quite like your proposal of using screen -x)
          or, on Win32, emacs under NetMeeting.

          I would say that the results have been mixed. Overall I think it is
          usually a positive experience, but bandwidth and technology
          limitations can be frustrating. If you're working on a remote machine
          alone, an Internet burp that makes you wait for a few seconds is no
          big deal; you can just check your email. If on the other hand two
          people have to wait, it can get annoying. Not to mention that my
          telephone headset makes my ear hurt if worn for more than a few hours
          at a time!

          On the other hand, many of the benefits of pairing do seem to come
          through. The knowledge and idea exchange happens perfectly well. In
          fact, because the non-driver has their own computer to work with, they
          can check online reference materials and experiment with micro-spikes
          as they watch, and therefore may be able to contribute even more than
          they would be able to otherwise.

          To be honest, though, we don't do remote pairing often. We tried it
          more frequently early in the project and recently haven't been doing
          it at all. To my knowledge the folks on-site haven't been doing much
          pairing either. I'm trying to decide why this is the case.

          One reason why remote pairing has been difficult for us is a
          three-hour time difference. By the time my west-coast co-workers are
          on the job, half my day is gone, so I obviously can't pair during my
          morning, and they can't pair with me in their afternoon because I've
          quit for the day. I therefore may be setting a bad precedent for the
          whole team, and that might explain why pairing isn't very common.

          ---------------------------------------------------------
          Ernest Friedman-Hill
          Distributed Systems Research Phone: (925) 294-2154
          Sandia National Labs FAX: (925) 294-2234
          Org. 8920, MS 9012 ejfried@...
          PO Box 969 http://herzberg.ca.sandia.gov
          Livermore, CA 94550
        • Kevin Smith
          ... There have been such discussions, but I don t remember any within the last several months that mentioned VNC. In a nutshell, I would think that a VNC
          Message 4 of 8 , Nov 30, 2000
          • 0 Attachment
            On Thu, 30 Nov 2000 08:19:00 -0500 Dossy <Dossy <dossy@...>> wrote:

            > I don't know if this has been asked before, and since it's faster
            > to ask than to search the list archive (did I really say that?
            > heh, pretend I didn't...) I'll just ask:
            >
            > With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
            > and "can't pair if we're not in the same room" has anyone considered
            > ways of overcoming PP over distances?

            There have been such discussions, but I don't remember any within
            the last several months that mentioned VNC.

            In a nutshell, I would think that a VNC solution would be
            better than not attempting to pair at all. Assuming the
            technology is good enough to make it nearly painless.

            You lose several things, of course:
            - Facial expressions
            - Poking someone in the ribs, kicking them in the shin, or
            slapping their wrist
            - Being sure that the pair is REALLY paying attention
            - Tossing toys at other pairs
            - Face time with the customer

            ...Just to name a few.

            "No reviews" is at one end of the spectrum, and 100% PP
            is at the other. In between, you have code reviews,
            occasional pairing, remote pairing, code-alone-
            but-walk-through -it-all-together -when-you-get-back
            -to-the-office, and other variations.

            Kevin
          • Dossy
            ... Indeed, technical limitation is a big one. Who knows, if they get the whole tele-immersion[1] thing right, PP over distances won t be an issue anymore.
            Message 5 of 8 , Nov 30, 2000
            • 0 Attachment
              On 2000.11.30, ejfried@... <ejfried@...> wrote:
              > I would say that the results have been mixed. Overall I think it is
              > usually a positive experience, but bandwidth and technology
              > limitations can be frustrating.

              Indeed, technical limitation is a big one. Who knows, if they get
              the whole tele-immersion[1] thing right, PP over distances won't
              be an issue anymore. But then, we'd all resent having to sit
              in tele-cubicles all day long ... *smirk*

              [1] http://www.internet2.edu/html/tele-immersion.html
              or http://www.advanced.org/teleimmersion.html


              > On the other hand, many of the benefits of pairing do seem to come
              > through. The knowledge and idea exchange happens perfectly well. In
              > fact, because the non-driver has their own computer to work with, they
              > can check online reference materials and experiment with micro-spikes
              > as they watch, and therefore may be able to contribute even more than
              > they would be able to otherwise.

              This is, of course, good news. And, of course, the benefit of being
              able to call someone up and say "hey, I don't know how to do this ...
              could you just connect to my machine and look at my code?" and you
              *WATCH* as the other person goes and fixes/implements whatever you
              need, rather than just get handed code in it's finished state - this
              gives you the opportunity to ask insightful questions along the way,
              rather than give in to the temptation to simply accept code that's
              been written for you that you didn't know enough to write and probably
              won't understand since you don't care to look at it closely.

              That's one of my most important reasons to encourage junior developers
              to pair with me: they actually SEE code getting written to do things
              that they don't know how to do, and are made comfortable with the idea
              that they can stop me at any time and ask "what does that do?" and
              I'll walk them through it. Next time they see the same construct,
              they recognize it and follow along - after a few times, they can write
              it themselves.

              The fact that they never get "let loose" on a dev. environment to
              write crap code in the beginning already puts us ahead of the "cleanup"
              curve that SO many other shops spend a majority of their time in.

              > One reason why remote pairing has been difficult for us is a
              > three-hour time difference.

              Damn these pesky time zones. You couldn't start your day three hours
              later? Or, compromise, and you start 1.5 hours later and they start
              1.5 hours earlier?

              Well, for the 3 hours a day where you can't pair with them, could that
              time be spent talking to the customer? How about writing unit tests?
              Or running some spikes, or reviewing code you and others have written
              to learn more about other parts of the system? Or reading/responding to
              the XP mailing list? ;-)


              Anyhow, it seems that there are ways to do some degree of PP over
              distances, but it's nowhere near ideal and probably won't be for
              quite some time. But, as it's said about XP: "if you're only
              doing 10 out of the 12 practices, that's probably still better
              than what you were doing before..." the same probably applies to
              PP ...


              - Dossy

              --
              Dossy Shiobara mail: dossy@...
              Panoptic Computer Network web: http://www.panoptic.com/
            • John Brewer
              ... Just tried this the other day for an integration (which turned into a bug hunt due to a defect in Chet s code. :-). I have a 56K modem, my partner has a
              Message 6 of 8 , Nov 30, 2000
              • 0 Attachment
                --- In extremeprogramming@egroups.com, Dossy <dossy@p...> wrote:
                > With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
                > and "can't pair if we're not in the same room" has anyone considered
                > ways of overcoming PP over distances?

                Just tried this the other day for an integration (which turned into a
                bug hunt due to a defect in Chet's code. :-).

                I have a 56K modem, my partner has a shiny new DSL line. My partner
                has Windows 2000, so he had NetMeeting built in. I have '98, so I
                had to download NetMeeting from Microsoft's website. It's only a 1.6
                MB download, so it only took a few minutes, even at 56K.

                Installation and connection was fairly easy. My partner started a
                meeting, and told me his IP address over the phone. I joined the
                meeting, and could see all of his VisualAge windows. Since we were
                already talking on the phone, we disabled the voice conferencing
                feature.

                I was surprised how smoothly it worked. Typing at my end was a
                little net-lagged, but other than that, it was quite acceptable. My
                biggest problem is that I was running off an 800x600 LCD display, so
                I could only see about 1/4 of his screen at any one time. He
                obligingly shrank the debugger window, so that I didn't have to
                scroll to move from seeing the currently highlighted line of code to
                the "step" button.

                Definitely not as good as being there in person, but substantially
                better than not pairing at all.

                John Brewer
                Jera Design
              • wecaputo@thoughtworks.com
                ... I haven t seen this topic lately, and since it has never really been answered definitively, I have an idea to throw out on this topic: Strictly, as a
                Message 7 of 8 , Dec 1, 2000
                • 0 Attachment
                  >With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
                  >and "can't pair if we're not in the same room" has anyone considered
                  >ways of overcoming PP over distances?

                  I haven't seen this topic lately, and since it has never really been
                  answered definitively, I have an idea to throw out on this topic:

                  Strictly, as a thought experiment (read: late-night musing, never tried it)
                  I was wondering, rather than trying to pair two programmers over distance,
                  how about building a distributed XP team by having distributed pairs -- two
                  (or maybe even better four) developers in several distributed locations.

                  That way, you meet (either in person or via some meeting tools wizardy) for
                  the iteration planning meeting once per iteration, then once daily (using
                  your distributed meeting solution of choice) for the standup meeting. That
                  way a pair programs together as nature intended side by side :)

                  Granted this doesn't solve the XP-for-one issue, but it might solve the
                  related question that has arisen: How can one build distributed project
                  groups where some or much of the development effort is to be shipped
                  overseas?

                  Just a couple of pennies.

                  Best,
                  Bill
                • Pardee, Tom
                  ... I m also interested in this idea. ... There would need to be a central point where integration and acceptance testing is carried out. This central point
                  Message 8 of 8 , Dec 1, 2000
                  • 0 Attachment
                    Bill (wecaputo) wrote:
                    > >With all this talk of XP-for-one (I'm stealing Kevin's phrase, here)
                    > >and "can't pair if we're not in the same room" has anyone considered
                    > >ways of overcoming PP over distances?
                    >
                    > I haven't seen this topic lately, and since it has never really been
                    > answered definitively, I have an idea to throw out on this topic:
                    >
                    > Strictly, as a thought experiment (read: late-night musing,
                    > never tried it)
                    > I was wondering, rather than trying to pair two programmers
                    > over distance,
                    > how about building a distributed XP team by having
                    > distributed pairs -- two
                    > (or maybe even better four) developers in several distributed
                    > locations.
                    >
                    I'm also interested in this idea.

                    > That way, you meet (either in person or via some meeting
                    > tools wizardy) for
                    > the iteration planning meeting once per iteration, then once
                    > daily (using
                    > your distributed meeting solution of choice) for the standup
                    > meeting. That
                    > way a pair programs together as nature intended side by side :)
                    >
                    > Granted this doesn't solve the XP-for-one issue, but it might
                    > solve the
                    > related question that has arisen: How can one build
                    > distributed project
                    > groups where some or much of the development effort is to be shipped
                    > overseas?
                    >
                    There would need to be a central point where integration and acceptance
                    testing is carried out. This central point would also mentor and otherwise
                    assure that each team had what they needed to be maximum productive. Some
                    tools, such as an XUnit testing tool would need to be agreed as a standard.

                    A snazzy collaboration tool would be needed for coordinating - maybe based
                    on 'Groove' or 'Jabber.'

                    It could be a distributed consulting company - people could work where they
                    wanted to live, yet be part of the 'free market system' - getting work from
                    where there are plenty of interesting assignments.

                    Any XP company out there interested in fleshing out this business model -
                    ObjectMentor/ThoughtWorks/other? Your benefit would start at lower cost,
                    great scaling ability for large projects or peak loads.... I'm sorry to say
                    that it doesn't fit Paragon's model.

                    Thanks,
                    Tom Pardee
                    Principal Consultant
                    Paragon Computer Professionals, Inc.
                    Phone - (908) 653-3089 FAX - (908) 272-2009

                    ThinkAhead*
                    Think PARAGON
                  Your message has been successfully submitted and would be delivered to recipients shortly.