<?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: Depend in the direction of stability</title>
	<atom:link href="http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/</link>
	<description>adventures in extreme programming</description>
	<lastBuildDate>Thu, 15 Jul 2010 11:34:19 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: rob</title>
		<link>http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/comment-page-1/#comment-1956</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Fri, 15 May 2009 11:09:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.robbowley.net/?p=474#comment-1956</guid>
		<description>Among other places I referred to the c2wiki which suggests this is not always the case:
http://c2.com/cgi/wiki?StableDependenciesPrinciple

Not a reliable source I suppose...</description>
		<content:encoded><![CDATA[<p>Among other places I referred to the c2wiki which suggests this is not always the case:<br />
<a href="http://c2.com/cgi/wiki?StableDependenciesPrinciple" rel="nofollow">http://c2.com/cgi/wiki?StableDependenciesPrinciple</a></p>
<p>Not a reliable source I suppose&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Gorman</title>
		<link>http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/comment-page-1/#comment-1951</link>
		<dc:creator>Jason Gorman</dc:creator>
		<pubDate>Fri, 15 May 2009 09:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.robbowley.net/?p=474#comment-1951</guid>
		<description>SDP has a very well-defined meaning in so much as &quot;stability&quot; and &quot;instability&quot; have well-defined meanings in the context of package dependencies.

Instability = efferent couplings / (efferent + afferent couplings)

Stability = 1 - instability

Any other interpretation wouldn&#039;t be the SDP :-)</description>
		<content:encoded><![CDATA[<p>SDP has a very well-defined meaning in so much as &#8220;stability&#8221; and &#8220;instability&#8221; have well-defined meanings in the context of package dependencies.</p>
<p>Instability = efferent couplings / (efferent + afferent couplings)</p>
<p>Stability = 1 &#8211; instability</p>
<p>Any other interpretation wouldn&#8217;t be the SDP <img src='http://blog.robbowley.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rob</title>
		<link>http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/comment-page-1/#comment-1948</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Fri, 15 May 2009 07:54:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.robbowley.net/?p=474#comment-1948</guid>
		<description>That&#039;s one way to measure the stability of a package and a very good one because it can be measured through metrics such as Afferent and Eferrent coupling. However, in my humble understanding there are other ways. You could also identify unstable packages by checking the change logs in your source control repository or by speaking to colleagues.

I have interpreted it thus to illustrate a particular issue we are facing where we have a some &quot;mother&quot; (e.g &quot;Common&quot;, &quot;Domain&quot;) packages which all our products are using and have become a dumping ground for all and sundry. What is worse is that none of these mother packages are being versioned and used as compiled assemblies, but are being included as projects within the solutions so are being considered part of the source code for each product.

I hope, in your eyes, this is a satisfactory interpretation of the SDP.</description>
		<content:encoded><![CDATA[<p>That&#8217;s one way to measure the stability of a package and a very good one because it can be measured through metrics such as Afferent and Eferrent coupling. However, in my humble understanding there are other ways. You could also identify unstable packages by checking the change logs in your source control repository or by speaking to colleagues.</p>
<p>I have interpreted it thus to illustrate a particular issue we are facing where we have a some &#8220;mother&#8221; (e.g &#8220;Common&#8221;, &#8220;Domain&#8221;) packages which all our products are using and have become a dumping ground for all and sundry. What is worse is that none of these mother packages are being versioned and used as compiled assemblies, but are being included as projects within the solutions so are being considered part of the source code for each product.</p>
<p>I hope, in your eyes, this is a satisfactory interpretation of the SDP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Gorman</title>
		<link>http://blog.robbowley.net/2009/05/14/depend-in-the-direction-of-stability/comment-page-1/#comment-1927</link>
		<dc:creator>Jason Gorman</dc:creator>
		<pubDate>Thu, 14 May 2009 21:58:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.robbowley.net/?p=474#comment-1927</guid>
		<description>In this context, a package is said to be more stable if it has less dependencies on other packages.

If a package depends on lots of other packages, then a change to any none of these packages may force us to recompile, retest and redeploy that package. Packages that depend more on other packages are said to be more &quot;instable&quot;.

So we should favour depending on packages that have fewer dependencies on other packages (are less instable).</description>
		<content:encoded><![CDATA[<p>In this context, a package is said to be more stable if it has less dependencies on other packages.</p>
<p>If a package depends on lots of other packages, then a change to any none of these packages may force us to recompile, retest and redeploy that package. Packages that depend more on other packages are said to be more &#8220;instable&#8221;.</p>
<p>So we should favour depending on packages that have fewer dependencies on other packages (are less instable).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
