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

RE: [XP] Pair Programming and Swapping Out

Expand Messages
  • Kent Beck
    George, Multi-tasking can be a problem if you experience it as a series of interruptions. Some people experience it as a sense of flow, many items floating in
    Message 1 of 9 , Aug 1, 2006
    • 0 Attachment
      George,

      Multi-tasking can be a problem if you experience it as a series of
      interruptions. Some people experience it as a sense of flow, many items
      floating in the same river. However, I find my work to be effective when I
      complete several different kinds of whole tasks in a day--add a widget,
      modify the database, write a little tool. One of the challenges of XP is
      finding ways of slicing big jobs into 1-2 hour tasks that are each complete.
      For a task to be complete in this sense means that the system is deployable
      when it is completed, there aren't a lot of loose ends someone needs to
      remember, and the task represents concrete progress towards the bigger goal.

      Sincerely yours,

      Kent Beck
      Three Rivers Institute


      _____

      From: extremeprogramming@yahoogroups.com
      [mailto:extremeprogramming@yahoogroups.com] On Behalf Of George Dinwiddie
      Sent: Tuesday, July 25, 2006 8:08 PM
      To: extremeprogramming@yahoogroups.com
      Subject: Re: [XP] Pair Programming and Swapping Out



      Christopher K. Joiner, Jr. wrote:
      > We have
      > also found that swapping out of pairs off and on different projects gives
      > the entire team exposure to every project that is going on and thus
      allowing
      > for input from different memebers of the team.

      I'm familiar with pairing within a project, but not between projects.
      Are these projects very closely related?

      Quoting Mary and Tom Poppendieck in Lean Software Development,
      "Assigning people to multiple projects is a source of waste. Every time
      software developers switch between tasks, a significant switching time
      is incurred as they get their thoughts gathered and get into the flow of
      the new task. Belonging to multiple teams usually causes more
      interruptions and thus more task switching. This task switching time is
      waste. The fastest way to complete two projects that use the same
      resources is to do them one at a time."

      - George

      --
      ----------------------------------------------------------
      * George Dinwiddie * gdinwiddie@idiacomp
      <mailto:gdinwiddie%40idiacomputing.com> uting.com
      Software Development http://www.idiacomp <http://www.idiacomputing.com>
      uting.com
      Consultant and Coach http://www.agilemar <http://www.agilemaryland.org>
      yland.org
      ----------------------------------------------------------







      [Non-text portions of this message have been removed]
    • George Dinwiddie
      Kent, Yes, I understand about doing different types of tasks. I was questioning multitasking between different projects. I ve explored this topic a bit at
      Message 2 of 9 , Aug 4, 2006
      • 0 Attachment
        Kent,

        Yes, I understand about doing different types of tasks. I was
        questioning multitasking between different projects. I've explored this
        topic a bit at http://idiacomputing.com/moin/ContextSwitching in
        response to some writings by Dale Emery, Johanna Rothman, and Don Gray.

        It's not finished, as I still want to address time-slicing and haven't
        come up with the words, or even the conclusions, yet. But if you'd like
        to take a look, I'd love to hear your feedback on it.

        - George

        Kent Beck wrote:
        > George,
        >
        > Multi-tasking can be a problem if you experience it as a series of
        > interruptions. Some people experience it as a sense of flow, many items
        > floating in the same river. However, I find my work to be effective when I
        > complete several different kinds of whole tasks in a day--add a widget,
        > modify the database, write a little tool. One of the challenges of XP is
        > finding ways of slicing big jobs into 1-2 hour tasks that are each complete.
        > For a task to be complete in this sense means that the system is deployable
        > when it is completed, there aren't a lot of loose ends someone needs to
        > remember, and the task represents concrete progress towards the bigger goal.
        >
        > Sincerely yours,
        >
        > Kent Beck
        > Three Rivers Institute
        >
        >
        > _____
        >
        > From: extremeprogramming@yahoogroups.com
        > [mailto:extremeprogramming@yahoogroups.com] On Behalf Of George Dinwiddie
        > Sent: Tuesday, July 25, 2006 8:08 PM
        > To: extremeprogramming@yahoogroups.com
        > Subject: Re: [XP] Pair Programming and Swapping Out
        >
        >
        >
        > Christopher K. Joiner, Jr. wrote:
        >> We have
        >> also found that swapping out of pairs off and on different projects gives
        >> the entire team exposure to every project that is going on and thus
        > allowing
        >> for input from different memebers of the team.
        >
        > I'm familiar with pairing within a project, but not between projects.
        > Are these projects very closely related?
        >
        > Quoting Mary and Tom Poppendieck in Lean Software Development,
        > "Assigning people to multiple projects is a source of waste. Every time
        > software developers switch between tasks, a significant switching time
        > is incurred as they get their thoughts gathered and get into the flow of
        > the new task. Belonging to multiple teams usually causes more
        > interruptions and thus more task switching. This task switching time is
        > waste. The fastest way to complete two projects that use the same
        > resources is to do them one at a time."
        >
        > - George
        >


        --
        ----------------------------------------------------------------------
        * George Dinwiddie * gdinwiddie@...
        Software Development http://www.idiacomputing.com
        Consultant and Coach http://www.agilemaryland.org
        ----------------------------------------------------------------------
      • Lasse Koskela
        Christopher, George, others, (and sorry for joining the discussion late--I happen to have a nasty flu, which means I ve been actually reading the dozens of
        Message 3 of 9 , Aug 6, 2006
        • 0 Attachment
          Christopher, George, others,

          (and sorry for joining the discussion late--I happen to have a nasty
          flu, which means I've been actually reading the dozens of mailing
          lists I subscribe to...)

          [Christopher K. Joiner, Jr. wrote:]
          > We have also found that swapping out of pairs off and on different projects
          > gives the entire team exposure to every project that is going on and thus
          > allowing for input from different memebers of the team.
          >
          [George Dinwiddie wrote:]
          > Quoting Mary and Tom Poppendieck in Lean Software Development,
          > "Assigning people to multiple projects is a source of waste. Every time
          > software developers switch between tasks, a significant switching time
          > is incurred as they get their thoughts gathered and get into the flow of
          > the new task. Belonging to multiple teams usually causes more
          > interruptions and thus more task switching. This task switching time is
          > waste. The fastest way to complete two projects that use the same
          > resources is to do them one at a time."

          Perhaps more than the cost of context switching, I'd be worried about
          whether the individuals are able to keep committed to and keep track
          of a common goal and whether they are able to associate themselves as
          a team rather than "just" individuals.

          I appreciate that many programmers (myself included) may like getting
          to work on a range of stuff, switching from one cool project to the
          next every other day. I also appreciate the programmer's understanding
          of the big picture, the health and direction of the project. Switching
          between two or more "distant" projects is bound to affect this
          understanding.

          I also appreciate that if I'm not making sense, it's probably just the
          medication talking ;)

          -Lasse-
        Your message has been successfully submitted and would be delivered to recipients shortly.