<?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: Many projects don&#8217;t lead to a good solution</title>
	<atom:link href="http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 11 Mar 2010 06:13:45 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-14294</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Mon, 04 May 2009 10:10:59 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-14294</guid>
		<description>as for the navigation... at this point i&#039;m so addicted to using CTRL+T and CTRL+SHIFT+T that i can&#039;t even consider using solution explorer for most navigation tasks

As for the number of projects... as long as there is no clear-cut benefit or reason to putting something in a different project, it&#039;s completely pointless IMO. And once your solution becomes big enough, the extra compilation time definitely comes back to bite you.</description>
		<content:encoded><![CDATA[<p>as for the navigation&#8230; at this point i&#8217;m so addicted to using CTRL+T and CTRL+SHIFT+T that i can&#8217;t even consider using solution explorer for most navigation tasks</p>
<p>As for the number of projects&#8230; as long as there is no clear-cut benefit or reason to putting something in a different project, it&#8217;s completely pointless IMO. And once your solution becomes big enough, the extra compilation time definitely comes back to bite you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Morris</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-14291</link>
		<dc:creator>Peter Morris</dc:creator>
		<pubDate>Mon, 04 May 2009 10:05:12 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-14291</guid>
		<description>Navigation: You still have the same amount of code, you are just changing project navigation with folder navigation (I presume you are using folders in your app).

Compilation: In the past I have been tempted just to reference binary output of shared libraries but didn&#039;t find a way to specify linking to difference assemblies based on the RELEASE/DEBUG build option.  Maybe I will go back to doing this but always referencing the RELEASE assembly.

I certainly don&#039;t agree with the 1 project approach though :-)</description>
		<content:encoded><![CDATA[<p>Navigation: You still have the same amount of code, you are just changing project navigation with folder navigation (I presume you are using folders in your app).</p>
<p>Compilation: In the past I have been tempted just to reference binary output of shared libraries but didn&#8217;t find a way to specify linking to difference assemblies based on the RELEASE/DEBUG build option.  Maybe I will go back to doing this but always referencing the RELEASE assembly.</p>
<p>I certainly don&#8217;t agree with the 1 project approach though <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2009-04-29 &#171; Olivier&#8217;s Blog</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-13779</link>
		<dc:creator>links for 2009-04-29 &#171; Olivier&#8217;s Blog</dc:creator>
		<pubDate>Thu, 30 Apr 2009 00:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-13779</guid>
		<description>[...] Many projects don’t lead to a good solution &#124; The Inquisitive Coder - Davy Brion’s Blog Code organization: solutions, projects (tags: .net) [...]</description>
		<content:encoded><![CDATA[<p>[...] Many projects don’t lead to a good solution | The Inquisitive Coder &#8211; Davy Brion’s Blog Code organization: solutions, projects (tags: .net) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-11289</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Sat, 04 Apr 2009 13:10:08 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-11289</guid>
		<description>@KitKatRobins

proper release management and branching avoids that, and a host of other potential issues as well</description>
		<content:encoded><![CDATA[<p>@KitKatRobins</p>
<p>proper release management and branching avoids that, and a host of other potential issues as well</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KitkatRobins</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-11288</link>
		<dc:creator>KitkatRobins</dc:creator>
		<pubDate>Sat, 04 Apr 2009 13:03:34 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-11288</guid>
		<description>What happens if you have multiple developers working on a project, you have a bug to fix for a module e.g. News Module, so you need to do a delivery of the code if the project is one assembly you might bring in changes which another developer has done but is not a complete feature. If you just release the assembly with the fix in it then only that part is updated... which is a huge benefit</description>
		<content:encoded><![CDATA[<p>What happens if you have multiple developers working on a project, you have a bug to fix for a module e.g. News Module, so you need to do a delivery of the code if the project is one assembly you might bring in changes which another developer has done but is not a complete feature. If you just release the assembly with the fix in it then only that part is updated&#8230; which is a huge benefit</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Assembly Organization in MEF - Leaning Into Windows</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-10188</link>
		<dc:creator>Assembly Organization in MEF - Leaning Into Windows</dc:creator>
		<pubDate>Fri, 20 Mar 2009 17:16:57 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-10188</guid>
		<description>[...] are a few blog posts including this by Chad Myers and this by Davy Brion that speak disparagingly about solutions with many projects. I do not actually agree with either [...]</description>
		<content:encoded><![CDATA[<p>[...] are a few blog posts including this by Chad Myers and this by Davy Brion that speak disparagingly about solutions with many projects. I do not actually agree with either [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elegant Code &#187; Tired Of Working With Big Visual Studio Solutions?</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-7071</link>
		<dc:creator>Elegant Code &#187; Tired Of Working With Big Visual Studio Solutions?</dc:creator>
		<pubDate>Mon, 29 Dec 2008 00:36:32 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-7071</guid>
		<description>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</description>
		<content:encoded><![CDATA[<p>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Tired Of Working With Big Visual Studio Solutions?</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-7070</link>
		<dc:creator>The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Tired Of Working With Big Visual Studio Solutions?</dc:creator>
		<pubDate>Mon, 29 Dec 2008 00:28:47 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-7070</guid>
		<description>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</description>
		<content:encoded><![CDATA[<p>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elegant Code &#187; Assembly Partioning Advice</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-6117</link>
		<dc:creator>Elegant Code &#187; Assembly Partioning Advice</dc:creator>
		<pubDate>Mon, 08 Dec 2008 11:59:42 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-6117</guid>
		<description>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</description>
		<content:encoded><![CDATA[<p>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Assembly Partioning Advice</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-6114</link>
		<dc:creator>The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Assembly Partioning Advice</dc:creator>
		<pubDate>Mon, 08 Dec 2008 11:35:51 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-6114</guid>
		<description>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</description>
		<content:encoded><![CDATA[<p>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Weekly Links #10 &#124; GrantPalin.com</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-811</link>
		<dc:creator>Weekly Links #10 &#124; GrantPalin.com</dc:creator>
		<pubDate>Mon, 21 Jul 2008 16:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-811</guid>
		<description>[...] Many projects don’t lead to a good solution Response to above link. [...]</description>
		<content:encoded><![CDATA[<p>[...] Many projects don’t lead to a good solution Response to above link. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-767</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Sat, 19 Jul 2008 11:21:09 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-767</guid>
		<description>@Colin:

About the navigation... i think it really depends on a lot of things. i wouldn&#039;t just use a couple of top-level folders and put everything directly underneith them either. I pretty much go with top level folders for everything that most people would use different projects for and then i probably have a similar folder structure as most people would have. I just find it a lot easier to have it all within the same project. It&#039;s probably just me though ;)

As for reuse, i agree that once you want to reuse certain parts that would be a valid reason to put those parts in a separate project. I don&#039;t think it should be a rule though... if there&#039;s an advantage to splitting it up for reuse then by all means do so. If there&#039;s really no disadvantage to referencing an entire assembly just to reuse a couple of classes, then i don&#039;t really see the point in splitting it up either. It&#039;s something you should look at on a case by case basis probably

the layer per assembly thing... i still don&#039;t see the point as the whole &quot;it&#039;s cleaner&quot; argument just seems purely theoretical to me. As long as there is no practical advantage, i don&#039;t see the point.  Obviously, this changes when you have multiple physical deployments, but if that&#039;s not the case, why bother?


@LukeB:

Wouldn&#039;t the client&#039;s application have to be restarted anyway before the fixed assembly would be used by the application? It might as well be just one assembly then

Unless you ment updating a server-side assembly without affecting client downtime, but then you&#039;d already be using different assemblies anyway :)</description>
		<content:encoded><![CDATA[<p>@Colin:</p>
<p>About the navigation&#8230; i think it really depends on a lot of things. i wouldn&#8217;t just use a couple of top-level folders and put everything directly underneith them either. I pretty much go with top level folders for everything that most people would use different projects for and then i probably have a similar folder structure as most people would have. I just find it a lot easier to have it all within the same project. It&#8217;s probably just me though <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>As for reuse, i agree that once you want to reuse certain parts that would be a valid reason to put those parts in a separate project. I don&#8217;t think it should be a rule though&#8230; if there&#8217;s an advantage to splitting it up for reuse then by all means do so. If there&#8217;s really no disadvantage to referencing an entire assembly just to reuse a couple of classes, then i don&#8217;t really see the point in splitting it up either. It&#8217;s something you should look at on a case by case basis probably</p>
<p>the layer per assembly thing&#8230; i still don&#8217;t see the point as the whole &#8220;it&#8217;s cleaner&#8221; argument just seems purely theoretical to me. As long as there is no practical advantage, i don&#8217;t see the point.  Obviously, this changes when you have multiple physical deployments, but if that&#8217;s not the case, why bother?</p>
<p>@LukeB:</p>
<p>Wouldn&#8217;t the client&#8217;s application have to be restarted anyway before the fixed assembly would be used by the application? It might as well be just one assembly then</p>
<p>Unless you ment updating a server-side assembly without affecting client downtime, but then you&#8217;d already be using different assemblies anyway <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Pierce</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-760</link>
		<dc:creator>Bill Pierce</dc:creator>
		<pubDate>Fri, 18 Jul 2008 19:14:59 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-760</guid>
		<description>Intellectual Masturbation Syndrome...almost fell out of my chair laughing.  I used to reach Intellectual Climax on a regular basis but have since come around to as few projects as possible.  Two to five sounds about right.  I too have almost never re-used any code I have written across applications.  When I need to I will create a Bill.Commons project but until then I&#039;ll stick with the CCCV Pattern for the small amount of code I re-use.</description>
		<content:encoded><![CDATA[<p>Intellectual Masturbation Syndrome&#8230;almost fell out of my chair laughing.  I used to reach Intellectual Climax on a regular basis but have since come around to as few projects as possible.  Two to five sounds about right.  I too have almost never re-used any code I have written across applications.  When I need to I will create a Bill.Commons project but until then I&#8217;ll stick with the CCCV Pattern for the small amount of code I re-use.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-756</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Fri, 18 Jul 2008 15:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-756</guid>
		<description>Just re-read, when I said &quot;I don’t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in&quot; I meant &quot;reuse the parts&quot;.

Got projects on the brain today.</description>
		<content:encoded><![CDATA[<p>Just re-read, when I said &#8220;I don’t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in&#8221; I meant &#8220;reuse the parts&#8221;.</p>
<p>Got projects on the brain today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LukeB</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-755</link>
		<dc:creator>LukeB</dc:creator>
		<pubDate>Fri, 18 Jul 2008 15:32:36 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-755</guid>
		<description>Just remember, however, that it becomes impossible to patch your installation if everything is one big assembly. Depending on client requirements (especially downtime requirements) patching (via MSI) a single assembly to fix a bug can be very useful.</description>
		<content:encoded><![CDATA[<p>Just remember, however, that it becomes impossible to patch your installation if everything is one big assembly. Depending on client requirements (especially downtime requirements) patching (via MSI) a single assembly to fix a bug can be very useful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-754</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Fri, 18 Jul 2008 15:24:09 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-754</guid>
		<description>Here&#039;s my issues with the less projects discussion:

 1) Less project doesn&#039;t really, in my experience, lead to easy navigation on a large project. You just end up with more folders and more folder hierarchy which mean that related classes spread out more. So if you keep all your domain classes in a folder then that folder will be large or have a lot of hierarchy, do the same with other aspects of the codebase (controllers, views, factories, config...) you end up navigating around a lot anyway.
 2) Less project is faster - Agreed, but then by splitting things out into small(er) coherent chunks you can include just what you need in the solution. I don&#039;t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in. Also I think Michael Feathers had an interesting point on this in his book, where you only depend on an interface and as long as the implementation doesn&#039;t change you don&#039;t need to rebuild.
 3) Reuse - I haven&#039;t experienced people moving things out for future reuse but I agree that&#039;s bad, however in my experience reuse happens a lot and thats definitely a place where more targetted projects help.
 4) Layer Per Assembly - I agree, basically, with that approach and its not about trust, I&#039;d do it working on my own as I just find it far cleanrer.

Anyway I&#039;m not overly happy with a lot of projects but one project doesn&#039;t fit my needs either (reuse/dependencies/navigation) so I&#039;m really wondering if we need a more virtualized view. Folders/projects providing one view of our development efforts just doesn&#039;t seem enough...</description>
		<content:encoded><![CDATA[<p>Here&#8217;s my issues with the less projects discussion:</p>
<p> 1) Less project doesn&#8217;t really, in my experience, lead to easy navigation on a large project. You just end up with more folders and more folder hierarchy which mean that related classes spread out more. So if you keep all your domain classes in a folder then that folder will be large or have a lot of hierarchy, do the same with other aspects of the codebase (controllers, views, factories, config&#8230;) you end up navigating around a lot anyway.<br />
 2) Less project is faster &#8211; Agreed, but then by splitting things out into small(er) coherent chunks you can include just what you need in the solution. I don&#8217;t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in. Also I think Michael Feathers had an interesting point on this in his book, where you only depend on an interface and as long as the implementation doesn&#8217;t change you don&#8217;t need to rebuild.<br />
 3) Reuse &#8211; I haven&#8217;t experienced people moving things out for future reuse but I agree that&#8217;s bad, however in my experience reuse happens a lot and thats definitely a place where more targetted projects help.<br />
 4) Layer Per Assembly &#8211; I agree, basically, with that approach and its not about trust, I&#8217;d do it working on my own as I just find it far cleanrer.</p>
<p>Anyway I&#8217;m not overly happy with a lot of projects but one project doesn&#8217;t fit my needs either (reuse/dependencies/navigation) so I&#8217;m really wondering if we need a more virtualized view. Folders/projects providing one view of our development efforts just doesn&#8217;t seem enough&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dew Drop - July 18, 2008 &#124; Alvin Ashcraft's Morning Dew</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-753</link>
		<dc:creator>Dew Drop - July 18, 2008 &#124; Alvin Ashcraft's Morning Dew</dc:creator>
		<pubDate>Fri, 18 Jul 2008 14:49:05 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-753</guid>
		<description>[...] Many Projects Don&#8217;t Lead to a Good Solution (Davy Brion) [...]</description>
		<content:encoded><![CDATA[<p>[...] Many Projects Don&#8217;t Lead to a Good Solution (Davy Brion) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-748</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Fri, 18 Jul 2008 05:43:49 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=174#comment-748</guid>
		<description>IMS! Nice term :-)</description>
		<content:encoded><![CDATA[<p>IMS! Nice term <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
