<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments for Steve Freeman</title>
	<link>http://www.m3p.co.uk</link>
	<description>Working software daily</description>
	<pubDate>Thu, 24 Jul 2008 09:45:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>

	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by Kris Kemper</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-251</link>
		<dc:creator>Kris Kemper</dc:creator>
		<pubDate>Sun, 20 Jul 2008 20:44:51 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-251</guid>
		<description>&lt;strong&gt;Cognitive Benefit of TDD: Confirmation Driven Development?...&lt;/strong&gt;

I recently read an blog post[1] describing a cognitive justification for test driven development. I think the topic is interesting. In doing TDD, there are a variety of reasons for why we write tests first, and it isn&#8217;t always to ensure correctne...</description>
		<content:encoded><![CDATA[<p><strong>Cognitive Benefit of <span class="caps">TDD</span>: Confirmation Driven Development?&#8230;</strong></p>
<p>I recently read an blog post<sup class="footnote"><a href="#fn1">1</a></sup> describing a cognitive justification for test driven development. I think the topic is interesting. In doing <span class="caps">TDD, </span>there are a variety of reasons for why we write tests first, and it isn&#8217;t always to ensure correctne&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is going on out there? A Narrative Inquiry project by Alex Forbes</title>
		<link>http://www.m3p.co.uk/blog/2008/04/14/what-is-going-on-out-there-a-narrative-inquiry-project/#comment-250</link>
		<dc:creator>Alex Forbes</dc:creator>
		<pubDate>Thu, 17 Jul 2008 20:41:31 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/04/14/what-is-going-on-out-there-a-narrative-inquiry-project/#comment-250</guid>
		<description>Are you only looking for failure stories vs. success stories?

I'm sure with the number of users coming to AccuRev for help with managing multiple traditional and agile processes together (such as Waterfall, Scrum, FDD, Lean, XP, etc.), I'll be able to find some over the months ahead. I'd like to capture their initial problems and ultimate successes both.

http://damonpoole.blogspot.com/2008/05/agile-case-study-litle-co.html

Alex</description>
		<content:encoded><![CDATA[<p>Are you only looking for failure stories vs. success stories?</p>
<p>I&#8217;m sure with the number of users coming to AccuRev for help with managing multiple traditional and agile processes together (such as Waterfall, Scrum, <span class="caps">FDD,</span> Lean, <span class="caps">XP, </span>etc.), I&#8217;ll be able to find some over the months ahead. I&#8217;d like to capture their initial problems and ultimate successes both.</p>
<p><a href="http://damonpoole.blogspot.com/2008/05/agile-case-study-litle-co.html" rel="nofollow">http://damonpoole.blogspot.com/2008/05/agile-case-study-litle-co.html</a></p>
<p>Alex</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by David Harvey</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-249</link>
		<dc:creator>David Harvey</dc:creator>
		<pubDate>Wed, 16 Jul 2008 13:21:53 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-249</guid>
		<description>Great post, Steve, and got me thinking a good deal.

Breaking the expert mindset can work both for pairing and TDD. I've found a real (and constructive) tension between an ingrained habit of approaching problems by thinking about structure and pattern (blame the musician!), and the context-driven imperative of test-first ("this is what the code wants to look like" - thanks to Paul Dyson for this!).

I don't think in either case this is _guaranteed_, though - we've all got experience of groups descending rapidly into group-think, and there's no reason to believe that - if we write our tests first - the way the relationships and responsibilities in the code evolve will necessarily be that different from the last time we did it. In either case the onus is on the individual to allow themselves to be challenged out of their well-worn grooves - I'll concede that promiscuous pairing helps (just so long as the nature of the pairing practice is understood by both, which is of course not guaranteed...)  but fundamentally, individuals and groups don't change without needing to, wanting to, and reflecting.</description>
		<content:encoded><![CDATA[<p>Great post, Steve, and got me thinking a good deal.</p>
<p>Breaking the expert mindset can work both for pairing and <span class="caps">TDD.</span> I&#8217;ve found a real (and constructive) tension between an ingrained habit of approaching problems by thinking about structure and pattern (blame the musician!), and the context-driven imperative of test-first (&#8221;this is what the code wants to look like&#8221; - thanks to Paul Dyson for this!).</p>
<p>I don&#8217;t think in either case this is <em>guaranteed</em>, though - we&#8217;ve all got experience of groups descending rapidly into group-think, and there&#8217;s no reason to believe that - if we write our tests first - the way the relationships and responsibilities in the code evolve will necessarily be that different from the last time we did it. In either case the onus is on the individual to allow themselves to be challenged out of their well-worn grooves - I&#8217;ll concede that promiscuous pairing helps (just so long as the nature of the pairing practice is understood by both, which is of course not guaranteed&#8230;)  but fundamentally, individuals and groups don&#8217;t change without needing to, wanting to, and reflecting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The scariest headline? by Andy Mulhearn</title>
		<link>http://www.m3p.co.uk/blog/2008/07/12/the-scariest-headline/#comment-244</link>
		<dc:creator>Andy Mulhearn</dc:creator>
		<pubDate>Sun, 13 Jul 2008 21:03:03 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/07/12/the-scariest-headline/#comment-244</guid>
		<description>It surely does...</description>
		<content:encoded><![CDATA[<p>It surely does&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by steve.freeman</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-241</link>
		<dc:creator>steve.freeman</dc:creator>
		<pubDate>Mon, 30 Jun 2008 21:20:55 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-241</guid>
		<description>@Joseph. Thanks. Nice link.</description>
		<content:encoded><![CDATA[<p>@Joseph. Thanks. Nice link.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by Joseph Pelrine</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-240</link>
		<dc:creator>Joseph Pelrine</dc:creator>
		<pubDate>Sat, 28 Jun 2008 13:56:45 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-240</guid>
		<description>Great post, Steve. All too true. You might wnt to check out this article (http://www.nytimes.com/2007/12/30/business/30know.html) for some more arguments about why it's a good idea to slow experts down a bit.</description>
		<content:encoded><![CDATA[<p>Great post, Steve. All too true. You might wnt to check out this article (http://www.nytimes.com/2007/12/30/business/30know.html) for some more arguments about why it&#8217;s a good idea to slow experts down a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by The Inquisitive Coder &#187; Blog Archive &#187; Weekly Links 9</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-238</link>
		<dc:creator>The Inquisitive Coder &#187; Blog Archive &#187; Weekly Links 9</dc:creator>
		<pubDate>Sat, 21 Jun 2008 10:12:08 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-238</guid>
		<description>[...] You Wanted To Know About MVC and MVP But Were Afraid To Ask The Flawed Theory Behind Unit Testing Test-Driven Development. A Cognitive Justification? TDD, Mocks and [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] You Wanted To Know About <span class="caps">MVC </span>and <span class="caps">MVP</span> But Were Afraid To Ask The Flawed Theory Behind Unit Testing Test-Driven Development. A Cognitive Justification? <span class="caps">TDD,</span> Mocks and [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by Ilja Preuß</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-235</link>
		<dc:creator>Ilja Preuß</dc:creator>
		<pubDate>Wed, 18 Jun 2008 09:04:36 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-235</guid>
		<description>Thanks for your great post - the reasoning certainly rings true for me. I always felt that doing TDD significantly changed the way I tackled a problem, but always struggled putting it into words.</description>
		<content:encoded><![CDATA[<p>Thanks for your great post - the reasoning certainly rings true for me. I always felt that doing <span class="caps">TDD </span>significantly changed the way I tackled a problem, but always struggled putting it into words.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by The Punch Barrel / Test-Driven Development. A Cognitive Justification?</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-234</link>
		<dc:creator>The Punch Barrel / Test-Driven Development. A Cognitive Justification?</dc:creator>
		<pubDate>Mon, 16 Jun 2008 09:40:34 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-234</guid>
		<description>[...] Test-Driven Development. A Cognitive Justification? [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Test-Driven Development. A Cognitive Justification? [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by Colin Jack</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-233</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Sun, 15 Jun 2008 18:03:49 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-233</guid>
		<description>Wow, Michaels post resulted in two other equally interesting posts about different topics. Good stuff.</description>
		<content:encoded><![CDATA[<p>Wow, Michaels post resulted in two other equally interesting posts about different topics. Good stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by Michael Feathers</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-232</link>
		<dc:creator>Michael Feathers</dc:creator>
		<pubDate>Sun, 15 Jun 2008 17:00:25 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-232</guid>
		<description>That is interesting.  One of the things that I noticed early on about TDD is that is forces me into a reflective mindset.  In traditional design it's easy treat design as a blank sheet.  You draw some boxes and mentally proof your collaborations.  In the process it's easy to forget the context.

When you do TDD, the context is right there staring you in the face over and over again.  Each change that you make is in the context of code you or someone else have written, and programming becomes more akin to sculpting or sensitive gardening, an activity where you have to look at what you have and make a decision about  what to do next.

To me, that's the core of it.. getting people to pay at least as much attention to -what is there- as they do to their ideas of what should be there.</description>
		<content:encoded><![CDATA[<p>That is interesting.  One of the things that I noticed early on about <span class="caps">TDD </span>is that is forces me into a reflective mindset.  In traditional design it&#8217;s easy treat design as a blank sheet.  You draw some boxes and mentally proof your collaborations.  In the process it&#8217;s easy to forget the context.</p>
<p>When you do <span class="caps">TDD, </span>the context is right there staring you in the face over and over again.  Each change that you make is in the context of code you or someone else have written, and programming becomes more akin to sculpting or sensitive gardening, an activity where you have to look at what you have and make a decision about  what to do next.</p>
<p>To me, that&#8217;s the core of it.. getting people to pay at least as much attention to <del>what is there</del> as they do to their ideas of what should be there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development. A Cognitive Justification? by William Pietri</title>
		<link>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-231</link>
		<dc:creator>William Pietri</dc:creator>
		<pubDate>Sun, 15 Jun 2008 16:10:28 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/15/test-driven-development-a-cognitive-justification/#comment-231</guid>
		<description>Great post! This is certainly true for me.

This weekend I've been coding up an architectural spike of Twitter; I've got some notions about how to do things scalably that I wanted to put to the test. I had been thinking about it a bit during every (frequent) Twitter outage, and had some sketches in my notebook when I sat down to code.

As I did small incremental bits that solved immediate problems, I was definitely applying a variety of familiar patterns -- albeit small ones -- semi-instinctively. But because I had put my bigger designs out of my mind, the small pieces added up to a different direction than I was expecting.

It's hard for me to know for sure, but I suspect the years of TDD practice have helped in two ways. One, they've trained me to attend much more closely to the code of the moment. Two, they have broken my learned responses into smaller pieces, more loosely joined. That is, I think TDD might have refactored the bits in my head similarly to the way it helped me refactor the various code bases.</description>
		<content:encoded><![CDATA[<p>Great post! This is certainly true for me.</p>
<p>This weekend I&#8217;ve been coding up an architectural spike of Twitter; I&#8217;ve got some notions about how to do things scalably that I wanted to put to the test. I had been thinking about it a bit during every (frequent) Twitter outage, and had some sketches in my notebook when I sat down to code.</p>
<p>As I did small incremental bits that solved immediate problems, I was definitely applying a variety of familiar patterns &#8212; albeit small ones &#8212; semi-instinctively. But because I had put my bigger designs out of my mind, the small pieces added up to a different direction than I was expecting.</p>
<p>It&#8217;s hard for me to know for sure, but I suspect the years of <span class="caps">TDD </span>practice have helped in two ways. One, they&#8217;ve trained me to attend much more closely to the code of the moment. Two, they have broken my learned responses into smaller pieces, more loosely joined. That is, I think <span class="caps">TDD </span>might have refactored the bits in my head similarly to the way it helped me refactor the various code bases.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Checklist-Driven Programming by steve.freeman</title>
		<link>http://www.m3p.co.uk/blog/2008/01/13/checklist-driven-programming/#comment-219</link>
		<dc:creator>steve.freeman</dc:creator>
		<pubDate>Thu, 05 Jun 2008 14:38:43 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/01/13/checklist-driven-programming/#comment-219</guid>
		<description>You're right, of course. Some people in the industry have known this for a long time. We just need to keep re-reading Jerry Weinberg :)</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, of course. Some people in the industry have known this for a long time. We just need to keep re-reading Jerry Weinberg <img src='http://www.m3p.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Checklist-Driven Programming by Serhiy Yevtushenko</title>
		<link>http://www.m3p.co.uk/blog/2008/01/13/checklist-driven-programming/#comment-213</link>
		<dc:creator>Serhiy Yevtushenko</dc:creator>
		<pubDate>Thu, 05 Jun 2008 07:34:02 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/01/13/checklist-driven-programming/#comment-213</guid>
		<description>I would like to add that checklist are for long time present in the software in the form of the formal inspections (And the formal inspection failed a lot for not taking into account human factors).

Also, Jerry Weinberg point out to two interesting kinds of list - checklists and laundry lists.

Checklists checks, what should be present.
And laudry list gives you a list of different items that you might have forgotten, but that might just need cleaning up.

He also mentions that while working in complex, purely structured situations, laundry list may be preferrable.</description>
		<content:encoded><![CDATA[<p>I would like to add that checklist are for long time present in the software in the form of the formal inspections (And the formal inspection failed a lot for not taking into account human factors).</p>
<p>Also, Jerry Weinberg point out to two interesting kinds of list - checklists and laundry lists.</p>
<p>Checklists checks, what should be present.<br />
And laudry list gives you a list of different items that you might have forgotten, but that might just need cleaning up.</p>
<p>He also mentions that while working in complex, purely structured situations, laundry list may be preferrable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Do you know where your iPhone is? by iPhone - Tips and Tricks &#187; Blog Archive &#187; Do you know where your iPhone is?</title>
		<link>http://www.m3p.co.uk/blog/2008/06/04/do-you-know-where-your-iphone-is/#comment-212</link>
		<dc:creator>iPhone - Tips and Tricks &#187; Blog Archive &#187; Do you know where your iPhone is?</dc:creator>
		<pubDate>Wed, 04 Jun 2008 09:16:18 +0000</pubDate>
		<guid>http://www.m3p.co.uk/blog/2008/06/04/do-you-know-where-your-iphone-is/#comment-212</guid>
		<description>[...] steve.freeman added an interesting post on Do you know where your iPhone is?Here&#8217;s a small excerptA few days ago, I posted a discovery in that personal data remains intact (in deleted portions of the file system) following a full iPhone restore. As it turns out, Apple themselves may not have been aware of this. &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] steve.freeman added an interesting post on Do you know where your iPhone is?Here&#8217;s a small excerptA few days ago, I posted a discovery in that personal data remains intact (in deleted portions of the file system) following a full iPhone restore. As it turns out, Apple themselves may not have been aware of this. &#8230; [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
