<?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: Why does software development take so long?</title>
	<atom:link href="http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/</link>
	<description></description>
	<pubDate>Fri, 18 May 2012 01:03:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Matt</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-5451</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Sat, 12 Feb 2011 23:51:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-5451</guid>
		<description>It always takes so long because with each decent sized project the technologies have moved on and you have to learn how to take advantage of the new ways - if you try to apply your tried and true method of a year ago, you often end up digging yourself into a hole.  Perhaps just as importantly, each new technology has it's own suite of nuances that you need to learn to work with and pitfalls that you need to learn how to work around.</description>
		<content:encoded><![CDATA[<p>It always takes so long because with each decent sized project the technologies have moved on and you have to learn how to take advantage of the new ways - if you try to apply your tried and true method of a year ago, you often end up digging yourself into a hole.  Perhaps just as importantly, each new technology has it&#8217;s own suite of nuances that you need to learn to work with and pitfalls that you need to learn how to work around.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Encino</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3841</link>
		<dc:creator>Encino</dc:creator>
		<pubDate>Thu, 25 Jun 2009 04:23:07 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3841</guid>
		<description>Look at some of the things you listed, some of it just came out months ago! Every time we code something it is like re-inventing the wheel that is why it takes so long.</description>
		<content:encoded><![CDATA[<p>Look at some of the things you listed, some of it just came out months ago! Every time we code something it is like re-inventing the wheel that is why it takes so long.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Kruger</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3573</link>
		<dc:creator>Jon Kruger</dc:creator>
		<pubDate>Tue, 31 Mar 2009 00:45:58 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3573</guid>
		<description>@joe,

I think of the membership Users table as separate from my Users table.  For one, I don't like to use Guids as my primary keys because I think it's a pain.  

The ASP.NET Users table ONLY deals with login related stuff.  So I'll have a separate Users table that looks like this:

create table Users
(
   UserId int not null primary key identity(1,1),
   MembershipUserId uniqueidentifier,
   FirstName varchar(30),
   LastName varchar(30)
)

The ASP.NET membership database comes with stored procedures for doing everything, so I should be able to just use those stored procs for all access of the membership tables.  If I absolutely had to, I can map the membership tables to entity objects pretty easily with NHibernate.

My separate Users table will get loaded with NHibernate and is my real domain object.

This may not seem like it's as "clean" of a solution as if you wrote it all from the ground up.  But this way you don't have to spend the couple of weeks writing all of this stuff yourself.  If you have a valid reason for writing it all yourself, by all means go for it.  I'm just trying to find a way to get things done faster, and using ASP.NET membership doesn't muddle things up so much (IMO) that it's not worth using.</description>
		<content:encoded><![CDATA[<p>@joe,</p>
<p>I think of the membership Users table as separate from my Users table.  For one, I don&#8217;t like to use Guids as my primary keys because I think it&#8217;s a pain.  </p>
<p>The ASP.NET Users table ONLY deals with login related stuff.  So I&#8217;ll have a separate Users table that looks like this:</p>
<p>create table Users<br />
(<br />
   UserId int not null primary key identity(1,1),<br />
   MembershipUserId uniqueidentifier,<br />
   FirstName varchar(30),<br />
   LastName varchar(30)<br />
)</p>
<p>The ASP.NET membership database comes with stored procedures for doing everything, so I should be able to just use those stored procs for all access of the membership tables.  If I absolutely had to, I can map the membership tables to entity objects pretty easily with NHibernate.</p>
<p>My separate Users table will get loaded with NHibernate and is my real domain object.</p>
<p>This may not seem like it&#8217;s as &#8220;clean&#8221; of a solution as if you wrote it all from the ground up.  But this way you don&#8217;t have to spend the couple of weeks writing all of this stuff yourself.  If you have a valid reason for writing it all yourself, by all means go for it.  I&#8217;m just trying to find a way to get things done faster, and using ASP.NET membership doesn&#8217;t muddle things up so much (IMO) that it&#8217;s not worth using.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3571</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Mon, 30 Mar 2009 23:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3571</guid>
		<description>How well would the asp.net membership integrate NHibernate. Thats my main problem with using that one particular piece. User interface elements and toolkits are interchangeable, but Users are domain level items i'd like a bit more control over.</description>
		<content:encoded><![CDATA[<p>How well would the asp.net membership integrate NHibernate. Thats my main problem with using that one particular piece. User interface elements and toolkits are interchangeable, but Users are domain level items i&#8217;d like a bit more control over.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DotNetShoutout</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3569</link>
		<dc:creator>DotNetShoutout</dc:creator>
		<pubDate>Mon, 30 Mar 2009 20:53:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3569</guid>
		<description>&lt;strong&gt;Jon Kruger’s Blog  » Blog Archive   » Why does software development take so long?...&lt;/strong&gt;

Thank you for submitting this cool story - Trackback from DotNetShoutout...</description>
		<content:encoded><![CDATA[<p><strong>Jon Kruger’s Blog  » Blog Archive   » Why does software development take so long?&#8230;</strong></p>
<p>Thank you for submitting this cool story - Trackback from DotNetShoutout&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DotNetKicks.com</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3564</link>
		<dc:creator>DotNetKicks.com</dc:creator>
		<pubDate>Mon, 30 Mar 2009 14:54:38 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3564</guid>
		<description>&lt;strong&gt;Why does software development take so long?...&lt;/strong&gt;

You've been kicked (a good thing) - Trackback from DotNetKicks.com...</description>
		<content:encoded><![CDATA[<p><strong>Why does software development take so long?&#8230;</strong></p>
<p>You&#8217;ve been kicked (a good thing) - Trackback from DotNetKicks.com&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ASP.NET MVC Archived Blog Posts, Page 1</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3550</link>
		<dc:creator>ASP.NET MVC Archived Blog Posts, Page 1</dc:creator>
		<pubDate>Mon, 30 Mar 2009 02:37:57 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3550</guid>
		<description>[...] to VoteWhy does software development take so long? (3/28/2009)Saturday, March 28, 2009 from Jon KrugerEvery year, thousands of software development projects are [...]</description>
		<content:encoded><![CDATA[<p>[...] to VoteWhy does software development take so long? (3/28/2009)Saturday, March 28, 2009 from Jon KrugerEvery year, thousands of software development projects are [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://jonkruger.com/blog/2009/03/28/why-does-software-development-take-so-long/comment-page-1/#comment-3542</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Sun, 29 Mar 2009 16:26:47 +0000</pubDate>
		<guid isPermaLink="false">http://jonkruger.com/blog/?p=113#comment-3542</guid>
		<description>Jon,

Great points all the way through.

My "however" though, is that bullet point 1, the ASP.Net Membership stuff...we had a recent project where we wanted to use that, but a client decision kept us from it. Integrating another membership app just wouldn't work. Granted that's just one case, and one I wish we didn't have to deal with.

Also, the tons of brownfield projects we seem to inherit, a lot of these decisions have been made, and we get to deal with the consequences. It seems our biggest hurdle is still "just get it done," rather than getting it done right.</description>
		<content:encoded><![CDATA[<p>Jon,</p>
<p>Great points all the way through.</p>
<p>My &#8220;however&#8221; though, is that bullet point 1, the ASP.Net Membership stuff&#8230;we had a recent project where we wanted to use that, but a client decision kept us from it. Integrating another membership app just wouldn&#8217;t work. Granted that&#8217;s just one case, and one I wish we didn&#8217;t have to deal with.</p>
<p>Also, the tons of brownfield projects we seem to inherit, a lot of these decisions have been made, and we get to deal with the consequences. It seems our biggest hurdle is still &#8220;just get it done,&#8221; rather than getting it done right.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

