<?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: Pair Programming: The Code Fairy</title>
	<atom:link href="http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/</link>
	<description>Thoughts on Software Development</description>
	<lastBuildDate>Tue, 16 Mar 2010 16:49:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Dave Cameron</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-15046</link>
		<dc:creator>Dave Cameron</dc:creator>
		<pubDate>Wed, 22 Apr 2009 03:46:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-15046</guid>
		<description>As far as using functional ideas in OO code: bugs are mostly state manipulation gone wrong. The more state manipulation there is, the bigger the window for bugs to come in to the code base. This makes functional ideas related to other ideas like limiting the scope of variables, avoiding variable re-use, avoiding ref or out parameters, limiting the number of fields in an object and so on.</description>
		<content:encoded><![CDATA[<p>As far as using functional ideas in OO code: bugs are mostly state manipulation gone wrong. The more state manipulation there is, the bigger the window for bugs to come in to the code base. This makes functional ideas related to other ideas like limiting the scope of variables, avoiding variable re-use, avoiding ref or out parameters, limiting the number of fields in an object and so on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Quality Digest - 2009-04-21 &#124; No bug left behind</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-15019</link>
		<dc:creator>Software Quality Digest - 2009-04-21 &#124; No bug left behind</dc:creator>
		<pubDate>Tue, 21 Apr 2009 18:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-15019</guid>
		<description>[...] Pair Programming: The Code Fairy - &#8220;One of the hardest situations that comes up when pair programming is when you want to solve a problem in a certain way but you can&#8217;t persuade your pair that it&#8217;s the approach you should take. The temptation in these situations is to wait until your pair isn&#8217;t around, maybe by staying late at the end of the day or coming in early the next day and then making the changes to the code that you wanted to make but didn&#8217;t when you were pairing with them.&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] Pair Programming: The Code Fairy &#8211; "One of the hardest situations that comes up when pair programming is when you want to solve a problem in a certain way but you can't persuade your pair that it's the approach you should take. The temptation in these situations is to wait until your pair isn't around, maybe by staying late at the end of the day or coming in early the next day and then making the changes to the code that you wanted to make but didn't when you were pairing with them." [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris Kemper</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-14106</link>
		<dc:creator>Kris Kemper</dc:creator>
		<pubDate>Fri, 10 Apr 2009 23:00:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-14106</guid>
		<description>I often compare pairing to being in a relationship with someone. One of most important characteristics of a successful relationship is compromise. If you can&#039;t compromise, the relationship won&#039;t work. 

Both pair members have to be interested in some amount of compromise.

I often have moments where I pair with someone who doesn&#039;t value the exact same things as I do in a codebase. I try to achieve the most important of my consideration while letting them achieve the most important of theirs. 

In the event of a major split that you feel that you can&#039;t compromise on, you can always bring in a third person for perspective, but you it&#039;s a bad sign if that is frequent.

I also find going back and changing the code after the fact to be a bit of a violation of trust with the pair. They probably will see that code again, and they will know that you waited for them to be gone to write it your way.

That&#039;s not to say that I won&#039;t do that from time to time, but I try to make it as rare as possible, and only when I don&#039;t think the person discovering it later is going to bother them much.</description>
		<content:encoded><![CDATA[<p>I often compare pairing to being in a relationship with someone. One of most important characteristics of a successful relationship is compromise. If you can't compromise, the relationship won't work. </p>
<p>Both pair members have to be interested in some amount of compromise.</p>
<p>I often have moments where I pair with someone who doesn't value the exact same things as I do in a codebase. I try to achieve the most important of my consideration while letting them achieve the most important of theirs. </p>
<p>In the event of a major split that you feel that you can't compromise on, you can always bring in a third person for perspective, but you it's a bad sign if that is frequent.</p>
<p>I also find going back and changing the code after the fact to be a bit of a violation of trust with the pair. They probably will see that code again, and they will know that you waited for them to be gone to write it your way.</p>
<p>That's not to say that I won't do that from time to time, but I try to make it as rare as possible, and only when I don't think the person discovering it later is going to bother them much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Childers</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-14092</link>
		<dc:creator>Tom Childers</dc:creator>
		<pubDate>Fri, 10 Apr 2009 19:38:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-14092</guid>
		<description>The easiest solution is to simply involve a third engineer to break the tie. 

The most productive software development in my experience happens when team members informally form and disband work groups to solve problems. These work groups can involve 3, 4 or more engineers, depending on the size of the issue to solve, and can last for 5 minutes, hours or days as necessary.

This kind of work environment easily occurs when (1) the team is composed of seasoned engineers without ego attachment to getting their way, (2) the team&#039;s highest objective is code quality and &quot;customer&quot; satisfaction, whoever the &quot;customer&quot; is, and (3) the work environment (management and social values) assume that each engineer is competent, responsible, and manages time well. 

Engineers, like anyone else, rise to the level of expection placed on them.</description>
		<content:encoded><![CDATA[<p>The easiest solution is to simply involve a third engineer to break the tie. </p>
<p>The most productive software development in my experience happens when team members informally form and disband work groups to solve problems. These work groups can involve 3, 4 or more engineers, depending on the size of the issue to solve, and can last for 5 minutes, hours or days as necessary.</p>
<p>This kind of work environment easily occurs when (1) the team is composed of seasoned engineers without ego attachment to getting their way, (2) the team's highest objective is code quality and "customer" satisfaction, whoever the "customer" is, and (3) the work environment (management and social values) assume that each engineer is competent, responsible, and manages time well. </p>
<p>Engineers, like anyone else, rise to the level of expection placed on them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Cogley</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-14089</link>
		<dc:creator>Jonathan Cogley</dc:creator>
		<pubDate>Fri, 10 Apr 2009 19:09:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-14089</guid>
		<description>The Code Fairy - Solutions/Ideas</description>
		<content:encoded><![CDATA[<p>The Code Fairy &#8211; Solutions/Ideas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Code Fairy - solutions/ideas - Jonathan Cogley&#39;s Blog</title>
		<link>http://www.markhneedham.com/blog/2009/04/10/pair-programming-the-code-fairy/comment-page-1/#comment-14069</link>
		<dc:creator>The Code Fairy - solutions/ideas - Jonathan Cogley&#39;s Blog</dc:creator>
		<pubDate>Fri, 10 Apr 2009 14:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=1114#comment-14069</guid>
		<description>[...] Mark Needham posted about a behavior pattern he has observed and labeled &quot;The Code Fairy&quot;.&#160; The concept is writing code in off hours (without your pair) when your programming pair didn&#039;t want to go along with your changes. [...]</description>
		<content:encoded><![CDATA[<p>[...] Mark Needham posted about a behavior pattern he has observed and labeled &quot;The Code Fairy&quot;.&#160; The concept is writing code in off hours (without your pair) when your programming pair didn't want to go along with your changes. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
