<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Maybe Software Development IS Like Building a House</title>
	<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/</link>
	<description>Just A Thought...on Ajax, usability, software development and anything else that catches my fancy.</description>
	<pubDate>Mon, 06 Oct 2008 19:36:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: ntschutta.com &#187; Blog Archive &#187; Dateility</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-64415</link>
		<dc:creator>ntschutta.com &#187; Blog Archive &#187; Dateility</dc:creator>
		<pubDate>Thu, 03 Jul 2008 01:51:37 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-64415</guid>
		<description>[...] a little time, but odds are we&#8217;ve cost ourselves significantly more in the long run. When building a house or a bridge, the consequences of shortened schedules are easy to see; with software, it&#8217;s [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] a little time, but odds are we&#8217;ve cost ourselves significantly more in the long run. When building a house or a bridge, the consequences of shortened schedules are easy to see; with software, it&#8217;s [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ntschutta.com &#187; Blog Archive &#187; Silver Bullets</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57291</link>
		<dc:creator>ntschutta.com &#187; Blog Archive &#187; Silver Bullets</dc:creator>
		<pubDate>Sun, 10 Feb 2008 20:28:03 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57291</guid>
		<description>[...] ntschutta.com Just A Thought&#8230;on Ajax, usability, software development and anything else that catches my fancy.      &#171; Maybe Software Development IS Like Building a House [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] ntschutta.com Just A Thought&#8230;on Ajax, usability, software development and anything else that catches my fancy.      &laquo; Maybe Software Development IS Like Building a House [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57289</link>
		<dc:creator>Nate</dc:creator>
		<pubDate>Sun, 10 Feb 2008 20:21:02 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57289</guid>
		<description>Dave,

Sorry I stole your topic ;) it wasn't deliberate! I sure hope you jump into the fray - the blogosphere can sure use more reasoned voices. I think those that abuse the construction analogy underestimate just how much "guess work" there really is in building a house (or any custom structure.) As you state, there's the overall architecture but when push comes to shove, the craftsmen have to make a lot of decisions...just like those of us building software. Gee, there's more to this than I thought!

