<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	
	>
<channel>
	<title>
	Comments on: Undefining &#8220;technical debt&#8221;	</title>
	<atom:link href="https://www.robg3d.com/2015/01/undefining-technical-debt/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.robg3d.com/2015/01/undefining-technical-debt/</link>
	<description>Blog of Rob Galanakis (@robgalanakis)</description>
	<lastBuildDate>Sat, 07 Feb 2015 07:30:52 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.2</generator>
	<item>
		<title>
		By: Technical Debt Metaphors Get It so Wrong &#124; Indie Game Developer！		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236635</link>

		<dc:creator><![CDATA[Technical Debt Metaphors Get It so Wrong &#124; Indie Game Developer！]]></dc:creator>
		<pubDate>Sat, 07 Feb 2015 07:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236635</guid>

					<description><![CDATA[[&#8230;] Makauskas made the following metaphor in a comment on my last post. This is a pretty perfect stand-in for metaphors I’ve read in other articles that harmfully [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] Makauskas made the following metaphor in a comment on my last post. This is a pretty perfect stand-in for metaphors I’ve read in other articles that harmfully [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Technical debt metaphors get it so wrong - RobG3D		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236275</link>

		<dc:creator><![CDATA[Technical debt metaphors get it so wrong - RobG3D]]></dc:creator>
		<pubDate>Thu, 22 Jan 2015 05:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236275</guid>

					<description><![CDATA[[&#8230;] my previous post about technical debt, I explained how modern definitions of technical debt are harmful. Now I turn my attention to [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] my previous post about technical debt, I explained how modern definitions of technical debt are harmful. Now I turn my attention to [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jse M		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236256</link>

		<dc:creator><![CDATA[Jse M]]></dc:creator>
		<pubDate>Wed, 21 Jan 2015 14:33:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236256</guid>

					<description><![CDATA[I believe we&#039;re getting hung up on the intangibles. A single example won&#039;t demonstrate what I believe Rob is observing (human patterns that influenced by repetition).

If developers continue to face pressure, and are forced to take shortcuts because a business decision was made, over time that behavior becomes the normal. It&#039;s hard for someone to maintain quality when they&#039;re constantly beat into taking shortcuts, when they find time to focus on quality, their mindset has already shifted and it becomes very difficult to adjust, if not impossible to do it without influence.

Unless someone is enabling developers to focus on quality while taking shortcuts (I&#039;ve rarely observed proper enabling), then the developer will conform to the direction the pressure forces.

If you already have a good culture, decent process, good practices... then being faced with the analogy above, sure, it should be a no brainer. Take the shortcut, come back and get it fixed, it&#039;s rarely that simple at scale (and requires that the customer wants to come back and get it fixed).]]></description>
			<content:encoded><![CDATA[<p>I believe we&#8217;re getting hung up on the intangibles. A single example won&#8217;t demonstrate what I believe Rob is observing (human patterns that influenced by repetition).</p>
<p>If developers continue to face pressure, and are forced to take shortcuts because a business decision was made, over time that behavior becomes the normal. It&#8217;s hard for someone to maintain quality when they&#8217;re constantly beat into taking shortcuts, when they find time to focus on quality, their mindset has already shifted and it becomes very difficult to adjust, if not impossible to do it without influence.</p>
<p>Unless someone is enabling developers to focus on quality while taking shortcuts (I&#8217;ve rarely observed proper enabling), then the developer will conform to the direction the pressure forces.</p>
<p>If you already have a good culture, decent process, good practices&#8230; then being faced with the analogy above, sure, it should be a no brainer. Take the shortcut, come back and get it fixed, it&#8217;s rarely that simple at scale (and requires that the customer wants to come back and get it fixed).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Viktoras Makauskas		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236138</link>

		<dc:creator><![CDATA[Viktoras Makauskas]]></dc:creator>
		<pubDate>Wed, 14 Jan 2015 23:25:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236138</guid>

					<description><![CDATA[Not understanding how it&#039;s is mixed up, to me it&#039;s:

Me, car owner - PO/Client 
Car - product
Mechanic - dev team.]]></description>
			<content:encoded><![CDATA[<p>Not understanding how it&#8217;s is mixed up, to me it&#8217;s:</p>
<p>Me, car owner &#8211; PO/Client<br />
Car &#8211; product<br />
Mechanic &#8211; dev team.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Galanakis		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236069</link>

		<dc:creator><![CDATA[Rob Galanakis]]></dc:creator>
		<pubDate>Sun, 11 Jan 2015 22:18:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236069</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236068&quot;&gt;Rob Galanakis&lt;/a&gt;.

And the reason it doesn&#039;t hold up is that the roles you have in your analogy are totally mixed up. Good fodder for another post though maybe you understand the mixup now that it&#039;s been pointed out?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236068">Rob Galanakis</a>.</p>
<p>And the reason it doesn&#8217;t hold up is that the roles you have in your analogy are totally mixed up. Good fodder for another post though maybe you understand the mixup now that it&#8217;s been pointed out?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Galanakis		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236068</link>

		<dc:creator><![CDATA[Rob Galanakis]]></dc:creator>
		<pubDate>Sun, 11 Jan 2015 22:16:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236068</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236004&quot;&gt;Viktoras Makauskas&lt;/a&gt;.

&gt; That’s an example of “business” driven decision about the quality of product.

No, that&#039;s an analogy.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236004">Viktoras Makauskas</a>.</p>
<p>> That’s an example of “business” driven decision about the quality of product.</p>
<p>No, that&#8217;s an analogy.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Viktoras Makauskas		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-236004</link>

		<dc:creator><![CDATA[Viktoras Makauskas]]></dc:creator>
		<pubDate>Thu, 08 Jan 2015 10:58:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-236004</guid>

					<description><![CDATA[well, the tech debt would be something like.. Imagine your car gets a strange rattle. You go to your mechanic and he says, &quot;it&#039;s your exhaust pipe holder, you need to replace it, but it&#039;s gonna take a while to order a part and ship it, so just park your car here and come back in a week&quot;. You say &quot;no, I have this weekend trip planned, is there something we can do now?&quot;. They say &quot;yeah, we&#039;ll put a strap on it meanwhile, just drive a little more careful and it should hold, but make sure to come back and do a proper fix&quot;. Mechanic charges you now, and then a bit later.

That&#039;s an example of &quot;business&quot; driven decision about the quality of product. In the end, it&#039;s your property, if you want it working it NOW taking responsibility of shortcommings, it&#039;s ok.]]></description>
			<content:encoded><![CDATA[<p>well, the tech debt would be something like.. Imagine your car gets a strange rattle. You go to your mechanic and he says, &#8220;it&#8217;s your exhaust pipe holder, you need to replace it, but it&#8217;s gonna take a while to order a part and ship it, so just park your car here and come back in a week&#8221;. You say &#8220;no, I have this weekend trip planned, is there something we can do now?&#8221;. They say &#8220;yeah, we&#8217;ll put a strap on it meanwhile, just drive a little more careful and it should hold, but make sure to come back and do a proper fix&#8221;. Mechanic charges you now, and then a bit later.</p>
<p>That&#8217;s an example of &#8220;business&#8221; driven decision about the quality of product. In the end, it&#8217;s your property, if you want it working it NOW taking responsibility of shortcommings, it&#8217;s ok.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Galanakis		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-235971</link>

		<dc:creator><![CDATA[Rob Galanakis]]></dc:creator>
		<pubDate>Wed, 07 Jan 2015 06:20:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-235971</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-235954&quot;&gt;Viktoras Makauskas&lt;/a&gt;.

Viktoras, it&#039;s not a matter of &quot;crap or full-featured framework.&quot; It&#039;s a matter of &quot;can I live with this for the foreseeable future.&quot; This is significantly different from &quot;I will do something in a sloppy/wrong way and plan on changing it in the future.&quot; The decision making about technical things is in the hands of the programmer. For example (I&#039;ll make this a full blog post in the future), we needed to put up a warning banner in our site, for example if our email provider is having an outage (see my last blog post). There are many ways to do this. We decided on a static file we serve from our marketing site. This isn&#039;t a gold-plated solution (something controllable by our administrative app, or another 3rd party service). Nor is it a hack job (editing source files and doing a deploy). It&#039;s something I would have no trouble living with until it becomes a priority to expand capabilities. And it was done in a deliberate, responsible way. I don&#039;t call that technical debt, I call it a good solution.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-235954">Viktoras Makauskas</a>.</p>
<p>Viktoras, it&#8217;s not a matter of &#8220;crap or full-featured framework.&#8221; It&#8217;s a matter of &#8220;can I live with this for the foreseeable future.&#8221; This is significantly different from &#8220;I will do something in a sloppy/wrong way and plan on changing it in the future.&#8221; The decision making about technical things is in the hands of the programmer. For example (I&#8217;ll make this a full blog post in the future), we needed to put up a warning banner in our site, for example if our email provider is having an outage (see my last blog post). There are many ways to do this. We decided on a static file we serve from our marketing site. This isn&#8217;t a gold-plated solution (something controllable by our administrative app, or another 3rd party service). Nor is it a hack job (editing source files and doing a deploy). It&#8217;s something I would have no trouble living with until it becomes a priority to expand capabilities. And it was done in a deliberate, responsible way. I don&#8217;t call that technical debt, I call it a good solution.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Robert Butterworth		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-235956</link>

		<dc:creator><![CDATA[Robert Butterworth]]></dc:creator>
		<pubDate>Tue, 06 Jan 2015 16:42:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-235956</guid>

					<description><![CDATA[Another thing I have noticed about technical debt is, if your don&#039;t clear it you are going to end up with a wallet full or credit cards and it will drive you further and further into debt. In most cases I find technical debt arising from untested code and poor unit testing. You end up with tasks that you think will take you so long to complete and then end up blowing out because of edge cases and bugs, giving you less time to implement the current solution properly. So the cycle continues, you have to write custom code to get around the bugs at the same time not break it for the things that rely on those bugs to be the way they are.... more code to trudge through. Well tested, structured and documented code although fundamentally flawed in its design will most always be easier to correct and/or re-write.

I completely agree, pay the price upfront for complete solutions. Now that being said sometimes you don&#039;t get the time you need to do it right, you are hamstrung by the fact that if you don&#039;t get the system going enough to get you over the line you could end up not having a job to complete. This is a tough balance, but as soon as you have some stability and reserve double down on fixing it.]]></description>
			<content:encoded><![CDATA[<p>Another thing I have noticed about technical debt is, if your don&#8217;t clear it you are going to end up with a wallet full or credit cards and it will drive you further and further into debt. In most cases I find technical debt arising from untested code and poor unit testing. You end up with tasks that you think will take you so long to complete and then end up blowing out because of edge cases and bugs, giving you less time to implement the current solution properly. So the cycle continues, you have to write custom code to get around the bugs at the same time not break it for the things that rely on those bugs to be the way they are&#8230;. more code to trudge through. Well tested, structured and documented code although fundamentally flawed in its design will most always be easier to correct and/or re-write.</p>
<p>I completely agree, pay the price upfront for complete solutions. Now that being said sometimes you don&#8217;t get the time you need to do it right, you are hamstrung by the fact that if you don&#8217;t get the system going enough to get you over the line you could end up not having a job to complete. This is a tough balance, but as soon as you have some stability and reserve double down on fixing it.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Viktoras Makauskas		</title>
		<link>https://www.robg3d.com/2015/01/undefining-technical-debt/#comment-235954</link>

		<dc:creator><![CDATA[Viktoras Makauskas]]></dc:creator>
		<pubDate>Tue, 06 Jan 2015 16:21:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.robg3d.com/?p=1769#comment-235954</guid>

					<description><![CDATA[The tech debt is exactly about &quot;Quality is something you can put off to later&quot;. Whenever the equation is right:
[shortcut]+[value for shipping sooner]+[cleanup and proper deployment effort] &#062; [proper deployment effort]+[any drawbacks of shipping later]

...you should take that shortcut.

If you can hardcode configuration for first deployments, do you really need that config file support?
If you have a weird production issue, do you have time to investigate, or a silly hack (periodic server restart, limit number of concurrent users, increase timeouts) will do for the time being?
Do you really want to create a full-featured framework before putting that requested feature on top of it, or can you somehow hack the feature up from semi-made pieces, it will not be reusable for other similar features, but at least you can start getting some feedback on this, and only THEN shape some sort of a proper framework?

Yes, most often you would want to choose a proper path straight away, but you don&#039;t always have a luxury, or even the need for that.

Tech debt is not about &quot;sloppy&quot;, or &quot;bug&quot;, &quot;poor quality&quot;. Tech debt is about &quot;shortcut&quot;, &quot;workaround&quot;, &quot;temporary fix&quot;, &quot;hack&quot;. It is actually useful to know when you can use one of those.]]></description>
			<content:encoded><![CDATA[<p>The tech debt is exactly about &#8220;Quality is something you can put off to later&#8221;. Whenever the equation is right:<br />
[shortcut]+[value for shipping sooner]+[cleanup and proper deployment effort] &gt; [proper deployment effort]+[any drawbacks of shipping later]</p>
<p>&#8230;you should take that shortcut.</p>
<p>If you can hardcode configuration for first deployments, do you really need that config file support?<br />
If you have a weird production issue, do you have time to investigate, or a silly hack (periodic server restart, limit number of concurrent users, increase timeouts) will do for the time being?<br />
Do you really want to create a full-featured framework before putting that requested feature on top of it, or can you somehow hack the feature up from semi-made pieces, it will not be reusable for other similar features, but at least you can start getting some feedback on this, and only THEN shape some sort of a proper framework?</p>
<p>Yes, most often you would want to choose a proper path straight away, but you don&#8217;t always have a luxury, or even the need for that.</p>
<p>Tech debt is not about &#8220;sloppy&#8221;, or &#8220;bug&#8221;, &#8220;poor quality&#8221;. Tech debt is about &#8220;shortcut&#8221;, &#8220;workaround&#8221;, &#8220;temporary fix&#8221;, &#8220;hack&#8221;. It is actually useful to know when you can use one of those.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
