<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: An Observation Of Pair Programming vs. Not</title>
	<atom:link href="http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/</link>
	<description>Better Than Yesterday</description>
	<lastBuildDate>Mon, 20 May 2013 17:13:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: T.D.Spenser</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1329</link>
		<dc:creator>T.D.Spenser</dc:creator>
		<pubDate>Wed, 22 Dec 2010 07:21:15 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1329</guid>
		<description>I just finished writing a post that effectively replies to a very similar blog entry.
http://www.thoughtdispenser.net/programming/pair

In short, I find its benefits overstated and the downsides overlooked. Also, the attitude that if you don&#039;t like PP, then you must have some superiority complex (evident in some comments here) is ridiculous.

Pairing requires lots of preconditions to be met to work properly, and even when it does, the loss of productivity and newly gained inertia are by far greater than the gains in code quality or learning.</description>
		<content:encoded><![CDATA[<p>I just finished writing a post that effectively replies to a very similar blog entry.<br />
<a href="http://www.thoughtdispenser.net/programming/pair" rel="nofollow">http://www.thoughtdispenser.net/programming/pair</a></p>
<p>In short, I find its benefits overstated and the downsides overlooked. Also, the attitude that if you don&#8217;t like PP, then you must have some superiority complex (evident in some comments here) is ridiculous.</p>
<p>Pairing requires lots of preconditions to be met to work properly, and even when it does, the loss of productivity and newly gained inertia are by far greater than the gains in code quality or learning.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1328</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Mon, 20 Dec 2010 15:04:29 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1328</guid>
		<description>&quot; If you are paying a team of engineers six figures to accomplish a task, get out of their way and let them do their job.&quot;

I think that might sound right when you type it out, but it&#039;s not reality.  If you just got out of developers way (and I am a former one), people would just do whatever they wanted.  Dev A would test, Dev B would also test, but use a different tool, and Dev C would just sit on Facebook all day. In a one or two person shop, it might work, but I have hundreds of developers that I am responsible for (either directly or indirectly).  I can&#039;t just get out of their way or nothing will ever get done, and no standards will ever be followed.

I know the purpose of this post by Derick was just about some personal observations, and we&#039;re well off that beaten path.  But if there are any real PP studies that can&#039;t easily be ripped to shreds, I&#039;d love to see them.  As I mentioned earlier, I have to &quot;prove&quot; everything before I&#039;m allowed to implement it, since you can&#039;t just say &quot;Let&#039;s give Unit Testing a try and if it doesn&#039;t work in a few weeks, we&#039;ll kill it&quot; when you have over 100 people involved.</description>
		<content:encoded><![CDATA[<p>&#8221; If you are paying a team of engineers six figures to accomplish a task, get out of their way and let them do their job.&#8221;</p>
<p>I think that might sound right when you type it out, but it&#8217;s not reality.  If you just got out of developers way (and I am a former one), people would just do whatever they wanted.  Dev A would test, Dev B would also test, but use a different tool, and Dev C would just sit on Facebook all day. In a one or two person shop, it might work, but I have hundreds of developers that I am responsible for (either directly or indirectly).  I can&#8217;t just get out of their way or nothing will ever get done, and no standards will ever be followed.</p>
<p>I know the purpose of this post by Derick was just about some personal observations, and we&#8217;re well off that beaten path.  But if there are any real PP studies that can&#8217;t easily be ripped to shreds, I&#8217;d love to see them.  As I mentioned earlier, I have to &#8220;prove&#8221; everything before I&#8217;m allowed to implement it, since you can&#8217;t just say &#8220;Let&#8217;s give Unit Testing a try and if it doesn&#8217;t work in a few weeks, we&#8217;ll kill it&#8221; when you have over 100 people involved.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Greer</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1327</link>
		<dc:creator>Derek Greer</dc:creator>
		<pubDate>Sat, 18 Dec 2010 17:07:08 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1327</guid>
		<description>@Steve

    Again, whether other processes provide a more cost-effective strategy depends upon the circumstances and goals you&#039;re trying to accomplish.  

In my opinion, a better analogy would be the needs of a family settling in the wilderness in early America (think little house on the prairie).  After choosing the home site upon arrival, the first thing that needs to be done is to establish a shelter ... and fast.  While some discrimination will be exercised when building their temporary shelter, any measures taken will be made with the temporary needs of the structure in view.  Once established, a homestead will be constructed which will better withstand time and the elements.

In some circumstances, it can be faster and cheaper to develop a solution without maximizing the engineering and quality assurance best practices of the industry, and depending upon the needs of the business this may be the right solution.  For long-lived endeavors, such strategies can prove to be more expensive when considering the total cost of ownership.

Concerning my statements regarding the SDLC, the point I was trying to make is that getting buy-in from front line managers, managing directors, vice-presidents, etc. on a particular development methodology is a larger topic.  In my opinion, whether the development team should be, for instance, employing code reviews or pair-programming isn&#039;t ideally a decision that should be being made by upper level management ... or even the development manager.  If you are paying a team of engineers six figures to accomplish a task, get out of their way and let them do their job.
</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>    Again, whether other processes provide a more cost-effective strategy depends upon the circumstances and goals you&#8217;re trying to accomplish.  </p>
<p>In my opinion, a better analogy would be the needs of a family settling in the wilderness in early America (think little house on the prairie).  After choosing the home site upon arrival, the first thing that needs to be done is to establish a shelter &#8230; and fast.  While some discrimination will be exercised when building their temporary shelter, any measures taken will be made with the temporary needs of the structure in view.  Once established, a homestead will be constructed which will better withstand time and the elements.</p>
<p>In some circumstances, it can be faster and cheaper to develop a solution without maximizing the engineering and quality assurance best practices of the industry, and depending upon the needs of the business this may be the right solution.  For long-lived endeavors, such strategies can prove to be more expensive when considering the total cost of ownership.</p>
<p>Concerning my statements regarding the SDLC, the point I was trying to make is that getting buy-in from front line managers, managing directors, vice-presidents, etc. on a particular development methodology is a larger topic.  In my opinion, whether the development team should be, for instance, employing code reviews or pair-programming isn&#8217;t ideally a decision that should be being made by upper level management &#8230; or even the development manager.  If you are paying a team of engineers six figures to accomplish a task, get out of their way and let them do their job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1326</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Sat, 18 Dec 2010 15:31:43 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1326</guid>
		<description>@Derek,

&quot;Post development processes such as code reviews, cross-training, etc. tend to become less necessary, and mandated adherence to standards tend to be replaced by more organic homogenization of best practices and preferences, but none of what you&#039;ve listed are necessarily mutually exclusive to pair-programming.&quot;

Agreed, but PP is just the most expensive (or at least like so) solution to these problems.  If my task is to get the the airport, PP is the stretch limo of options, while &quot;cheaper&quot; methods are the cab.  Would I prefer to take the limo?  Sure, but it&#039;s hard to justify the dollar amount when there are other forms of transportation that do the job nearly as well. 

&quot;This begins to enter into the realm of agile vs. defined SDLC processes which is probably too lengthy to discuss here.&quot;

I don&#039;t see it that way, it seems that most of the reasons listed for doing PP are more related to distractions, which I don&#039;t think is SDLC related, its more developer related.

Let me put it this way, if I have to go to my boss and explain that it takes PP to keep developers from being distracted and working, I might as well be saying &quot;fire me&quot; while having a big L on my forehead.</description>
		<content:encoded><![CDATA[<p>@Derek,</p>
<p>&#8220;Post development processes such as code reviews, cross-training, etc. tend to become less necessary, and mandated adherence to standards tend to be replaced by more organic homogenization of best practices and preferences, but none of what you&#8217;ve listed are necessarily mutually exclusive to pair-programming.&#8221;</p>
<p>Agreed, but PP is just the most expensive (or at least like so) solution to these problems.  If my task is to get the the airport, PP is the stretch limo of options, while &#8220;cheaper&#8221; methods are the cab.  Would I prefer to take the limo?  Sure, but it&#8217;s hard to justify the dollar amount when there are other forms of transportation that do the job nearly as well. </p>
<p>&#8220;This begins to enter into the realm of agile vs. defined SDLC processes which is probably too lengthy to discuss here.&#8221;</p>
<p>I don&#8217;t see it that way, it seems that most of the reasons listed for doing PP are more related to distractions, which I don&#8217;t think is SDLC related, its more developer related.</p>
<p>Let me put it this way, if I have to go to my boss and explain that it takes PP to keep developers from being distracted and working, I might as well be saying &#8220;fire me&#8221; while having a big L on my forehead.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Greer</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1325</link>
		<dc:creator>Derek Greer</dc:creator>
		<pubDate>Fri, 17 Dec 2010 18:15:48 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1325</guid>
		<description>@Steve

&quot;... there are plenty of other mechanisms that can achieve the same results without Pair Programming though.  And by &quot;other mechanisms&quot; I mean &quot;cheaper&quot;.  For example code reviews can improve code quality, standards/snippets/.templates can guarantee style consistency, etc.&quot;

I don&#039;t disagree that other processes exist that can help improve quality and consistency, but through my experiences I&#039;ve come to believe that many of goals of such processes are more effectively achieved through the practice of pair-programming.  Post development processes such as code reviews, cross-training, etc. tend to become less necessary, and mandated adherence to standards tend to be replaced by more organic homogenization of best practices and preferences, but none of what you&#039;ve listed are necessarily mutually exclusive to pair-programming.

Concerning the claim that these other processes are &quot;cheaper&quot;, this may or may not be true depending upon a number of factors, not the least of which is the needs of the business.  Some of the processes you mentioned, particularly code reviews, provide only a fraction of the benefit that pair-programming can and depending upon the type of application you are developing they may prove to be a less expensive route to achieving that subset of benefits.   They may also prove to be a more expensive route if the issues for which pair-programming would have aided in begin to surface.  I&#039;ve always liked the analogy of the Amish and IKEA&#039;s construction methodologies.  One emphasizes quality, the other affordability.  Which is better depends upon your needs.


&#039;The hardest pill to swallow for management is &quot;So, let me get this straight, these guys make six figures, and yet I need two of them to work together to code up a few web pages?&quot;

Again, as a manager, unless I&#039;m getting more than 200% efficiency from  a pair of developers (granted, that&#039;s incredibly difficult to measure), I can&#039;t sell the idea to MY boss, let alone sell it to the CTO of my company.&#039;


This begins to enter into the realm of agile vs. defined SDLC processes which is probably too lengthy to discuss here.  What I will say is that, ideally, development teams are empowered to chose the development process that are best suited to the needs of fulfilling their responsibilities. At worst, those at more executive level positions shouldn&#039;t be concerning themselves with how the bricks are getting laid, so to speak.  One might also ask, &quot;So, I&#039;m paying these guys six figures and they still need their hands held?  Aren&#039;t you hiring professionals?&quot;

</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>&#8220;&#8230; there are plenty of other mechanisms that can achieve the same results without Pair Programming though.  And by &#8220;other mechanisms&#8221; I mean &#8220;cheaper&#8221;.  For example code reviews can improve code quality, standards/snippets/.templates can guarantee style consistency, etc.&#8221;</p>
<p>I don&#8217;t disagree that other processes exist that can help improve quality and consistency, but through my experiences I&#8217;ve come to believe that many of goals of such processes are more effectively achieved through the practice of pair-programming.  Post development processes such as code reviews, cross-training, etc. tend to become less necessary, and mandated adherence to standards tend to be replaced by more organic homogenization of best practices and preferences, but none of what you&#8217;ve listed are necessarily mutually exclusive to pair-programming.</p>
<p>Concerning the claim that these other processes are &#8220;cheaper&#8221;, this may or may not be true depending upon a number of factors, not the least of which is the needs of the business.  Some of the processes you mentioned, particularly code reviews, provide only a fraction of the benefit that pair-programming can and depending upon the type of application you are developing they may prove to be a less expensive route to achieving that subset of benefits.   They may also prove to be a more expensive route if the issues for which pair-programming would have aided in begin to surface.  I&#8217;ve always liked the analogy of the Amish and IKEA&#8217;s construction methodologies.  One emphasizes quality, the other affordability.  Which is better depends upon your needs.</p>
<p>&#8216;The hardest pill to swallow for management is &#8220;So, let me get this straight, these guys make six figures, and yet I need two of them to work together to code up a few web pages?&#8221;</p>
<p>Again, as a manager, unless I&#8217;m getting more than 200% efficiency from  a pair of developers (granted, that&#8217;s incredibly difficult to measure), I can&#8217;t sell the idea to MY boss, let alone sell it to the CTO of my company.&#8217;</p>
<p>This begins to enter into the realm of agile vs. defined SDLC processes which is probably too lengthy to discuss here.  What I will say is that, ideally, development teams are empowered to chose the development process that are best suited to the needs of fulfilling their responsibilities. At worst, those at more executive level positions shouldn&#8217;t be concerning themselves with how the bricks are getting laid, so to speak.  One might also ask, &#8220;So, I&#8217;m paying these guys six figures and they still need their hands held?  Aren&#8217;t you hiring professionals?&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tracy</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1324</link>
		<dc:creator>Tracy</dc:creator>
		<pubDate>Fri, 17 Dec 2010 17:48:14 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1324</guid>
		<description>I&#039;ve done PP on my current project and it was a great help. I came up to speed on some very complex code in half the time it would have taken solo, and when the other person left, I felt confident in being able to take over. I focus better, and even when I&#039;m falling asleep, the other person can pick up the slack until I get myself into gear. We switch places that way a lot, helping motivate when the other is having a slow day. </description>
		<content:encoded><![CDATA[<p>I&#8217;ve done PP on my current project and it was a great help. I came up to speed on some very complex code in half the time it would have taken solo, and when the other person left, I felt confident in being able to take over. I focus better, and even when I&#8217;m falling asleep, the other person can pick up the slack until I get myself into gear. We switch places that way a lot, helping motivate when the other is having a slow day. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Byron Sommardahl</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1323</link>
		<dc:creator>Byron Sommardahl</dc:creator>
		<pubDate>Fri, 17 Dec 2010 15:43:27 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1323</guid>
		<description>Pair programming is an exercise in humility: it takes two people who DON&#039;T think they are better than the other to pull it off. If this balance is off, it doesn&#039;t seem to work and the productivity loss that people mention absolutely DOES happen. However, as Derick mentioned in his article, when things are going right, it&#039;s a net gain. It&#039;s all about the people involved.

On the other hand, if you want to kill off pair programming in your team, I wrote a great little how-to article a while back to help you out: http://www.awkwardcoder.com/index.php/2010/08/27/10-ways-to-kill-pair-programming/</description>
		<content:encoded><![CDATA[<p>Pair programming is an exercise in humility: it takes two people who DON&#8217;T think they are better than the other to pull it off. If this balance is off, it doesn&#8217;t seem to work and the productivity loss that people mention absolutely DOES happen. However, as Derick mentioned in his article, when things are going right, it&#8217;s a net gain. It&#8217;s all about the people involved.</p>
<p>On the other hand, if you want to kill off pair programming in your team, I wrote a great little how-to article a while back to help you out: <a href="http://www.awkwardcoder.com/index.php/2010/08/27/10-ways-to-kill-pair-programming/" rel="nofollow">http://www.awkwardcoder.com/index.php/2010/08/27/10-ways-to-kill-pair-programming/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dustin</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1322</link>
		<dc:creator>Dustin</dc:creator>
		<pubDate>Fri, 17 Dec 2010 03:45:09 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1322</guid>
		<description>I personally like to PP. I find it more enjoyable compared to going it solo. Not that I have an issue with either method. I don&#039;t however think that lines of code per day is any different as a pair or solo. I do however find that we get much fewer support calls on features that was coded as a pair. This is an interesting comment that most might find hard to understand. But please consider that my dev group works local to the company and does little testing on new features before release. While fixing bugs is the side effect of this, we have far fewer bugs to fix when we PP.

I also see many of you commenting on 2 people 1 keyboard. I do see how a co-pilot in the cockpit can help a little, but that is not how we PP. Each of us have our own workstations, we sit side by side and use real-time editing plug-ins to work on the same code at the same time. We communicate with each other about what is going on what we are doing and while both of us work on the same feature or function at the same time we often work in different parts of the code.</description>
		<content:encoded><![CDATA[<p>I personally like to PP. I find it more enjoyable compared to going it solo. Not that I have an issue with either method. I don&#8217;t however think that lines of code per day is any different as a pair or solo. I do however find that we get much fewer support calls on features that was coded as a pair. This is an interesting comment that most might find hard to understand. But please consider that my dev group works local to the company and does little testing on new features before release. While fixing bugs is the side effect of this, we have far fewer bugs to fix when we PP.</p>
<p>I also see many of you commenting on 2 people 1 keyboard. I do see how a co-pilot in the cockpit can help a little, but that is not how we PP. Each of us have our own workstations, we sit side by side and use real-time editing plug-ins to work on the same code at the same time. We communicate with each other about what is going on what we are doing and while both of us work on the same feature or function at the same time we often work in different parts of the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1321</link>
		<dc:creator>Ken</dc:creator>
		<pubDate>Thu, 16 Dec 2010 23:46:06 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1321</guid>
		<description>I have never PP&#039;d. It looks like an interesting concept. I have experienced the advantages and disadvantages mentioned for PP in other situations. The best situation I&#039;ve had for getting work done may not have been the most productive, but it certainly was for the situation we were in. A three person team writing in a language none of us used before, in a new OS to us, but ancient and not as easy to use as the OS we were used to, transactional processing. We had 3 months to produce a completely new application. We broke the app into pieces, met daily, went over what we produced the day before, agreed what we would do for tomorrow, read as much as we could about the new language. That focused our interest into producing the code so we don&#039;t dissappoint the next day, nearly immediate feedback.
The problem with code reviews is that it feels like I am the only one reading them because I don&#039;t get feedback on my code reviews and the only one who seems to be finding logic problems in others is me.</description>
		<content:encoded><![CDATA[<p>I have never PP&#8217;d. It looks like an interesting concept. I have experienced the advantages and disadvantages mentioned for PP in other situations. The best situation I&#8217;ve had for getting work done may not have been the most productive, but it certainly was for the situation we were in. A three person team writing in a language none of us used before, in a new OS to us, but ancient and not as easy to use as the OS we were used to, transactional processing. We had 3 months to produce a completely new application. We broke the app into pieces, met daily, went over what we produced the day before, agreed what we would do for tomorrow, read as much as we could about the new language. That focused our interest into producing the code so we don&#8217;t dissappoint the next day, nearly immediate feedback.<br />
The problem with code reviews is that it feels like I am the only one reading them because I don&#8217;t get feedback on my code reviews and the only one who seems to be finding logic problems in others is me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: derick.bailey</title>
		<link>http://lostechies.com/derickbailey/2010/12/13/an-observation-of-pair-programming-vs-not/#comment-1320</link>
		<dc:creator>derick.bailey</dc:creator>
		<pubDate>Thu, 16 Dec 2010 23:02:14 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2010/12/13/an-observation-of-pair-programming-vs-not.aspx#comment-1320</guid>
		<description>a few of the more recent comments are borderline abusive and/or insulting... keep it nice, keep it discussion oriented, or i&#039;ll close the comments on this.

also keep in mind that your experience is your own - not anyone else&#039;. don&#039;t assume your experience or preferences are the only ones that are valid, either.</description>
		<content:encoded><![CDATA[<p>a few of the more recent comments are borderline abusive and/or insulting&#8230; keep it nice, keep it discussion oriented, or i&#8217;ll close the comments on this.</p>
<p>also keep in mind that your experience is your own &#8211; not anyone else&#8217;. don&#8217;t assume your experience or preferences are the only ones that are valid, either.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
