<?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: If you do Test Driven Development all the time, you&#8217;re doing something wrong</title>
	<atom:link href="http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/</link>
	<description>thekua&#039;s reflections on work related topics</description>
	<lastBuildDate>Fri, 12 Mar 2010 17:25:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Thommy B</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-72324</link>
		<dc:creator>Thommy B</dc:creator>
		<pubDate>Thu, 08 Oct 2009 18:59:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-72324</guid>
		<description>Love the post! Many things are like this, there is no ONE WAY of doing things all the time. Context matters.

Thanks for sharing!</description>
		<content:encoded><![CDATA[<p>Love the post! Many things are like this, there is no ONE WAY of doing things all the time. Context matters.</p>
<p>Thanks for sharing!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curtis Cooley</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-71337</link>
		<dc:creator>Curtis Cooley</dc:creator>
		<pubDate>Thu, 24 Sep 2009 15:54:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-71337</guid>
		<description>If you are new to TDD, this is good advice. As a novice, it is often best to apply a new technique only when it is optimal to do so. As you get better and begin to master the technique, you will find other places to apply it.

I apply TDD as often as I feel it fits. Sometimes when I&#039;m spiking, unit tests help, sometimes they don&#039;t.

And of course, please do not forget that TDD is a design activity not a testing activity. Of course you would not TDD a spike because you are not designing. When writing production code, you want to TDD because you want the design to be the best it can be given the knowledge of the system you currently have.</description>
		<content:encoded><![CDATA[<p>If you are new to TDD, this is good advice. As a novice, it is often best to apply a new technique only when it is optimal to do so. As you get better and begin to master the technique, you will find other places to apply it.</p>
<p>I apply TDD as often as I feel it fits. Sometimes when I&#8217;m spiking, unit tests help, sometimes they don&#8217;t.</p>
<p>And of course, please do not forget that TDD is a design activity not a testing activity. Of course you would not TDD a spike because you are not designing. When writing production code, you want to TDD because you want the design to be the best it can be given the knowledge of the system you currently have.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Why one should not live without tests &#171; Dahlia Bock</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-70798</link>
		<dc:creator>Why one should not live without tests &#171; Dahlia Bock</dc:creator>
		<pubDate>Wed, 16 Sep 2009 10:44:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-70798</guid>
		<description>[...] write tests all the time. Thanks Pat! He writes about when tests should and should not be written here. So I should say that I&#8217;m talking specifically about developers writing production code in a [...]</description>
		<content:encoded><![CDATA[<p>[...] write tests all the time. Thanks Pat! He writes about when tests should and should not be written here. So I should say that I&#8217;m talking specifically about developers writing production code in a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: thekua.com@work &#187; Controlling Time: How to deal with infinity</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-49937</link>
		<dc:creator>thekua.com@work &#187; Controlling Time: How to deal with infinity</dc:creator>
		<pubDate>Wed, 04 Feb 2009 13:26:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-49937</guid>
		<description>[...] coupling and the effort of retrofitting (unit) tests increasing in effort with time. Of course, I don&#8217;t believe TDD should be done all the time, but for most production code I do. In this entry, I&#8217;m going to use the Sprout Inner Class [...]</description>
		<content:encoded><![CDATA[<p>[...] coupling and the effort of retrofitting (unit) tests increasing in effort with time. Of course, I don&#8217;t believe TDD should be done all the time, but for most production code I do. In this entry, I&#8217;m going to use the Sprout Inner Class [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Using test guided techniques for spiking at Mark Needham</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-31194</link>
		<dc:creator>Using test guided techniques for spiking at Mark Needham</dc:creator>
		<pubDate>Sun, 12 Oct 2008 03:45:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-31194</guid>
		<description>[...] However, there are times when it&#039;s difficult to use a TDD approach, and Pat Kua suggested earlier this year that if you&#039;re using a TDD approach all the time you&#039;re doing something wrong. [...]</description>
		<content:encoded><![CDATA[<p>[...] However, there are times when it&#8217;s difficult to use a TDD approach, and Pat Kua suggested earlier this year that if you&#8217;re using a TDD approach all the time you&#8217;re doing something wrong. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-6876</link>
		<dc:creator>Phil</dc:creator>
		<pubDate>Sat, 01 Mar 2008 23:40:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-6876</guid>
		<description>_why agrees: 

Perhaps this is why I have trouble swallowing unit testing or extreme programming or other best practices as the law. I guess there’s a place for these tricks (the work place,) but they do not speak to the pure form of hacking for hacking’s sake, which I so ardently defend! Unit testing, in particular, is designed to reel in spontaneous hacking. It is like framing a picture before it has been painted. Hacking, at heart, will continue to be something of spontaneous order, something of anarchy, and the landscape of hacking is something which comes from human action but is not of human design.

http://hackety.org/2007/12/24/thisHackWasNotProperlyPlanned.html</description>
		<content:encoded><![CDATA[<p>_why agrees: </p>
<p>Perhaps this is why I have trouble swallowing unit testing or extreme programming or other best practices as the law. I guess there’s a place for these tricks (the work place,) but they do not speak to the pure form of hacking for hacking’s sake, which I so ardently defend! Unit testing, in particular, is designed to reel in spontaneous hacking. It is like framing a picture before it has been painted. Hacking, at heart, will continue to be something of spontaneous order, something of anarchy, and the landscape of hacking is something which comes from human action but is not of human design.</p>
<p><a href="http://hackety.org/2007/12/24/thisHackWasNotProperlyPlanned.html" rel="nofollow">http://hackety.org/2007/12/24/thisHackWasNotProperlyPlanned.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Artem Marchenko</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-6310</link>
		<dc:creator>Artem Marchenko</dc:creator>
		<pubDate>Mon, 18 Feb 2008 16:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-6310</guid>
		<description>I am also in the camp of those who use test frameworks during the Experimentation phase. And I also wouldn&#039;t call it test-driven development.

During Experimentation a test harness is just a nice place to put my code to and also it is easy to extract small sub-experiments into the separate &quot;tests&quot;. 

Though I might be biased, because my platform used to be Symbian, where it is quite difficult to write &quot;just an experiment&quot; without supporting framework.</description>
		<content:encoded><![CDATA[<p>I am also in the camp of those who use test frameworks during the Experimentation phase. And I also wouldn&#8217;t call it test-driven development.</p>
<p>During Experimentation a test harness is just a nice place to put my code to and also it is easy to extract small sub-experiments into the separate &#8220;tests&#8221;. </p>
<p>Though I might be biased, because my platform used to be Symbian, where it is quite difficult to write &#8220;just an experiment&#8221; without supporting framework.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nos Doughty</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-6085</link>
		<dc:creator>Nos Doughty</dc:creator>
		<pubDate>Tue, 12 Feb 2008 05:17:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-6085</guid>
		<description>I have always recognized these two modes, what I call &#039;Exploratory Mode&#039; and &#039;Grind Mode&#039;. There is also &#039;Investigation Mode&#039; (bug-hunting or maintenance) which (for very disciplined team members) benefits greatly from TDD as each assumption of the code is put under test. This allows for a good discussion with the BA&#039;s about the failure conditions (edge cases they may not have considered) and serves as test harness to verify the patched codes impact on the system.

However, getting programmers to try TDD can be a big difficulty. Basically, you are asking them to do double the work (at least) to finish each job. Now this does not take into account that TDD is not the same as &#039;unit testing&#039; as more complex designs can be built as each layer of the solution is built and tested to be built upon. The problem is that &#039;Joe Developer&#039; isn&#039;t interested in building code of this quality, he&#039;s going to be using unit testing to &#039;prove&#039; his code works so he can say &#039;hey, my unit tests worked.&#039;

I have not yet managed to convince anyone who is not interested in that degree of quality of the benefits of TDD. Also, these are the programmers who will be tempted to use the exploratory code as production code, rather then taking a good look over it and trying to  recode it in a more efficient manner. 

Lets face it, theres usually a big difference between developers who started before the .com era when being a developer was a geeky job and was learned in the Maths faculty, and those who did IT degrees in the business faculty and are strictly 9-5ers... who are looking to just get by on the minimum amount of work required.</description>
		<content:encoded><![CDATA[<p>I have always recognized these two modes, what I call &#8216;Exploratory Mode&#8217; and &#8216;Grind Mode&#8217;. There is also &#8216;Investigation Mode&#8217; (bug-hunting or maintenance) which (for very disciplined team members) benefits greatly from TDD as each assumption of the code is put under test. This allows for a good discussion with the BA&#8217;s about the failure conditions (edge cases they may not have considered) and serves as test harness to verify the patched codes impact on the system.</p>
<p>However, getting programmers to try TDD can be a big difficulty. Basically, you are asking them to do double the work (at least) to finish each job. Now this does not take into account that TDD is not the same as &#8216;unit testing&#8217; as more complex designs can be built as each layer of the solution is built and tested to be built upon. The problem is that &#8216;Joe Developer&#8217; isn&#8217;t interested in building code of this quality, he&#8217;s going to be using unit testing to &#8216;prove&#8217; his code works so he can say &#8216;hey, my unit tests worked.&#8217;</p>
<p>I have not yet managed to convince anyone who is not interested in that degree of quality of the benefits of TDD. Also, these are the programmers who will be tempted to use the exploratory code as production code, rather then taking a good look over it and trying to  recode it in a more efficient manner. </p>
<p>Lets face it, theres usually a big difference between developers who started before the .com era when being a developer was a geeky job and was learned in the Maths faculty, and those who did IT degrees in the business faculty and are strictly 9-5ers&#8230; who are looking to just get by on the minimum amount of work required.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Carr &#187; Blog Archive &#187; links for 2008-02-08</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-5966</link>
		<dc:creator>James Carr &#187; Blog Archive &#187; links for 2008-02-08</dc:creator>
		<pubDate>Fri, 08 Feb 2008 13:24:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-5966</guid>
		<description>[...] If you do Test Driven Development all the time, you’re doing something wrong I couldn&#8217;t agree more. Of course, the only thing worse than TDD&#8217;ing a spike is to write unit tests around a spike.   (tags: testing TDD Test-First) [...]</description>
		<content:encoded><![CDATA[<p>[...] If you do Test Driven Development all the time, you’re doing something wrong I couldn&#8217;t agree more. Of course, the only thing worse than TDD&#8217;ing a spike is to write unit tests around a spike.   (tags: testing TDD Test-First) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://www.thekua.com/atwork/2008/02/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/comment-page-1/#comment-5941</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Thu, 07 Feb 2008 18:23:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.thekua.com/atwork/2008/02/05/if-you-do-test-driven-development-all-the-time-youre-doing-something-wrong/#comment-5941</guid>
		<description>Experimentation is formalized in XP as a &quot;spike&quot;.  While I agree with some of the earlier posts that even during a spike I find tests help me define the parameters of the experiment you have a good point about &quot;throw away&quot; code and the fact that tests aren&#039;t absolutely required in that stage.</description>
		<content:encoded><![CDATA[<p>Experimentation is formalized in XP as a &#8220;spike&#8221;.  While I agree with some of the earlier posts that even during a spike I find tests help me define the parameters of the experiment you have a good point about &#8220;throw away&#8221; code and the fact that tests aren&#8217;t absolutely required in that stage.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