Boston was great - a short trip with a VERY early wakeup call but I had a blast. Thanks for your comments!</description>
		<content:encoded><![CDATA[<p>Dave,</p>
<p>Sorry I stole your topic <img src='http://ntschutta.com/jat/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> it wasn&#8217;t deliberate! I sure hope you jump into the fray - the blogosphere can sure use more reasoned voices. I think those that abuse the construction analogy underestimate just how much &#8220;guess work&#8221; there really is in building a house (or any custom structure.) As you state, there&#8217;s the overall architecture but when push comes to shove, the craftsmen have to make a lot of decisions&#8230;just like those of us building software. Gee, there&#8217;s more to this than I thought!</p>
<p>Boston was great - a short trip with a VERY early wakeup call but I had a blast. Thanks for your comments!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57288</link>
		<dc:creator>Nate</dc:creator>
		<pubDate>Sun, 10 Feb 2008 20:00:45 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57288</guid>
		<description>Pete,

Thanks for the insightful comment - you've hit on some key issues there. I've seen so many projects fail because they didn't deliver that business value early...they just spun on and on. Your point about risks resonates as well - it amazes me that customers and managers continue to cling to what is arguably a much riskier approach to developing software (and one that has a very poor track record of success I might add.) BTW, are you, by chance, the Pete named in &lt;a href="http://media.pragprog.com/articles/sep_04_imaginate.pdf" rel="nofollow"&gt;Imaginate&lt;/a&gt;?</description>
		<content:encoded><![CDATA[<p>Pete,</p>
<p>Thanks for the insightful comment - you&#8217;ve hit on some key issues there. I&#8217;ve seen so many projects fail because they didn&#8217;t deliver that business value early&#8230;they just spun on and on. Your point about risks resonates as well - it amazes me that customers and managers continue to cling to what is arguably a much riskier approach to developing software (and one that has a very poor track record of success I might add.) BTW, are you, by chance, the Pete named in <a href="http://media.pragprog.com/articles/sep_04_imaginate.pdf" rel="nofollow">Imaginate</a>?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Here&#8217;s how you find something interesting &#171; Dryland&#8217;s Note</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57215</link>
		<dc:creator>Here&#8217;s how you find something interesting &#171; Dryland&#8217;s Note</dc:creator>
		<pubDate>Fri, 08 Feb 2008 19:04:56 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57215</guid>
		<description>[...] Raganwald links for 02-05 &#8212;-&#62; Maybe Software Development IS Like Building a House [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Raganwald links for 02-05 &#8212;-&gt; Maybe Software Development IS Like Building a House [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Klein</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57153</link>
		<dc:creator>Dave Klein</dc:creator>
		<pubDate>Wed, 06 Feb 2008 22:18:40 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57153</guid>
		<description>Don’t doubt yourself. I think the construction analogy is still appropriate and sometimes even helpful.  It’s the engineering analogy that has always been misplaced and troublesome, in my opinion.  The example you give is, I believe, the best one for most software development projects.  The building of a custom house (or other building) is an excellent analogy to a custom software project.  There are engineering principles involved, but you wouldn’t refer to your average home builder as an “engineer”.  There are pre-built components that can be used.  There is an overall architecture. There is a more detailed design.  The construction process uses engineering principles and standardized tools to implement that detailed design while staying within the boundaries set out by the architecture.  Most of the work that is done while building a home is the same as the work that was done for the last one, but the outcome is unique and the problems that arise are also.  

Then there is your point.  Home construction, just like software, can be done following an agile or waterfall methodology.  Obviously, home construction can’t be quite as agile as software.  As Neal points out the manufacturing costs of software are much lower which means the cost of change is lower.  But the principles are still the same.  The cost of change increases the later the change is made.  How much more would it have cost if you didn’t catch that plumber in time?  Rapid feedback and flexibility are just as valuable in home construction as they are in software development.

So, I agree with you 100% but I am miffed at you for posting this.  Just yesterday I was thinking of finally getting into this blogging thing  (realizing that in our industry if you don’t blog you don’t exist) and I was going to write about this in my very first post.  Now I’m going to have to wait until I get another interesting thought.  Who knows how long that will be?  

Anyhow, great post.  Have a good time in Boston.  

Dave</description>
		<content:encoded><![CDATA[<p>Don’t doubt yourself. I think the construction analogy is still appropriate and sometimes even helpful.  It’s the engineering analogy that has always been misplaced and troublesome, in my opinion.  The example you give is, I believe, the best one for most software development projects.  The building of a custom house (or other building) is an excellent analogy to a custom software project.  There are engineering principles involved, but you wouldn’t refer to your average home builder as an “engineer”.  There are pre-built components that can be used.  There is an overall architecture. There is a more detailed design.  The construction process uses engineering principles and standardized tools to implement that detailed design while staying within the boundaries set out by the architecture.  Most of the work that is done while building a home is the same as the work that was done for the last one, but the outcome is unique and the problems that arise are also.  </p>
<p>Then there is your point.  Home construction, just like software, can be done following an agile or waterfall methodology.  Obviously, home construction can’t be quite as agile as software.  As Neal points out the manufacturing costs of software are much lower which means the cost of change is lower.  But the principles are still the same.  The cost of change increases the later the change is made.  How much more would it have cost if you didn’t catch that plumber in time?  Rapid feedback and flexibility are just as valuable in home construction as they are in software development.</p>
<p>So, I agree with you 100% but I am miffed at you for posting this.  Just yesterday I was thinking of finally getting into this blogging thing  (realizing that in our industry if you don’t blog you don’t exist) and I was going to write about this in my very first post.  Now I’m going to have to wait until I get another interesting thought.  Who knows how long that will be?  </p>
<p>Anyhow, great post.  Have a good time in Boston.  </p>
<p>Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pages tagged "acceptance"</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57114</link>
		<dc:creator>Pages tagged "acceptance"</dc:creator>
		<pubDate>Wed, 06 Feb 2008 06:22:38 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57114</guid>
		<description>[...] bookmarks tagged acceptance   Maybe Software Development IS Like Building a Hous...&#160;saved by 5 others  &#160;&#160;&#160;&#160;ZombiesAteMyParents bookmarked on 02/06/08 &#124; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] bookmarks tagged acceptance   Maybe Software Development IS Like Building a Hous&#8230;&nbsp;saved by 5 others  &nbsp;&nbsp;&nbsp;&nbsp;ZombiesAteMyParents bookmarked on 02/06/08 | [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete Ruth</title>
		<link>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57111</link>
		<dc:creator>Pete Ruth</dc:creator>
		<pubDate>Wed, 06 Feb 2008 05:22:16 +0000</pubDate>
		<guid>http://ntschutta.com/jat/2008/02/05/maybe-software-development-is-like-building-a-house/#comment-57111</guid>
		<description>Great post. I started building software like contractors build homes in 1972, using a general-purpose system framework and customizable reusable components and a collaborative process very similar to today's agile methods and incremental/iterational processes. That approach evolved into a generative component-based development process in about 1978, and I've been using it ever since. This combination of approaches affords a great deal of flexibility in terms the development process, and estimating the associated project cost and schedule. This enables working software to be built and reviewed in near real-time. The basic premise is to do the most challenging or important stuff first, transfer the most business value to the users as quickly as possible and identify problems as early as possible to mimimize costs. The generative part produces 75-90% of the total system code automatically; the rest is related to the code that differentiates one application from another, or modifications to the existing components to satisfy unique module requirements. The key to this approach is the degree of "granularity" of the component templates: too fine, and keeping track of everything becomes increasingly difficult as the application grows, too coarse and the number of modifications to generated components increases. Another benefit of the generative process is that multiple approaches to building the application may be explored in parallel with little risk. Modularization at this level enables specific functionality to be "localized", yielding substantial post-deployment benefits, like improved sustainabilily and extendability. (Some of the systems built this way have outlasted the platforms on which they were implemented several times over). These factors may provide extremely good TCO figures. The bottom line is this: being able to create bullet-proof custom applications in a fraction of the time and cost of other methods means that that risks typically associated with software development are substantially reduced, and payback comes much earlier. 

Thanks again for an interesting post.</description>
		<content:encoded><![CDATA[<p>Great post. I started building software like contractors build homes in 1972, using a general-purpose system framework and customizable reusable components and a collaborative process very similar to today&#8217;s agile methods and incremental/iterational processes. That approach evolved into a generative component-based development process in about 1978, and I&#8217;ve been using it ever since. This combination of approaches affords a great deal of flexibility in terms the development process, and estimating the associated project cost and schedule. This enables working software to be built and reviewed in near real-time. The basic premise is to do the most challenging or important stuff first, transfer the most business value to the users as quickly as possible and identify problems as early as possible to mimimize costs. The generative part produces 75-90% of the total system code automatically; the rest is related to the code that differentiates one application from another, or modifications to the existing components to satisfy unique module requirements. The key to this approach is the degree of &#8220;granularity&#8221; of the component templates: too fine, and keeping track of everything becomes increasingly difficult as the application grows, too coarse and the number of modifications to generated components increases. Another benefit of the generative process is that multiple approaches to building the application may be explored in parallel with little risk. Modularization at this level enables specific functionality to be &#8220;localized&#8221;, yielding substantial post-deployment benefits, like improved sustainabilily and extendability. (Some of the systems built this way have outlasted the platforms on which they were implemented several times over). These factors may provide extremely good TCO figures. The bottom line is this: being able to create bullet-proof custom applications in a fraction of the time and cost of other methods means that that risks typically associated with software development are substantially reduced, and payback comes much earlier. </p>
<p>Thanks again for an interesting post.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
