<?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: Design From The Start</title>
	<atom:link href="http://www.codesimplicity.com/post/design-from-the-start/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codesimplicity.com/post/design-from-the-start/</link>
	<description></description>
	<lastBuildDate>Tue, 27 Dec 2011 03:40:15 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-1072</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Tue, 28 Jul 2009 02:43:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-1072</guid>
		<description>Thanks! :-)

-Max</description>
		<content:encoded><![CDATA[<p>Thanks! <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-1071</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Tue, 28 Jul 2009 01:49:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-1071</guid>
		<description>nice!</description>
		<content:encoded><![CDATA[<p>nice!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-487</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Sun, 17 Aug 2008 07:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-487</guid>
		<description>He&#039;s right, but he&#039;s wrong about &lt;em&gt;why&lt;/em&gt; he&#039;s right and he&#039;s wrong in some of the things he says. You &lt;em&gt;should&lt;/em&gt; expect the project to get large. You should &lt;em&gt;not&lt;/em&gt; &lt;a href=&quot;/archives/12&quot; rel=&quot;nofollow&quot;&gt;overengineer&lt;/a&gt;. And you should &lt;em&gt;not&lt;/em&gt; &lt;a href=&quot;/archives/6&quot; rel=&quot;nofollow&quot;&gt;design too far into the future&lt;/a&gt; (which is the point he&#039;s actually making).

Also note that he&#039;s making a point about open-source software--about what makes people want to contribute.

-Max</description>
		<content:encoded><![CDATA[<p>He&#8217;s right, but he&#8217;s wrong about <em>why</em> he&#8217;s right and he&#8217;s wrong in some of the things he says. You <em>should</em> expect the project to get large. You should <em>not</em> <a href="/archives/12" rel="nofollow">overengineer</a>. And you should <em>not</em> <a href="/archives/6" rel="nofollow">design too far into the future</a> (which is the point he&#8217;s actually making).</p>
<p>Also note that he&#8217;s making a point about open-source software&#8211;about what makes people want to contribute.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fulano</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-482</link>
		<dc:creator>fulano</dc:creator>
		<pubDate>Sat, 16 Aug 2008 18:42:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-482</guid>
		<description>&quot;Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you&#039;ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don&#039;t think about some big picture and fancy design. If it doesn&#039;t solve some fairly immediate need, it&#039;s almost certainly over-designed. And don&#039;t expect people to jump in and help you. That&#039;s not how these things work. You need to get something half-way _useful_ first, and then others will say &quot;hey, that _almost_ works for me&quot;, and they&#039;ll get involved in the project.&quot; - Torvalds</description>
		<content:encoded><![CDATA[<p>&#8220;Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you&#8217;ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don&#8217;t think about some big picture and fancy design. If it doesn&#8217;t solve some fairly immediate need, it&#8217;s almost certainly over-designed. And don&#8217;t expect people to jump in and help you. That&#8217;s not how these things work. You need to get something half-way _useful_ first, and then others will say &#8220;hey, that _almost_ works for me&#8221;, and they&#8217;ll get involved in the project.&#8221; &#8211; Torvalds</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-480</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Sat, 16 Aug 2008 01:39:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-480</guid>
		<description>Hey, you&#039;re welcome! :-)

-Max</description>
		<content:encoded><![CDATA[<p>Hey, you&#8217;re welcome! <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Casper Bang</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-479</link>
		<dc:creator>Casper Bang</dc:creator>
		<pubDate>Fri, 15 Aug 2008 23:51:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-479</guid>
		<description>I just finished reading &quot;Practical API design - Confessions of a Java Framework Architect&quot; by Jaroslav Tulach (original author of NetBeans). And in it he describes similar experiences to yours. However, he focuses a lot (too much) on backwards compatibility and comes with statements such as &quot;simplicity and elegance is not the goal at all&quot;. That made me a little depressed so, intentional or not, thanks for pulling a little in the other direction with this blog! ;)</description>
		<content:encoded><![CDATA[<p>I just finished reading &#8220;Practical API design &#8211; Confessions of a Java Framework Architect&#8221; by Jaroslav Tulach (original author of NetBeans). And in it he describes similar experiences to yours. However, he focuses a lot (too much) on backwards compatibility and comes with statements such as &#8220;simplicity and elegance is not the goal at all&#8221;. That made me a little depressed so, intentional or not, thanks for pulling a little in the other direction with this blog! <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-478</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Fri, 15 Aug 2008 22:18:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-478</guid>
		<description>Hey Casper! I have seen the same thing happen. At least caring about design, and noticing that patches and workarounds are moving away from it, that&#039;s commendable.

  Now, I too have seen situations where people said that doing things the right way wasn&#039;t practically or economically feasible. But somehow a re-write (more effort later) is?

  In commercial environments (and a little bit in open-source environments), there&#039;s also a big push to &quot;stay competitive.&quot; That is, to make sure that you have the same or better features than your competitors. Sadly, that&#039;s all too often just measured by the size of the feature list, and not by the quality of each individual feature in the product. Shipping a little later than your competitor with a better product isn&#039;t actually harmful to business. Shipping &lt;em&gt;years&lt;/em&gt; later (witness IE7 and Vista) is, but it&#039;s not usually gold-plating that causes years of lateness. It&#039;s re-writing that does.

  As far as being called a gold-plating perfectionist, people who say that are probably the types who can&#039;t see beyond lunch. They&#039;re also often the types who don&#039;t want to stand away from the computer for even a few minutes to think about a design. That&#039;s one reason why design shouldn&#039;t be a democracy. Design should really be a dictatorship, and anybody who doesn&#039;t understand it (and would rather do things the wrong way, often out of ignorance) should be forced to implement it. And actually, usually what happens is when you force them, after about two years they start to understand why you did it and what&#039;s important about it, at least a tiny bit.

  There have been times with Bugzilla that I&#039;ve compromised, I will say that. But it was because all our contributors are volunteers, and I had to make the decision: &quot;If I tell them to fix this, they won&#039;t, and then we won&#039;t have the feature at all. If I let it in as-is, we&#039;ll have the feature but it&#039;ll suck.&quot; But honestly, the more I do that, the less I think it was a good idea. I&#039;ve had so much trouble caused by allowing those things--particularly bugs and incomplete features that users complain about--that I&#039;m really disinclined to ever do it again.

  -Max</description>
		<content:encoded><![CDATA[<p>Hey Casper! I have seen the same thing happen. At least caring about design, and noticing that patches and workarounds are moving away from it, that&#8217;s commendable.</p>
<p>  Now, I too have seen situations where people said that doing things the right way wasn&#8217;t practically or economically feasible. But somehow a re-write (more effort later) is?</p>
<p>  In commercial environments (and a little bit in open-source environments), there&#8217;s also a big push to &#8220;stay competitive.&#8221; That is, to make sure that you have the same or better features than your competitors. Sadly, that&#8217;s all too often just measured by the size of the feature list, and not by the quality of each individual feature in the product. Shipping a little later than your competitor with a better product isn&#8217;t actually harmful to business. Shipping <em>years</em> later (witness IE7 and Vista) is, but it&#8217;s not usually gold-plating that causes years of lateness. It&#8217;s re-writing that does.</p>
<p>  As far as being called a gold-plating perfectionist, people who say that are probably the types who can&#8217;t see beyond lunch. They&#8217;re also often the types who don&#8217;t want to stand away from the computer for even a few minutes to think about a design. That&#8217;s one reason why design shouldn&#8217;t be a democracy. Design should really be a dictatorship, and anybody who doesn&#8217;t understand it (and would rather do things the wrong way, often out of ignorance) should be forced to implement it. And actually, usually what happens is when you force them, after about two years they start to understand why you did it and what&#8217;s important about it, at least a tiny bit.</p>
<p>  There have been times with Bugzilla that I&#8217;ve compromised, I will say that. But it was because all our contributors are volunteers, and I had to make the decision: &#8220;If I tell them to fix this, they won&#8217;t, and then we won&#8217;t have the feature at all. If I let it in as-is, we&#8217;ll have the feature but it&#8217;ll suck.&#8221; But honestly, the more I do that, the less I think it was a good idea. I&#8217;ve had so much trouble caused by allowing those things&#8211;particularly bugs and incomplete features that users complain about&#8211;that I&#8217;m really disinclined to ever do it again.</p>
<p>  -Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Casper Bang</title>
		<link>http://www.codesimplicity.com/post/design-from-the-start/comment-page-1/#comment-477</link>
		<dc:creator>Casper Bang</dc:creator>
		<pubDate>Fri, 15 Aug 2008 19:13:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=43#comment-477</guid>
		<description>Max, interesting post. No matter how much design you do, users will always sneak in requests and features which ends up as patches and workarounds. Eventually you start to see more and more regressions and a major refactoring or perhaps even redesign is called for. This is the single most difficult (but also fascinating) aspect of software design.

I am going to guess I am not the only one who tried adding to an application with a bad feeling that this is just the wrong way. However, the right way is often just not practically or economically feasible for the time being so you go along with it. So I am afraid I for one am not worthy of your congratulations, having had to do big-bang rewrites as I got smarter, several times in my career. Also it is not uncommon to be characterized by colleagues as a gold plating perfectionist and, like it or not, the best feature of a peace of software is being able to ship it.</description>
		<content:encoded><![CDATA[<p>Max, interesting post. No matter how much design you do, users will always sneak in requests and features which ends up as patches and workarounds. Eventually you start to see more and more regressions and a major refactoring or perhaps even redesign is called for. This is the single most difficult (but also fascinating) aspect of software design.</p>
<p>I am going to guess I am not the only one who tried adding to an application with a bad feeling that this is just the wrong way. However, the right way is often just not practically or economically feasible for the time being so you go along with it. So I am afraid I for one am not worthy of your congratulations, having had to do big-bang rewrites as I got smarter, several times in my career. Also it is not uncommon to be characterized by colleagues as a gold plating perfectionist and, like it or not, the best feature of a peace of software is being able to ship it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

