<?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: Technical Debt</title>
	<atom:link href="http://xprogramming.com/blog/technical-debt-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://xprogramming.com/blog/technical-debt-2/</link>
	<description>an agile software development resource</description>
	<lastBuildDate>Tue, 11 Oct 2011 17:33:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: mheusser</title>
		<link>http://xprogramming.com/blog/technical-debt-2/#comment-78</link>
		<dc:creator>mheusser</dc:creator>
		<pubDate>Tue, 24 Mar 2009 19:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://xprogramming.com/blog/?p=53#comment-78</guid>
		<description>I think we use different rhetoric, but this is essentially a sub-selection of my opinion on tech debt.  Oh, there are different dynamics and possibilities involved, but, in general, this is solid advice i&#039;d support.

--matt heusser</description>
		<content:encoded><![CDATA[<p>I think we use different rhetoric, but this is essentially a sub-selection of my opinion on tech debt.  Oh, there are different dynamics and possibilities involved, but, in general, this is solid advice i&#8217;d support.</p>
<p>&#8211;matt heusser</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dirk Riehle</title>
		<link>http://xprogramming.com/blog/technical-debt-2/#comment-74</link>
		<dc:creator>Dirk Riehle</dc:creator>
		<pubDate>Sun, 22 Feb 2009 02:35:02 +0000</pubDate>
		<guid isPermaLink="false">http://xprogramming.com/blog/?p=53#comment-74</guid>
		<description>Manuel Klimek pointed me here.

If the financial metaphor is apt, and the customer is like an investor, then you should disclose any relevant liabilities, of which technical debt would be one.

Dirk</description>
		<content:encoded><![CDATA[<p>Manuel Klimek pointed me here.</p>
<p>If the financial metaphor is apt, and the customer is like an investor, then you should disclose any relevant liabilities, of which technical debt would be one.</p>
<p>Dirk</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonkern</title>
		<link>http://xprogramming.com/blog/technical-debt-2/#comment-73</link>
		<dc:creator>jonkern</dc:creator>
		<pubDate>Sat, 21 Feb 2009 03:45:58 +0000</pubDate>
		<guid isPermaLink="false">http://xprogramming.com/blog/?p=53#comment-73</guid>
		<description>Regarding &quot;...some folks’ notion that it is OK to write the program a little less well with intention to clean it up later... He [Ward] says that the program as written should always reflect all of our understanding of the problem and the solution, as of the time we wrote it.&quot;

How can it not? It certainly cannot reflect more than your understanding. 
Or, conversely, how can it ever truly reflect all of your understanding?

I can guess that Ward means &quot;Don&#039;t do something stupid and leave a turd in the program.&quot; Which of course presumes that the developer knows in the first place what constitutes quality design and good coding.

Not sure where these fit in to the continuum that represents Ward&#039;s comment... 

1) Many times I have the opportunity to &quot;grow&quot; a feature over time. Though I might have a long-range vision that meets business needs, we have the ability to release a subset of the whole and achieve business value sooner than were we to implement our entire understanding. Of course, some of the understanding involves realizing that we can get value with less. So, because I think this is a smart thing to do, maybe it doesn&#039;t fail ward&#039;s test.

2) Once in a while, I will jam out a feature with some potentially ugly code because that is the best choice to get it out the door. Getting it out the door is a big win for the business/product. This allows me to get value now. But we then immediately come back to this hack to refactor and do it right. This allows us to avoid technical debt in the future.

Never say never.

But guidance of good things to do when given the chance is always a good thing, as you and Ward are trying to do. However, hoping that all developers know how to best balance their efforts to the current understanding is a conundrum.

-- jon</description>
		<content:encoded><![CDATA[<p>Regarding &#8220;&#8230;some folks’ notion that it is OK to write the program a little less well with intention to clean it up later&#8230; He [Ward] says that the program as written should always reflect all of our understanding of the problem and the solution, as of the time we wrote it.&#8221;</p>
<p>How can it not? It certainly cannot reflect more than your understanding.<br />
Or, conversely, how can it ever truly reflect all of your understanding?</p>
<p>I can guess that Ward means &#8220;Don&#8217;t do something stupid and leave a turd in the program.&#8221; Which of course presumes that the developer knows in the first place what constitutes quality design and good coding.</p>
<p>Not sure where these fit in to the continuum that represents Ward&#8217;s comment&#8230; </p>
<p>1) Many times I have the opportunity to &#8220;grow&#8221; a feature over time. Though I might have a long-range vision that meets business needs, we have the ability to release a subset of the whole and achieve business value sooner than were we to implement our entire understanding. Of course, some of the understanding involves realizing that we can get value with less. So, because I think this is a smart thing to do, maybe it doesn&#8217;t fail ward&#8217;s test.</p>
<p>2) Once in a while, I will jam out a feature with some potentially ugly code because that is the best choice to get it out the door. Getting it out the door is a big win for the business/product. This allows me to get value now. But we then immediately come back to this hack to refactor and do it right. This allows us to avoid technical debt in the future.</p>
<p>Never say never.</p>
<p>But guidance of good things to do when given the chance is always a good thing, as you and Ward are trying to do. However, hoping that all developers know how to best balance their efforts to the current understanding is a conundrum.</p>
<p>&#8211; jon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mabotelh</title>
		<link>http://xprogramming.com/blog/technical-debt-2/#comment-72</link>
		<dc:creator>mabotelh</dc:creator>
		<pubDate>Thu, 19 Feb 2009 18:03:54 +0000</pubDate>
		<guid isPermaLink="false">http://xprogramming.com/blog/?p=53#comment-72</guid>
		<description>&quot;Can every refactoring be done inch by inch, step by step (slowly I turned)? Well, yes.&quot;

I think that the inch by inch approach work for most of the cases and in my experience has been the best approach.

One case where this can be hard to accomplish is when your &quot;refactoring&quot; is very radical, perhaps in the order of switching from say Java to .NET.

In this case you can be put in a position of having one foot in the boat and one on the shore. Not stopping traffic like you mentioned in your post might mean a quickly rising technical debt.

Could you please elaborate more on this topic?

Mauro</description>
		<content:encoded><![CDATA[<p>&#8220;Can every refactoring be done inch by inch, step by step (slowly I turned)? Well, yes.&#8221;</p>
<p>I think that the inch by inch approach work for most of the cases and in my experience has been the best approach.</p>
<p>One case where this can be hard to accomplish is when your &#8220;refactoring&#8221; is very radical, perhaps in the order of switching from say Java to .NET.</p>
<p>In this case you can be put in a position of having one foot in the boat and one on the shore. Not stopping traffic like you mentioned in your post might mean a quickly rising technical debt.</p>
<p>Could you please elaborate more on this topic?</p>
<p>Mauro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Kuebeck</title>
		<link>http://xprogramming.com/blog/technical-debt-2/#comment-71</link>
		<dc:creator>Sebastian Kuebeck</dc:creator>
		<pubDate>Thu, 19 Feb 2009 16:46:18 +0000</pubDate>
		<guid isPermaLink="false">http://xprogramming.com/blog/?p=53#comment-71</guid>
		<description>&gt; Sorry. We do have to tell, because we want everyone on the team, 
&gt; including the customer, to know what is going on. 
&gt; We just don’t have to ask permission.

I think you are perfectly right!
Alan Cooper says in a different context that you should never ask your user (or customer) to design the application themselves...

http://www.youtube.com/watch?v=sNWBnCazIcU

I think it&#039;s the same with refactoring. It&#039;s the developers job to find out when to do it and why.

Sebastian</description>
		<content:encoded><![CDATA[<p>&gt; Sorry. We do have to tell, because we want everyone on the team,<br />
&gt; including the customer, to know what is going on.<br />
&gt; We just don’t have to ask permission.</p>
<p>I think you are perfectly right!<br />
Alan Cooper says in a different context that you should never ask your user (or customer) to design the application themselves&#8230;</p>
<p><a href="http://www.youtube.com/watch?v=sNWBnCazIcU" rel="nofollow">http://www.youtube.com/watch?v=sNWBnCazIcU</a></p>
<p>I think it&#8217;s the same with refactoring. It&#8217;s the developers job to find out when to do it and why.</p>
<p>Sebastian</p>
]]></content:encoded>
	</item>
</channel>
</rss>

