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

[extremeprogramming] Re: A second pair of eyes

Expand Messages
  • Mike Schneider
    Fred, The big advantage from the second pair of eyes may lie in the roles that you play. The person at the keyboard is thinking tactical: I need this loop to
    Message 1 of 12 , Feb 1, 2000
    • 0 Attachment
      Fred,

      The big advantage from the second pair of eyes  may lie in the roles that you play.

      The person at the keyboard is thinking tactical:
          I need this loop to walk over all of the items on the list.
       

      The second pair of eyes is thinking strategic:
          What test cases will be affected by this code being written, do I have to update
           the users guide/api guide for this changes?   Is this change we are making
           aligned with the current metaphor of the system?  Is the metaphor still correct,
            or does it need to be "refactored"?
       

      Dijkststra  used the terms pondering and reasoning.

      Where reasoning is where you refine your task, by drilling down into the detail.  You
      drill down from concept to implementation, refining your current problem.  In software,
      this is coding.  An important note:  When reasoning, you do not make conceptual jumps.
      You refine your current plan.
       

      Pondering is when you step back, look at the problem, and ask:  Is there a better way?
      Is this change I am about to make in line with the metaphor? As we are drilling down,
      should we keep drilling?  Is our path correct?   Pondering is where you make you
      conceptual jumps.  Design patterns come from culling the results of your drilling down,and
      finding the common elements of your N drill down code sessions.  I often refer to deep
      pondering as the "Time walking the halls with a cup of coffee".
       
       

      So if you look at software development as "Pondering" and "Reasoning" where you
      get things done when Reasoning, or coding, but you make conceptual jumps when
      Pondering you have to ask the questions.  "How can my organization ponder and reason
      at the same time?"

      An answer:  Pair Programming

      One person (the one at the keyboard) has a plan to refine an idea into code {Reasoning}.
      This person will flat out fly if they can simply implement the idea, without getting
      lost in the pondering.   The other person is watching their back on the pondering side,
      the keep the big picture in their head.
       

      At any instance in time, we either ponder or reason, but never both at the same time ( we
      can switch back and forth quickly sometimes).  Pair programming allows for
      both activities to occur at the same time at one keyboard.

      That is a "Good Thing" for a software development project.  That seems to be the big
      win we are seeing right now from pair programming.

      I am curious about other peoples experiences in this area,

      thanks,
      Mike

      Fred George wrote:

      From: paton [mailto:paton@...]

      "I think much of the advantage of pair programming (the second pair of eyes)
      can be had by using
      tools like LINT, code Wizard, code Integrity, and (my favourite) Code Check
      by Abraxas software"

      "what sort of things does the second pair of eyes say to the first pair of
      eyes in pair programming.
      waht fraction of these things are uniquely human?"

      In my experience, there is a lot of comments of the form "You missed the
      semicolon" or "You misspelled the variable xxxx".  I would like to see tools
      eliminate that sort of input.  The VA Java 3.0 command completion has
      eliminated many of my typing errors.

      So what is left for a partner to say intelligently?  "Why?" is a good
      question.  Explain the design to the partner to present an opportunity for
      improvement.  I share some of Ron's experiences that even the most junior
      partners can make sound contributions.

      My overall feelings on the subject are best summed up from a recent Orson
      Scott Card book: "One mind thinking alone rarely surprises itself."

      Fred
      mailto:FredGeorge@...

      ------------------------------------------------------------------------
      To Post a message, send it to:   extremeprogramming@...
      To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...

      ------------------------------------------------------------------------
      FREE ADVICE FROM REAL PEOPLE!  Xpertsite has thousands of experts who
      are willing to answer your questions for FREE.  Go to Xpertsite today and
      put your mind to rest.
      http://click.egroups.com/1/1033/0/_/263270/_/949412204/

      -- Easily schedule meetings and events using the group calendar!
      -- http://www.egroups.com/cal?listname=extremeprogramming&m=1

      -- 
      ==============================================================================
      Michael L. Schneider                      Email: Michael.Schneider@...
      Structural Dynamics Research Corp         Tel:   (513) 576-2935
      Milford OH, 45150                         Group: Software Process Group
      
        "The best performance improvement is the transition from the 
         nonworking state to the working state" - John Ousterhout
       
    • Fred George
      From: michael.schneider@sdrc.com [mailto:michael.schneider@sdrc.com] The big advantage from the second pair of eyes may lie in the roles that you play. The
      Message 2 of 12 , Feb 2, 2000
      • 0 Attachment
        From: michael.schneider@... [mailto:michael.schneider@...]

        "The big advantage from the second pair of eyes may lie in the roles that
        you play.
        The person at the keyboard is thinking tactical:
        I need this loop to walk over all of the items on the list.

        The second pair of eyes is thinking strategic:
        What test cases will be affected by this code being written, do I have
        to update
        the users guide/api guide for this changes? Is this change we are
        making
        aligned with the current metaphor of the system? Is the metaphor still
        correct,
        or does it need to be "refactored"? "

        I understand the theory. But my XP _experience_ is that the second pair of
        eyes has trouble resisting the punctuation comments. I myself try hard to
        keep quiet, but such errors _distract_ from my larger-picture thinking.
        It's just like seeing a presentation with a spelling error in the title...
        you miss the larger point of the slide.

        I would like to see smarter tools that I could trust (as the second pair of
        eyes) so I would be freed from punctuation distraction. MS Word's
        auto-correct of common spelling errors is the model I am after. VA Java is
        the closest yet, but I want more...

        Fred
        mailto:FredGeorge@...
      • Ron Jeffries
        ... I don t mind the punctuation corrections or spelling corrections at all. It s part of the help. The trick is just to say semi or I d use the American
        Message 3 of 12 , Feb 2, 2000
        • 0 Attachment
          At 09:02 PM 2/2/2000 -0500, you wrote:
          >I understand the theory. But my XP _experience_ is that the second pair of
          >eyes has trouble resisting the punctuation comments. I myself try hard to
          >keep quiet, but such errors _distract_ from my larger-picture thinking.
          >It's just like seeing a presentation with a spelling error in the title...
          >you miss the larger point of the slide.

          I don't mind the punctuation corrections or spelling corrections at all.
          It's part of the help. The trick is just to say "semi" or "I'd use the
          American spelling of that".

          And it's very important for my partner to correct Jeffries Error #1,
          leaving the ^ off a method that has to return a value.

          R

          Ron Jeffries
          Extreme Programming Training and Consultation
          www.XProgramming.com
        • Nathaniel Talbott
          [I don t quite qualify as a lurker, since I joined after that message was posted (I ve managed to read it in replies). Just by way of quick introduction,
          Message 4 of 12 , Feb 5, 2000
          • 0 Attachment
            [I don't quite qualify as a lurker, since I joined after that message was
            posted (I've managed to read it in replies). Just by way of quick
            introduction, though, I'm young (no number, you'll have to guess!), an
            apprentice at RoleModel Software (Ken Auer's company), and an ardent
            supporter and user of XP. Currently I'm practicing it on a project of about
            10 people.]

            > At 09:02 PM 2/2/2000 -0500, you wrote:
            > >I understand the theory. But my XP _experience_ is that the
            > second pair of
            > >eyes has trouble resisting the punctuation comments. I
            > myself try hard to
            > >keep quiet, but such errors _distract_ from my
            > larger-picture thinking.
            > >It's just like seeing a presentation with a spelling error
            > in the title...
            > >you miss the larger point of the slide.
            >
            > I don't mind the punctuation corrections or spelling
            > corrections at all.
            > It's part of the help. The trick is just to say "semi" or
            > "I'd use the
            > American spelling of that".
            As with many subtleties of pair programming, I think this should be tailored
            to the specific person you're working with. I adjust my pairing role from
            person to person. For example, when with one pair, I know it distracts him
            if I correct punctuation as he types, so I might correct it before he saves
            the method, or I might just let the instant compilation catch it (we're
            using VAJava). OTOH, another pair and I have an informal competition where
            we not only get on each other for wrong punctuation, but also if one of us
            enters code in an inefficient manner. OAH, when I pair with Mr. Auer, he
            often has more of the task in his head than I do, so I'm often just trying
            to follow along and understand what he's doing so I can suggest alternates,
            correct flaws, and ask/answer questions. Typically this doesn't leave me
            much time to correct punctuation.

            It comes down to good communication. Talk with your pair as you go along,
            and learn how best to help one another achieve the tasks at hand. Work to
            complement the other person, not duplicate and/or oppose them.

            "Two are better than one; because they have a good reward for their labor.
            For if they fall, the one will lift up his fellow: but woe to him that is
            alone when he falleth; for he hath not another to help him up." -- Solomon,
            Eccl. 4:9,10


            Nathaniel Talbott

            <:((><
            + - - + - -
            | RoleModel Software, Inc. & | EQUIP VI
            | The XP Software Studio(TM) |
          Your message has been successfully submitted and would be delivered to recipients shortly.