<?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 for Steve Freeman</title>
	<atom:link href="http://www.higherorderlogic.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.higherorderlogic.com</link>
	<description>Working software daily</description>
	<lastBuildDate>Tue, 21 Feb 2012 16:52:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Doing pair programming tests right by Mark Piper</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1702</link>
		<dc:creator>Mark Piper</dc:creator>
		<pubDate>Tue, 21 Feb 2012 16:52:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1702</guid>
		<description>Well, if they turn up with PHP, interview over :D</description>
		<content:encoded><![CDATA[<p>Well, if they turn up with <span class="caps">PHP, </span>interview over <img src='http://www.higherorderlogic.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by steve.freeman</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1701</link>
		<dc:creator>steve.freeman</dc:creator>
		<pubDate>Tue, 21 Feb 2012 16:19:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1701</guid>
		<description>@Mark an interesting idea. It depends what you want to test for and what experience you require. The advantages of working with the system code are that you can see how quickly they pick things up and the candidate won&#039;t be unpleasantly surprised if they take the job :)</description>
		<content:encoded><![CDATA[<p>@Mark an interesting idea. It depends what you want to test for and what experience you require. The advantages of working with the system code are that you can see how quickly they pick things up and the candidate won&#8217;t be unpleasantly surprised if they take the job <img src='http://www.higherorderlogic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by Mark Piper</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1700</link>
		<dc:creator>Mark Piper</dc:creator>
		<pubDate>Tue, 21 Feb 2012 16:12:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1700</guid>
		<description>Generally I find a barrier in these things is explaining the domain to the interviewee, and giving them enough background to get going.  Recently I&#039;ve been wondering whether it would be better to prepare candidates to bring along their &lt;b&gt;own&lt;/b&gt; code to work on.  That ought to a) demonstrate that they&#039;ve actually written some code before, outside of what they&#039;re required to do for their job, b) make sure &quot;I didn&#039;t understand the problem&quot; isn&#039;t an excuse, c) give some insight into their real coding style, and d) given that the other person in the pair won&#039;t have seen the code before, give a better insight into &quot;real&quot; pairing.</description>
		<content:encoded><![CDATA[<p>Generally I find a barrier in these things is explaining the domain to the interviewee, and giving them enough background to get going.  Recently I&#8217;ve been wondering whether it would be better to prepare candidates to bring along their <b>own</b> code to work on.  That ought to a) demonstrate that they&#8217;ve actually written some code before, outside of what they&#8217;re required to do for their job, b) make sure &#8220;I didn&#8217;t understand the problem&#8221; isn&#8217;t an excuse, c) give some insight into their real coding style, and d) given that the other person in the pair won&#8217;t have seen the code before, give a better insight into &#8220;real&#8221; pairing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by Johnno Nolan</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1699</link>
		<dc:creator>Johnno Nolan</dc:creator>
		<pubDate>Mon, 20 Feb 2012 23:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1699</guid>
		<description>Having said its a &#039;big ask&#039; - that&#039;s the feedback i recieve. Why as a developer would you have a problem prooving your developement skills?</description>
		<content:encoded><![CDATA[<p>Having said its a &#8216;big ask&#8217; &#8211; that&#8217;s the feedback i recieve. Why as a developer would you have a problem prooving your developement skills?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by Johnno Nolan</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1698</link>
		<dc:creator>Johnno Nolan</dc:creator>
		<pubDate>Mon, 20 Feb 2012 23:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1698</guid>
		<description>I like to do two stages of tech interview. Firstly an off line technical exercice where I can analyse a design approach then I do very simple excercise in the interview. This shows 2 things, how well can people follow a specification and a very simple example of solution design. It also provides a subject of conversation in the face to face which demonstrates ability to critictially anlayse and communicate their solutions. After this I spend 20 mins doing a software kata. This shows ability on the keyboard, as well as how they work in a pair. 

Its a big ask for developers but that additionally is a sign of commitment.</description>
		<content:encoded><![CDATA[<p>I like to do two stages of tech interview. Firstly an off line technical exercice where I can analyse a design approach then I do very simple excercise in the interview. This shows 2 things, how well can people follow a specification and a very simple example of solution design. It also provides a subject of conversation in the face to face which demonstrates ability to critictially anlayse and communicate their solutions. After this I spend 20 mins doing a software kata. This shows ability on the keyboard, as well as how they work in a pair. </p>
<p>Its a big ask for developers but that additionally is a sign of commitment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by John McFadyen</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1697</link>
		<dc:creator>John McFadyen</dc:creator>
		<pubDate>Mon, 20 Feb 2012 20:12:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1697</guid>
		<description>Can I also add to be ready that if you are using a stock example make sure everything is setup properly.

I&#039;ve had several experiences, the most memorable was discovering that the database server hadn&#039;t been configured correctly and having to spend the lion&#039;s share of time sorting their machine out.

That really should have been an indication to walk out, but you live and learn.</description>
		<content:encoded><![CDATA[<p>Can I also add to be ready that if you are using a stock example make sure everything is setup properly.</p>
<p>I&#8217;ve had several experiences, the most memorable was discovering that the database server hadn&#8217;t been configured correctly and having to spend the lion&#8217;s share of time sorting their machine out.</p>
<p>That really should have been an indication to walk out, but you live and learn.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Doing pair programming tests right by David Harvey</title>
		<link>http://www.higherorderlogic.com/2012/02/doing-pair-programming-tests-right/comment-page-1/#comment-1696</link>
		<dc:creator>David Harvey</dc:creator>
		<pubDate>Mon, 20 Feb 2012 12:35:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=848#comment-1696</guid>
		<description>Nice. Three things:

1) Allow enough time. You can&#039;t do a reasonable pairing interview in an hour
2) Pair the candidate developer with more than one person. In particular, if the first pair sets up the problem and the pair write some tests, you can learn a lot from the way the candidate explains where they&#039;d got to when he pairs with a second partner
3) Understand the difference petween a pairing interview and a coding audition. They&#039;re not the same.</description>
		<content:encoded><![CDATA[<p>Nice. Three things:</p>
<p>1) Allow enough time. You can&#8217;t do a reasonable pairing interview in an hour<br />
2) Pair the candidate developer with more than one person. In particular, if the first pair sets up the problem and the pair write some tests, you can learn a lot from the way the candidate explains where they&#8217;d got to when he pairs with a second partner<br />
3) Understand the difference petween a pairing interview and a coding audition. They&#8217;re not the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Bad code isn&#8217;t Technical Debt, it&#8217;s an unhedged Call Option by Liz Keogh&#039;s blog &#187; The Real Cost of Change</title>
		<link>http://www.higherorderlogic.com/2010/07/bad-code-isnt-technical-debt-its-an-unhedged-call-option/comment-page-2/#comment-1694</link>
		<dc:creator>Liz Keogh&#039;s blog &#187; The Real Cost of Change</dc:creator>
		<pubDate>Sat, 04 Feb 2012 20:23:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.m3p.co.uk/?p=503#comment-1694</guid>
		<description>[...] debt as an &#8220;unhedged call option&#8221;. Edit: while Chris came up with the metaphor, it was Steve Freeman who described it. He says, &#8220;You give someone the right to buy Chocolate Santas from you at 30 [...]</description>
		<content:encoded><![CDATA[<p>[...] debt as an &#8220;unhedged call option&#8221;. Edit: while Chris came up with the metaphor, it was Steve Freeman who described it. He says, &#8220;You give someone the right to buy Chocolate Santas from you at 30 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-First Development 1968 by B.J. Johnson</title>
		<link>http://www.higherorderlogic.com/2011/10/test-first-development-1968/comment-page-1/#comment-1691</link>
		<dc:creator>B.J. Johnson</dc:creator>
		<pubDate>Wed, 11 Jan 2012 19:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=808#comment-1691</guid>
		<description>This history begs the question that perhaps even Fred Brooks&#039; idea of &quot;build one to throw away&quot; has a similar philosophy in mind?  A case might be made, since &quot;Mythical Man Month&quot; appeared in 1975, &lt;em&gt;after&lt;/em&gt; the 1968 conference...</description>
		<content:encoded><![CDATA[<p>This history begs the question that perhaps even Fred Brooks&#8217; idea of &#8220;build one to throw away&#8221; has a similar philosophy in mind?  A case might be made, since &#8220;Mythical Man Month&#8221; appeared in 1975, <em>after</em> the 1968 conference&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on An example of an unhedged software call option by Akash Chopra</title>
		<link>http://www.higherorderlogic.com/2011/09/an-example-of-an-unhedged-software-call-option/comment-page-1/#comment-1690</link>
		<dc:creator>Akash Chopra</dc:creator>
		<pubDate>Sat, 07 Jan 2012 07:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=743#comment-1690</guid>
		<description>Thanks for a very thought-provoking article.

I agree with your point about software quality being cumulative. It reinforces my view that tech debt is an unhedged *put* option, because the downside is not unlimited. Consider a hypothetical clean codebase where we take on some tech debt; it is very unlikely that this single choice will cost us a complete rewrite in the future, hence it is a put option. Now, when we then take on a more tech debt, we change the market we are trading in, and this may cause the assets underlying the options to become correlated. This means that future market moves are more likely to cause both options to be exercised. The cumulative effect is to turn the whole codebase into an unhedged call option.

What is the software property that causes the correlation? I&#039;ve been half-heartedly been trying to model this process, and the best I can come up with is that it is dependencies between components, but I can&#039;t find a way to measure the effect (an abstract dependency is better than a concrete one, but it is *still* a dependency that can cause correlated changes when the interface has to change).

I don&#039;t know if this has any practical significance, as few codebases are in the clean state necessary to make new tech debt an unhedged put option...but your article makes me want to think about it again!</description>
		<content:encoded><![CDATA[<p>Thanks for a very thought-provoking article.</p>
<p>I agree with your point about software quality being cumulative. It reinforces my view that tech debt is an unhedged <strong>put</strong> option, because the downside is not unlimited. Consider a hypothetical clean codebase where we take on some tech debt; it is very unlikely that this single choice will cost us a complete rewrite in the future, hence it is a put option. Now, when we then take on a more tech debt, we change the market we are trading in, and this may cause the assets underlying the options to become correlated. This means that future market moves are more likely to cause both options to be exercised. The cumulative effect is to turn the whole codebase into an unhedged call option.</p>
<p>What is the software property that causes the correlation? I&#8217;ve been half-heartedly been trying to model this process, and the best I can come up with is that it is dependencies between components, but I can&#8217;t find a way to measure the effect (an abstract dependency is better than a concrete one, but it is <strong>still</strong> a dependency that can cause correlated changes when the interface has to change).</p>
<p>I don&#8217;t know if this has any practical significance, as few codebases are in the clean state necessary to make new tech debt an unhedged put option&#8230;but your article makes me want to think about it again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Another reason not to log directly in your code by Neil</title>
		<link>http://www.higherorderlogic.com/2011/10/another-reason-not-to-log-directly/comment-page-1/#comment-1687</link>
		<dc:creator>Neil</dc:creator>
		<pubDate>Mon, 12 Dec 2011 15:53:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=815#comment-1687</guid>
		<description>As I often say &quot;XML: just say no.&quot;</description>
		<content:encoded><![CDATA[<p>As I often say &#8220;XML: just say no.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-Driven Development and Embracing Failure by Always Agile &#183; Extent of Automation Caveat</title>
		<link>http://www.higherorderlogic.com/2011/04/tdd-embracing-failure/comment-page-1/#comment-1684</link>
		<dc:creator>Always Agile &#183; Extent of Automation Caveat</dc:creator>
		<pubDate>Fri, 25 Nov 2011 15:14:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.m3p.co.uk/?p=590#comment-1684</guid>
		<description>[...] not so much value in using natural language toolsâ€œ.Â Steve Freeman described how ForwardÂ prefer Blue-Green Continuous Deployment and server traffic monitoring rather than automated testsÂ to test new features. On the other hand, Ron Jeffries described his discomfort via ShuhariÂ when [...]</description>
		<content:encoded><![CDATA[<p>[...] not so much value in using natural language tools&acirc;€œ.&Acirc;&nbsp;Steve Freeman described how Forward&Acirc;&nbsp;prefer Blue-Green Continuous Deployment and server traffic monitoring rather than automated tests&Acirc;&nbsp;to test new features. On the other hand, Ron Jeffries described his discomfort via Shuhari&Acirc;&nbsp;when [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test-First Development 1968 by Chris Pitts</title>
		<link>http://www.higherorderlogic.com/2011/10/test-first-development-1968/comment-page-1/#comment-1675</link>
		<dc:creator>Chris Pitts</dc:creator>
		<pubDate>Mon, 14 Nov 2011 15:57:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=808#comment-1675</guid>
		<description>It predates that. From http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf - 

&quot;We were doing incremental development as early as 1957, in Los Angeles, under the direction of
Bernie Dimsdale [at IBMâ€™s Service Bureau Corporation]. He was a colleague of John von Neumann, so perhaps he learned it there, or assumed it as totally natural. I do remember Herb Jacobs (primarily, though we all participated) developing a large simulation for Motorola, where the technique used was, as far as I can tell, indistinguishable from XP&quot;, Gerry Weinberg</description>
		<content:encoded><![CDATA[<p>It predates that. From <a href="http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf" rel="nofollow">http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf</a> &#8211; </p>
<p>&#8220;We were doing incremental development as early as 1957, in Los Angeles, under the direction of<br />
Bernie Dimsdale [at <span class="caps">IBM</span>&acirc;€™s Service Bureau Corporation]. He was a colleague of John von Neumann, so perhaps he learned it there, or assumed it as totally natural. I do remember Herb Jacobs (primarily, though we all participated) developing a large simulation for Motorola, where the technique used was, as far as I can tell, indistinguishable from XP&#8221;, Gerry Weinberg</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Another reason not to log directly in your code by Sam</title>
		<link>http://www.higherorderlogic.com/2011/10/another-reason-not-to-log-directly/comment-page-1/#comment-1667</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Thu, 10 Nov 2011 02:23:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=815#comment-1667</guid>
		<description>In my opinion, the team erred in using a logging framework to feed validation of program processing. What I typically consider a human-mined timeline of important events became a data flow intended to double-check core processing of the program.

This touches on the delicate definition of what is logging? What is auditing? What is the activity described here?

Thanks for the post.

Sam</description>
		<content:encoded><![CDATA[<p>In my opinion, the team erred in using a logging framework to feed validation of program processing. What I typically consider a human-mined timeline of important events became a data flow intended to double-check core processing of the program.</p>
<p>This touches on the delicate definition of what is logging? What is auditing? What is the activity described here?</p>
<p>Thanks for the post.</p>
<p>Sam</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Another reason not to log directly in your code by Steven Shaw</title>
		<link>http://www.higherorderlogic.com/2011/10/another-reason-not-to-log-directly/comment-page-1/#comment-1653</link>
		<dc:creator>Steven Shaw</dc:creator>
		<pubDate>Wed, 02 Nov 2011 03:57:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.higherorderlogic.com/?p=815#comment-1653</guid>
		<description>What&#039;s more is that it seems a big naive to use a logging framework to write application messages to a log. I understand that they&#039;d have used a different appender to filter out these application messages. Even still, they&#039;d still have to choose a debug level such as debug, info, error etc which doesn&#039;t seem to apply in this case. Often logging can be tuned while in production and not just in development - e.g. via JMX. Not to mention what guarantees does the logging framework make about when the application messages make it into the log file, what happens when the disk fills etc.</description>
		<content:encoded><![CDATA[<p>What&#8217;s more is that it seems a big naive to use a logging framework to write application messages to a log. I understand that they&#8217;d have used a different appender to filter out these application messages. Even still, they&#8217;d still have to choose a debug level such as debug, info, error etc which doesn&#8217;t seem to apply in this case. Often logging can be tuned while in production and not just in development &#8211; e.g. via <span class="caps">JMX.</span> Not to mention what guarantees does the logging framework make about when the application messages make it into the log file, what happens when the disk fills etc.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

