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

Re: [XP] Re: Pair Programming Measures

Expand Messages
  • 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 1 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 2 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 3 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 4 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.