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

Re: [XP] Re: Pair Programming Measures

Expand Messages
  • Steven Gordon
    Agile teams should try pairing because they have a problem with quality and/or knowledge silos and believe it may help them address their problem. And then
    Message 1 of 12 , Oct 11, 2012
    • 0 Attachment
      Agile teams should try pairing because they have a problem with quality
      and/or knowledge silos and believe it may help them address their problem.
      And then they try it and retrospect on it to see if it helps and if not
      whether they should try to do it better or abandon the idea. This goes for
      other practices as well.

      Doing something because somebody else "proved" that it work for them is
      backwards. Doing something because some manager tells them to do it
      because somebody else "proved" that it work for them is double backwards.

      Metrics are so context-sensitive that they just do not translate from one
      situation to another. They are useful for seeing if a specific team is
      getting better over time, but they are not good for comparing teams or
      deciding if a practice works well in general.

      The expense of taking the context-sensitivity out of metrics is only
      warranted for things like drugs and medical procedures, not software
      development.

      Agile opens the door for each team to take responsibility of using their
      own metrics to improve their own process - promote that. Providing
      guidelines and feedback for how to do that is conducive to agility. In my
      opinion, attempting to do it generally it for all teams is prohibitively
      expensive to do validly and inhibits the long term agility of individual
      teams.

      Steven Gordon

      On Thu, Oct 11, 2012 at 7:05 AM, MarvinToll.com <MarvinToll@...>wrote:

      > **
      >
      >
      > Thank you Rob... my impression was that the quantitive metrics available
      > are not establishing a strong case for pairing.
      >
      > I remain hopeful that some day we might have qualitative measures useful
      > for making the case.
      >
      > _Marvin
      >
      >
      > --- In extremeprogramming@yahoogroups.com, "Rob Myers" <rob.myers@...>
      > wrote:
      > >
      > > The only quantitative metrics I recall reading about were done by Laurie
      > Williams, and were taken in an academic setting.
      > >
      > > She found that the defect rates were much lower, but the development
      > time was a little higher. It was shown to be a net win.
      > >
      > > In my experience, paired development time is not slower, but faster, for
      > a whole list of qualitative, behavioral reasons. When it comes to knowledge
      > work (surgery, flying an airliner, writing production-ready code), on
      > average, two people will complete two tasks faster together than separately.
      > >
      > > I'd love it if someone could fund more industry research. I have plenty
      > of hypotheses that need testing. ;-)
      > >
      > >
      > > --- In extremeprogramming@yahoogroups.com, "MarvinToll.com" <MarvinToll@>
      > wrote:
      > > >
      > > > Has the dust ever settled on this topic? My understanding is that
      > there is some consensus that quantitative metrics in this area are not all
      > that useful... however, there may be more validity to qualitative measures.
      > > >
      > > > _Marvin
      > > >
      > >
      >
      >
      >


      [Non-text portions of this message have been removed]
    • Jeff Langr
      Few people ever quantify things like the true cost of a defect. Here s why I pair: http://pragprog.com/magazines/2011-07/pair-programming-benefits Jeff L.
      Message 2 of 12 , Oct 11, 2012
      • 0 Attachment
        Few people ever quantify things like the true cost of a defect.

        Here's why I pair:
        http://pragprog.com/magazines/2011-07/pair-programming-benefits

        Jeff L.

        Langr Software Solutions
        http://langrsoft.com
        http://agileinaflash.com - Agile in a Flash: A top 20 agile book!
        (http://www.noop.nl/2010/08/top-100-agile-books.html)


        On Thu, Oct 11, 2012 at 7:05 AM, MarvinToll.com <MarvinToll@...> wrote:
        > Thank you Rob... my impression was that the quantitive metrics available are not establishing a strong case for pairing.
        >
        > I remain hopeful that some day we might have qualitative measures useful for making the case.
        >
        > _Marvin
        >
        > --- In extremeprogramming@yahoogroups.com, "Rob Myers" <rob.myers@...> wrote:
        >>
        >> The only quantitative metrics I recall reading about were done by Laurie Williams, and were taken in an academic setting.
        >>
        >> She found that the defect rates were much lower, but the development time was a little higher. It was shown to be a net win.
        >>
        >> In my experience, paired development time is not slower, but faster, for a whole list of qualitative, behavioral reasons. When it comes to knowledge work (surgery, flying an airliner, writing production-ready code), on average, two people will complete two tasks faster together than separately.
        >>
        >> I'd love it if someone could fund more industry research. I have plenty of hypotheses that need testing. ;-)
        >>
        >>
        >> --- In extremeprogramming@yahoogroups.com, "MarvinToll.com" <MarvinToll@> wrote:
        >> >
        >> > Has the dust ever settled on this topic? My understanding is that there is some consensus that quantitative metrics in this area are not all that useful... however, there may be more validity to qualitative measures.
        >> >
        >> > _Marvin
        >> >
        >>
        >
        >
        >
        >
        > ------------------------------------
        >
        > To Post a message, send it to: extremeprogramming@...
        >
        > To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...
        >
        > ad-free courtesy of objectmentor.comYahoo! Groups Links
        >
        >
        >
      • Francis Fish
        ... +1 - the very important point there, which is often missed, is improving your own and other s capability. If you re relatively new and there are idiomatic
        Message 3 of 12 , Oct 12, 2012
        • 0 Attachment
          On Fri, Oct 12, 2012 at 4:37 AM, Jeff Langr <jeff@...> wrote:

          > **
          >
          >
          > Few people ever quantify things like the true cost of a defect.
          >
          > Here's why I pair:
          > http://pragprog.com/magazines/2011-07/pair-programming-benefits
          >
          > Jeff L.
          >
          >
          +1 - the very important point there, which is often missed, is improving
          your own and other's capability. If you're relatively new and there are
          idiomatic ways of doing things that you don't know then you need to pair
          with someone who does. When you question the idioms you will be helping the
          more experienced person understand them better too, and maybe even change
          them if they aren't quite right.

          I did a talk on YAGNI a while back and one of the things I said was we
          often go off down rabbit holes and start working on things that don't work
          or are a bad choice. Pairing helps stop this in its tracks, and it also
          stops yak shaving. I have abso no idea how you would measure this but I'd
          bet that this is why it seems much more productive: the code that's written
          is solving the right problem because it needs two minds agreeing to justify
          its existence. In terms of lines per day (or some other useless metric)
          there may well be less, but in terms of *relevant* lines per day quite
          likely far more. I suppose a metric around defects (or more likely uncaught
          defects that testers find) might give some indirect indication.

          If you go down the metrics route, any kind of metric that at least gives
          you an idea is better than none at all. But you also need to understand
          statistics and the ineluctable fact that measurements falling within three
          standard deviations of the mean actually indicate there is little room for
          improvement without changing the "system" as a whole. I'd suggest people
          track down a copy of "4 days with Dr Deming" if they want this explained in
          more detail. For example, Deming ridiculed the idea of performance reviews
          - if 95% of the variability of anyone's performance comes from the tools
          and training they've been given and the overall system they're forced to
          work with, marking them up or down is really unfair. <sarcasm> For some
          reason the command & control management types don't like this. Probably
          because the overall system is their responsibility and improving it would
          mean they'd have to do something other than bully people, like thinking and
          some real work. </sarcasm>


          [Non-text portions of this message have been removed]
        • Daniel Wildt
          In my experience, pairing must come together with a purpose. We found that the team is learning much more when doing pairing sessions. We were able to improve
          Message 4 of 12 , Oct 12, 2012
          • 0 Attachment
            In my experience, pairing must come together with a purpose. We found that
            the team is learning much more when doing pairing sessions.

            We were able to improve much faster our business knowledge doing pairing
            sessions. Same thing happened with technical knowledge creation where
            people with more experience paired more often with people with less
            experience.

            The "ramp up" process had also a big benefit from pairing. Every new person
            on the team is asked to try to pair 100% of the time when touching
            production code. Which they start doing on day 1.

            Pairing was also very important integrating business analysts and
            developers.

            And everything started with Coding Dojos. Where developers could practice
            programming and also pairing, test automation, respect, they learn that
            they can learn and teach other people. They learn how to create knowledge
            while delivering a feature.

            -- Daniel Wildt - @dwildt <http://twitter.com/dwildt>


            On Thu, Oct 11, 2012 at 3:11 PM, Steven Gordon <sgordonphd@...> wrote:

            > Agile teams should try pairing because they have a problem with quality
            > and/or knowledge silos and believe it may help them address their problem.
            > And then they try it and retrospect on it to see if it helps and if not
            > whether they should try to do it better or abandon the idea. This goes for
            > other practices as well.
            >
            > Doing something because somebody else "proved" that it work for them is
            > backwards. Doing something because some manager tells them to do it
            > because somebody else "proved" that it work for them is double backwards.
            >
            > Metrics are so context-sensitive that they just do not translate from one
            > situation to another. They are useful for seeing if a specific team is
            > getting better over time, but they are not good for comparing teams or
            > deciding if a practice works well in general.
            >
            > The expense of taking the context-sensitivity out of metrics is only
            > warranted for things like drugs and medical procedures, not software
            > development.
            >
            > Agile opens the door for each team to take responsibility of using their
            > own metrics to improve their own process - promote that. Providing
            > guidelines and feedback for how to do that is conducive to agility. In my
            > opinion, attempting to do it generally it for all teams is prohibitively
            > expensive to do validly and inhibits the long term agility of individual
            > teams.
            >
            > Steven Gordon
            >
            > On Thu, Oct 11, 2012 at 7:05 AM, MarvinToll.com <MarvinToll@...
            > >wrote:
            >
            > > **
            > >
            > >
            > > Thank you Rob... my impression was that the quantitive metrics available
            > > are not establishing a strong case for pairing.
            > >
            > > I remain hopeful that some day we might have qualitative measures useful
            > > for making the case.
            > >
            > > _Marvin
            > >
            > >
            > > --- In extremeprogramming@yahoogroups.com, "Rob Myers" <rob.myers@...>
            > > wrote:
            > > >
            > > > The only quantitative metrics I recall reading about were done by
            > Laurie
            > > Williams, and were taken in an academic setting.
            > > >
            > > > She found that the defect rates were much lower, but the development
            > > time was a little higher. It was shown to be a net win.
            > > >
            > > > In my experience, paired development time is not slower, but faster,
            > for
            > > a whole list of qualitative, behavioral reasons. When it comes to
            > knowledge
            > > work (surgery, flying an airliner, writing production-ready code), on
            > > average, two people will complete two tasks faster together than
            > separately.
            > > >
            > > > I'd love it if someone could fund more industry research. I have plenty
            > > of hypotheses that need testing. ;-)
            > > >
            > > >
            > > > --- In extremeprogramming@yahoogroups.com, "MarvinToll.com"
            > <MarvinToll@>
            > > wrote:
            > > > >
            > > > > Has the dust ever settled on this topic? My understanding is that
            > > there is some consensus that quantitative metrics in this area are not
            > all
            > > that useful... however, there may be more validity to qualitative
            > measures.
            > > > >
            > > > > _Marvin
            > > > >
            > > >
            > >
            > >
            > >
            >
            >
            > [Non-text portions of this message have been removed]
            >
            >
            >
            > ------------------------------------
            >
            > To Post a message, send it to: extremeprogramming@...
            >
            > To Unsubscribe, send a blank message to:
            > extremeprogramming-unsubscribe@...
            >
            > ad-free courtesy of objectmentor.comYahoo! Groups Links
            >
            >
            >
            >


            [Non-text portions of this message have been removed]
          • Ian Mitchell
            My experience has led me to the following: 1. The biggest source of errors is not understanding the problem before inventing the solution. Not understanding
            Message 5 of 12 , Oct 13, 2012
            • 0 Attachment
              My experience has led me to the following:
              1. The biggest source of errors is not understanding the problem before
              inventing the solution. Not understanding includes not thinking deeply
              enough and not spotting ambiguities. Two people discussing a problem often
              help clarify it and ensure that they understand its true width. Defects
              like this survive into production and hence are the most expensive.
              2. Always enforce pre- and post- assertion approaches.
              3. Then write the test harness so the criteria for a correct solution is
              agreed before much code is written.
              4. Another major factor is that if we make a typo we often do not see it
              [if it is compilable] because we see what we knew we wrote whereas someone
              else immediately sees that that is not what they would have written.
              5. Personality impacts pair programming - sometimes two people work
              effectively together but sometimes one person effectively just watches the
              other person - particularly if one is experienced and the other a newbie.
              6. Also if the code follows a familiar pattern the second member of the
              pair cannot contribute much.

              On 13 October 2012 11:47, Daniel Wildt <dwildt@...> wrote:

              > **
              >
              >
              > In my experience, pairing must come together with a purpose. We found that
              > the team is learning much more when doing pairing sessions.
              >
              > We were able to improve much faster our business knowledge doing pairing
              > sessions. Same thing happened with technical knowledge creation where
              > people with more experience paired more often with people with less
              > experience.
              >
              > The "ramp up" process had also a big benefit from pairing. Every new person
              > on the team is asked to try to pair 100% of the time when touching
              > production code. Which they start doing on day 1.
              >
              > Pairing was also very important integrating business analysts and
              > developers.
              >
              > And everything started with Coding Dojos. Where developers could practice
              > programming and also pairing, test automation, respect, they learn that
              > they can learn and teach other people. They learn how to create knowledge
              > while delivering a feature.
              >
              > -- Daniel Wildt - @dwildt <http://twitter.com/dwildt>
              >
              >
              > On Thu, Oct 11, 2012 at 3:11 PM, Steven Gordon <sgordonphd@...>
              > wrote:
              >
              > > Agile teams should try pairing because they have a problem with quality
              > > and/or knowledge silos and believe it may help them address their
              > problem.
              > > And then they try it and retrospect on it to see if it helps and if not
              > > whether they should try to do it better or abandon the idea. This goes
              > for
              > > other practices as well.
              > >
              > > Doing something because somebody else "proved" that it work for them is
              > > backwards. Doing something because some manager tells them to do it
              > > because somebody else "proved" that it work for them is double backwards.
              > >
              > > Metrics are so context-sensitive that they just do not translate from one
              > > situation to another. They are useful for seeing if a specific team is
              > > getting better over time, but they are not good for comparing teams or
              > > deciding if a practice works well in general.
              > >
              > > The expense of taking the context-sensitivity out of metrics is only
              > > warranted for things like drugs and medical procedures, not software
              > > development.
              > >
              > > Agile opens the door for each team to take responsibility of using their
              > > own metrics to improve their own process - promote that. Providing
              > > guidelines and feedback for how to do that is conducive to agility. In my
              > > opinion, attempting to do it generally it for all teams is prohibitively
              > > expensive to do validly and inhibits the long term agility of individual
              > > teams.
              > >
              > > Steven Gordon
              > >
              > > On Thu, Oct 11, 2012 at 7:05 AM, MarvinToll.com <MarvinToll@...
              > > >wrote:
              > >
              > > > **
              > > >
              > > >
              > > > Thank you Rob... my impression was that the quantitive metrics
              > available
              > > > are not establishing a strong case for pairing.
              > > >
              > > > I remain hopeful that some day we might have qualitative measures
              > useful
              > > > for making the case.
              > > >
              > > > _Marvin
              > > >
              > > >
              > > > --- In extremeprogramming@yahoogroups.com, "Rob Myers" <rob.myers@...>
              > > > wrote:
              > > > >
              > > > > The only quantitative metrics I recall reading about were done by
              > > Laurie
              > > > Williams, and were taken in an academic setting.
              > > > >
              > > > > She found that the defect rates were much lower, but the development
              > > > time was a little higher. It was shown to be a net win.
              > > > >
              > > > > In my experience, paired development time is not slower, but faster,
              > > for
              > > > a whole list of qualitative, behavioral reasons. When it comes to
              > > knowledge
              > > > work (surgery, flying an airliner, writing production-ready code), on
              > > > average, two people will complete two tasks faster together than
              > > separately.
              > > > >
              > > > > I'd love it if someone could fund more industry research. I have
              > plenty
              > > > of hypotheses that need testing. ;-)
              > > > >
              > > > >
              > > > > --- In extremeprogramming@yahoogroups.com, "MarvinToll.com"
              > > <MarvinToll@>
              > > > wrote:
              > > > > >
              > > > > > Has the dust ever settled on this topic? My understanding is that
              > > > there is some consensus that quantitative metrics in this area are not
              > > all
              > > > that useful... however, there may be more validity to qualitative
              > > measures.
              > > > > >
              > > > > > _Marvin
              > > > > >
              > > > >
              > > >
              > > >
              > > >
              > >
              > >
              > > [Non-text portions of this message have been removed]
              > >
              > >
              > >
              > > ------------------------------------
              > >
              > > To Post a message, send it to: extremeprogramming@...
              > >
              > > To Unsubscribe, send a blank message to:
              > > extremeprogramming-unsubscribe@...
              > >
              > > ad-free courtesy of objectmentor.comYahoo! Groups Links
              > >
              > >
              > >
              > >
              >
              > [Non-text portions of this message have been removed]
              >
              >
              >



              --
              Regards
              Ian Mitchell, FIITP ITCP
              ICT and Management Consultant
              2/40 Sylvia Road
              St Heliers
              Auckland, New Zealand
              0064 9 5851580
              http://www.Mitchell.co.nz
              http://www.AboutIT.co.nz
              http://www.SoftwareAsAService.co.nz


              [Non-text portions of this message have been removed]
            • Tim Ottinger
              ... I don t quite understand the question. Are you asking about studies that suggest pairing is more effective? Or whether it s good to measure pair
              Message 6 of 12 , Oct 15, 2012
              • 0 Attachment
                > Has the dust ever settled on this topic?  My understanding is that there is some 
                > consensus that quantitative metrics in this area are not all that useful... 
                > however, there may be more validity to qualitative measures.


                I don't quite understand the question.

                Are you asking about studies that suggest pairing is more effective?
                Or whether it's good to measure pair programming as it happens? 



                 
                Tim Ottinger <tottinge@...>
                http://industriallogic.com/
                http://agileotter.blogspot.com/
              Your message has been successfully submitted and would be delivered to recipients shortly.