<?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: Physics of Test Driven Development</title>
	<atom:link href="http://www.renaissancesoftware.net/blog/archives/16/feed" rel="self" type="application/rss+xml" />
	<link>http://www.renaissancesoftware.net/blog/archives/16</link>
	<description>Blogging about Agile Development, especially embedded.  Follow me on twitter: jwgrenning</description>
	<lastBuildDate>Thu, 02 Feb 2012 07:09:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Test Driven Development (TDD) Is Not About Bugs &#187; The Cutting Ledge</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-1520</link>
		<dc:creator>Test Driven Development (TDD) Is Not About Bugs &#187; The Cutting Ledge</dc:creator>
		<pubDate>Tue, 22 Nov 2011 15:12:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-1520</guid>
		<description>[...] really like this article from James Grenning that talks about the time and effort savings in debugging when you write your [...]</description>
		<content:encoded><![CDATA[<p>[...] really like this article from James Grenning that talks about the time and effort savings in debugging when you write your [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Grenning&#8217;s Blog &#187; Blog Archive &#187; Extra! Extra! TDD Doubles LOC and No one Cares!</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-608</link>
		<dc:creator>James Grenning&#8217;s Blog &#187; Blog Archive &#187; Extra! Extra! TDD Doubles LOC and No one Cares!</dc:creator>
		<pubDate>Wed, 15 Jul 2009 01:52:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-608</guid>
		<description>[...] my article The Physics of TDD I compare two programming techniques: Debug Later Programming and Test Driven Development. I model [...]</description>
		<content:encoded><![CDATA[<p>[...] my article The Physics of TDD I compare two programming techniques: Debug Later Programming and Test Driven Development. I model [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Venkatesh</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-594</link>
		<dc:creator>Venkatesh</dc:creator>
		<pubDate>Mon, 18 May 2009 13:52:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-594</guid>
		<description>This is a beautiful representation of improving ROI with TDD</description>
		<content:encoded><![CDATA[<p>This is a beautiful representation of improving ROI with TDD</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Exercise in TDD - DerekHammer.Com</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-501</link>
		<dc:creator>Exercise in TDD - DerekHammer.Com</dc:creator>
		<pubDate>Fri, 03 Apr 2009 20:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-501</guid>
		<description>[...] Hammer on Apr.03, 2009, under Software Engineering, Strategies James Grenning has a good, old blog post that describes the “Physics of TDD.” It attempts to prove in an informal method that TDD is a [...]</description>
		<content:encoded><![CDATA[<p>[...] Hammer on Apr.03, 2009, under Software Engineering, Strategies James Grenning has a good, old blog post that describes the “Physics of TDD.” It attempts to prove in an informal method that TDD is a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Grenning&#8217;s Blog &#187; Blog Archive &#187; Don&#8217;t Let Embedded Tool Chain Slow You Down.</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-488</link>
		<dc:creator>James Grenning&#8217;s Blog &#187; Blog Archive &#187; Don&#8217;t Let Embedded Tool Chain Slow You Down.</dc:creator>
		<pubDate>Wed, 01 Apr 2009 22:55:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-488</guid>
		<description>[...] yesterday, I did a demo. Before the demo, I make the case for TDD as a way to prevent bugs (see Physics of TDD). For the live demo I usually code on my mac and run the tests there as well. The question always [...]</description>
		<content:encoded><![CDATA[<p>[...] yesterday, I did a demo. Before the demo, I make the case for TDD as a way to prevent bugs (see Physics of TDD). For the live demo I usually code on my mac and run the tests there as well. The question always [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Grenning&#8217;s Blog &#187; Blog Archive &#187; Agile? How do I learn more?</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-286</link>
		<dc:creator>James Grenning&#8217;s Blog &#187; Blog Archive &#187; Agile? How do I learn more?</dc:creator>
		<pubDate>Fri, 23 Jan 2009 18:34:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-286</guid>
		<description>[...] technique that eliminates a lot of debugging and quickly reveals side effect defects. This blog describes a logic chain of where the benefits come from in [...]</description>
		<content:encoded><![CDATA[<p>[...] technique that eliminates a lot of debugging and quickly reveals side effect defects. This blog describes a logic chain of where the benefits come from in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jwgrenning</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-213</link>
		<dc:creator>jwgrenning</dc:creator>
		<pubDate>Thu, 11 Sep 2008 03:47:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-213</guid>
		<description>Lars,

Test before check-in model would certainly be a big improvement over debug later programming.  I suspect that the longer feedback loops would impact the time to find the bug, but I would expect that code written and tested in the same day would be significant improvement over the debug later approach.  I agree with you assessment of TDD advantages.  I might add the TBCI might suffer from some testability issues as a result of test being a second separate task.  I expect that some individuals would get very good at this.

James</description>
		<content:encoded><![CDATA[<p>Lars,</p>
<p>Test before check-in model would certainly be a big improvement over debug later programming.  I suspect that the longer feedback loops would impact the time to find the bug, but I would expect that code written and tested in the same day would be significant improvement over the debug later approach.  I agree with you assessment of TDD advantages.  I might add the TBCI might suffer from some testability issues as a result of test being a second separate task.  I expect that some individuals would get very good at this.</p>
<p>James</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars-Ola Damm</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-212</link>
		<dc:creator>Lars-Ola Damm</dc:creator>
		<pubDate>Wed, 10 Sep 2008 14:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-212</guid>
		<description>Looks like a good model. 
I would however like to bring up a third alternative in the comparison (besides comparing TDD and &quot;Debug later programming&quot;). 
I&#039;d call it &quot;Test before check-in&quot; (unit tests are written shortly after the code is written to test the code before it is checked-in).

I bring this third alternative up because the challenge with getting TDD adopted is in my experience not only to argue for it in relation to debug-later programming but also against those that in fact are quite good at writing unit tests for their code although they don&#039;t do it TDD style.

If you can consider that alternative in you models somehow that would be interesting. The challenge with doing this however is that the arguments are not that easy to put a value on as you do in the existing model. 
Some advantages I see with TDD in relation to test before check-in:
*Lower coverage becuase you tend to writ less unit tests when you write them after the code (so you still get some &quot;debug later&quot; effects)
*Feedback loops are slightly longer (from a few minutes to a few hours, what is the additional cost of that?)
*You loose the too me important effect of written tests that first are expected to fail but due to an error in the test don&#039;t (not noticed with test last unit tests). 
*Impact on design (not so simple and &quot;testable&quot;)</description>
		<content:encoded><![CDATA[<p>Looks like a good model.<br />
I would however like to bring up a third alternative in the comparison (besides comparing TDD and &#8220;Debug later programming&#8221;).<br />
I&#8217;d call it &#8220;Test before check-in&#8221; (unit tests are written shortly after the code is written to test the code before it is checked-in).</p>
<p>I bring this third alternative up because the challenge with getting TDD adopted is in my experience not only to argue for it in relation to debug-later programming but also against those that in fact are quite good at writing unit tests for their code although they don&#8217;t do it TDD style.</p>
<p>If you can consider that alternative in you models somehow that would be interesting. The challenge with doing this however is that the arguments are not that easy to put a value on as you do in the existing model.<br />
Some advantages I see with TDD in relation to test before check-in:<br />
*Lower coverage becuase you tend to writ less unit tests when you write them after the code (so you still get some &#8220;debug later&#8221; effects)<br />
*Feedback loops are slightly longer (from a few minutes to a few hours, what is the additional cost of that?)<br />
*You loose the too me important effect of written tests that first are expected to fail but due to an error in the test don&#8217;t (not noticed with test last unit tests).<br />
*Impact on design (not so simple and &#8220;testable&#8221;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jwgrenning</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-184</link>
		<dc:creator>jwgrenning</dc:creator>
		<pubDate>Wed, 18 Jun 2008 11:10:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-184</guid>
		<description>Hi Jeff,

this is a common sense and logic chain argument.  I&#039;ll look for data to back this up.

James</description>
		<content:encoded><![CDATA[<p>Hi Jeff,</p>
<p>this is a common sense and logic chain argument.  I&#8217;ll look for data to back this up.</p>
<p>James</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff L.</title>
		<link>http://www.renaissancesoftware.net/blog/archives/16/comment-page-1#comment-178</link>
		<dc:creator>Jeff L.</dc:creator>
		<pubDate>Tue, 10 Jun 2008 20:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.renaissancesoftware.net/blog/?p=16#comment-178</guid>
		<description>I like the formulation here. I&#039;d previously presented it as a generality: mean time to repair (MTTR) *generally* increases as the time increases between introduction of a defect and its discovery. Are you aware of any studies or statistics that back (or refute) up the hypothesis? I figure some have to exist.</description>
		<content:encoded><![CDATA[<p>I like the formulation here. I&#8217;d previously presented it as a generality: mean time to repair (MTTR) *generally* increases as the time increases between introduction of a defect and its discovery. Are you aware of any studies or statistics that back (or refute) up the hypothesis? I figure some have to exist.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

