<?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: Software does not evolve; software degenerates</title>
	<atom:link href="http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/feed/" rel="self" type="application/rss+xml" />
	<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/</link>
	<description>Thoughts on technology, skydiving, life, and the universe...</description>
	<lastBuildDate>Wed, 04 Jan 2012 17:34:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Pedro Assuncao</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-3180</link>
		<dc:creator>Pedro Assuncao</dc:creator>
		<pubDate>Mon, 17 May 2010 14:22:21 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-3180</guid>
		<description>I wonder if it&#039;s a way of justifying spending money in a company? :)</description>
		<content:encoded><![CDATA[<p>I wonder if it&#8217;s a way of justifying spending money in a company? <img src='http://pedroassuncao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DellaPunta</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-3174</link>
		<dc:creator>DellaPunta</dc:creator>
		<pubDate>Sun, 16 May 2010 18:20:20 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-3174</guid>
		<description>Programmers still do the same menial tasks that were performed 40 years ago, which is a huge waste of resources.
Industry seems to come up with new languages that do the same old tricks, whereas one would expect tools that increase productivity!
Fact is, no one has even yet provided an intelligent  app to refactor these said LEGO blocks without starting over at the  code level.</description>
		<content:encoded><![CDATA[<p>Programmers still do the same menial tasks that were performed 40 years ago, which is a huge waste of resources.<br />
Industry seems to come up with new languages that do the same old tricks, whereas one would expect tools that increase productivity!<br />
Fact is, no one has even yet provided an intelligent  app to refactor these said LEGO blocks without starting over at the  code level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Links &#171; Beautiful Discovery</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-3097</link>
		<dc:creator>Links &#171; Beautiful Discovery</dc:creator>
		<pubDate>Sun, 09 May 2010 00:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-3097</guid>
		<description>[...] Software does not evolve; software degenerates Instead I might say the world changes but software often doesn&#8217;t. [...]</description>
		<content:encoded><![CDATA[<p>[...] Software does not evolve; software degenerates Instead I might say the world changes but software often doesn&#8217;t. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wouter</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2477</link>
		<dc:creator>Wouter</dc:creator>
		<pubDate>Wed, 07 Apr 2010 19:18:51 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2477</guid>
		<description>Ahem, not much I can say to that...</description>
		<content:encoded><![CDATA[<p>Ahem, not much I can say to that&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niels Bom</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2370</link>
		<dc:creator>Niels Bom</dc:creator>
		<pubDate>Thu, 01 Apr 2010 09:02:25 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2370</guid>
		<description>Metaphors are indeed usually used in explaining things.

Using a new metaphor for something you already understand, instead of an &#039;old&#039; one, can give you new insights that can help you get past any illusory limitations the old metaphor might have projected on the thing.</description>
		<content:encoded><![CDATA[<p>Metaphors are indeed usually used in explaining things.</p>
<p>Using a new metaphor for something you already understand, instead of an &#8216;old&#8217; one, can give you new insights that can help you get past any illusory limitations the old metaphor might have projected on the thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Assuncao</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2369</link>
		<dc:creator>Pedro Assuncao</dc:creator>
		<pubDate>Thu, 01 Apr 2010 07:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2369</guid>
		<description>It&#039;s a fair point. If untouched it will continue to work exactly as before, assuming nothing else around it changes (i.e. external pieces that it connects to), though of course we are constantly building on top of it so it never truly will be untouched.

But you are right in the sense that it;s usually a good idea to look at problems with different metaphors; that way you increase the odds of other people understanding what you are trying to explain.</description>
		<content:encoded><![CDATA[<p>It&#8217;s a fair point. If untouched it will continue to work exactly as before, assuming nothing else around it changes (i.e. external pieces that it connects to), though of course we are constantly building on top of it so it never truly will be untouched.</p>
<p>But you are right in the sense that it;s usually a good idea to look at problems with different metaphors; that way you increase the odds of other people understanding what you are trying to explain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niels Bom</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2368</link>
		<dc:creator>Niels Bom</dc:creator>
		<pubDate>Thu, 01 Apr 2010 07:50:05 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2368</guid>
		<description>I was reading a book yesterday, about how metaphors for things can help in understanding something, but it can also have drawbacks. By using a metaphor, you project the limitations of the thing you&#039;re using as a metaphor onto the thing you&#039;re using a metaphor for.

I thought of the metaphor I use for programming projects, which I saw as something that has the possibility of being perfect, but in contact with the real world, rarely ever is, one of the main reasons being changing requirements and too little time for fundamental (re)work.

Maybe the metaphor you&#039;re using (the Lego tower) has limitations that the programming projects don&#039;t. The thing is ofcourse, that when a program works, even a very brittle and ill-structured one, it will keep on working in exactly the same way forever, if untouched. Maybe changing your metaphor will bring you a new perspective.</description>
		<content:encoded><![CDATA[<p>I was reading a book yesterday, about how metaphors for things can help in understanding something, but it can also have drawbacks. By using a metaphor, you project the limitations of the thing you&#8217;re using as a metaphor onto the thing you&#8217;re using a metaphor for.</p>
<p>I thought of the metaphor I use for programming projects, which I saw as something that has the possibility of being perfect, but in contact with the real world, rarely ever is, one of the main reasons being changing requirements and too little time for fundamental (re)work.</p>
<p>Maybe the metaphor you&#8217;re using (the Lego tower) has limitations that the programming projects don&#8217;t. The thing is ofcourse, that when a program works, even a very brittle and ill-structured one, it will keep on working in exactly the same way forever, if untouched. Maybe changing your metaphor will bring you a new perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Assuncao</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2367</link>
		<dc:creator>Pedro Assuncao</dc:creator>
		<pubDate>Thu, 01 Apr 2010 07:49:04 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2367</guid>
		<description>I know Wouter, but the amount of time that one spends discussing the obvious is what kills me slowly. I have seen those discussions over and over in different projects before and it still surprises me that people that should have a whole lot more experience than me don&#039;t seem to have common sense at all :)</description>
		<content:encoded><![CDATA[<p>I know Wouter, but the amount of time that one spends discussing the obvious is what kills me slowly. I have seen those discussions over and over in different projects before and it still surprises me that people that should have a whole lot more experience than me don&#8217;t seem to have common sense at all <img src='http://pedroassuncao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Assuncao</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2365</link>
		<dc:creator>Pedro Assuncao</dc:creator>
		<pubDate>Thu, 01 Apr 2010 07:46:06 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2365</guid>
		<description>Thanks for the ideas. I will definitely check out the book :)</description>
		<content:encoded><![CDATA[<p>Thanks for the ideas. I will definitely check out the book <img src='http://pedroassuncao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wouter</title>
		<link>http://pedroassuncao.com/2010/03/software-does-not-evolve-software-degenerates/comment-page-1/#comment-2342</link>
		<dc:creator>Wouter</dc:creator>
		<pubDate>Wed, 31 Mar 2010 22:36:11 +0000</pubDate>
		<guid isPermaLink="false">http://diffract.me/?p=900#comment-2342</guid>
		<description>Hey, you&#039;ve discovered entropy!

I think that you&#039;re not being quite fair, though. Decisions to re-write, or refactor, are taken quite often. In fact, I happen to know the project you&#039;re working on right now is one of those occasions:-)
Of course, that doesn&#039;t mean all re-work is bad, but is certainly proves that not all is good!

I think the trick is to know not just when to do re-work, but to know how far to go with it. And to know that when you&#039;re doing re-work that it&#039;s not just because of technical limitations or errors in implementation but most often because, as you also indicate, the requirements have simply changed!

That also means that when you do start over, the most important thing to do is to re-evaluate those requirements, and make sure you implement the new ones, not the old ones...</description>
		<content:encoded><![CDATA[<p>Hey, you&#8217;ve discovered entropy!</p>
<p>I think that you&#8217;re not being quite fair, though. Decisions to re-write, or refactor, are taken quite often. In fact, I happen to know the project you&#8217;re working on right now is one of those occasions:-)<br />
Of course, that doesn&#8217;t mean all re-work is bad, but is certainly proves that not all is good!</p>
<p>I think the trick is to know not just when to do re-work, but to know how far to go with it. And to know that when you&#8217;re doing re-work that it&#8217;s not just because of technical limitations or errors in implementation but most often because, as you also indicate, the requirements have simply changed!</p>
<p>That also means that when you do start over, the most important thing to do is to re-evaluate those requirements, and make sure you implement the new ones, not the old ones&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

