<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Dependencies are In</title>
	<link>http://jbrugge.com/blog/2006/06/09/dependencies-are-in/</link>
	<description>this and that and some of those</description>
	<pubDate>Wed,  7 Jan 2009 05:29:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>

	<item>
		<title>by: John</title>
		<link>http://jbrugge.com/blog/2006/06/09/dependencies-are-in/#comment-7</link>
		<pubDate>Wed, 05 Jul 2006 18:11:05 +0000</pubDate>
		<guid>http://jbrugge.com/blog/2006/06/09/dependencies-are-in/#comment-7</guid>
					<description>Neeraj,

Thanks for the pointer to the OOPSLA paper. It looks like a good description of the process, and an example to boot. I'll have to give it a read.

Thanks,
John</description>
		<content:encoded><![CDATA[<p>Neeraj,</p>
<p>Thanks for the pointer to the OOPSLA paper. It looks like a good description of the process, and an example to boot. I&#8217;ll have to give it a read.</p>
<p>Thanks,<br />
John
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Neeraj Sangal</title>
		<link>http://jbrugge.com/blog/2006/06/09/dependencies-are-in/#comment-6</link>
		<pubDate>Wed, 05 Jul 2006 02:34:14 +0000</pubDate>
		<guid>http://jbrugge.com/blog/2006/06/09/dependencies-are-in/#comment-6</guid>
					<description>Sorry for the belated response, as I just happened to chance upon your blog now. I co-authored the paper at OOPSLA 2005 where we proposed the use of Dependency Structure Matrix (DSM) for the explicit management of dependencies in complex software. (http://sdg.lcs.mit.edu/pubs/2005/oopsla05-dsm.pdf)

There are significant benefits of DSMs over conventional approaches: They scale exceptionally well; we have created dependency models for system with more than 20,000 elements without any problems. They allow you to create a precise big picture view of the architecture that is easy to understand. They allow you to focus in on the dependencies that are problematic very quickly. And they allow you to specify dependency rules in a succint way that allows you to maintain the integrity of the architecture over its life cycle.

Note that some problematic dependencies are easy to fix. For instance, problematic static dependencies are generally easier to fix than others.  Sometimes they can even be fixed by moving files or changing namespaces. However, there are also dependencies that are hard to fix but often those are the ones that highlight critical architectural flaws. The problematic dependencies don't have to be fixed but knowing what they are allows the architecture to be improved over time. Finally, the benefits of visibility extend even to systems which are already modular and well architected through better understanding of the impact of change.

Originally DSMs were applied in the task and organization domains. We have applied this approach to software in Java, C/C++, .NET and Oracle.  This could be considered a partial vindication of the generality of this approach. I do know of many architects who are happily using this approach. However, I suggest that you try it out and then you can decide if these tools are at a level that an architect would or could use.

Neeraj Sangal
Lattix, Inc.</description>
		<content:encoded><![CDATA[<p>Sorry for the belated response, as I just happened to chance upon your blog now. I co-authored the paper at OOPSLA 2005 where we proposed the use of Dependency Structure Matrix (DSM) for the explicit management of dependencies in complex software. (http://sdg.lcs.mit.edu/pubs/2005/oopsla05-dsm.pdf)</p>
<p>There are significant benefits of DSMs over conventional approaches: They scale exceptionally well; we have created dependency models for system with more than 20,000 elements without any problems. They allow you to create a precise big picture view of the architecture that is easy to understand. They allow you to focus in on the dependencies that are problematic very quickly. And they allow you to specify dependency rules in a succint way that allows you to maintain the integrity of the architecture over its life cycle.</p>
<p>Note that some problematic dependencies are easy to fix. For instance, problematic static dependencies are generally easier to fix than others.  Sometimes they can even be fixed by moving files or changing namespaces. However, there are also dependencies that are hard to fix but often those are the ones that highlight critical architectural flaws. The problematic dependencies don&#8217;t have to be fixed but knowing what they are allows the architecture to be improved over time. Finally, the benefits of visibility extend even to systems which are already modular and well architected through better understanding of the impact of change.</p>
<p>Originally DSMs were applied in the task and organization domains. We have applied this approach to software in Java, C/C++, .NET and Oracle.  This could be considered a partial vindication of the generality of this approach. I do know of many architects who are happily using this approach. However, I suggest that you try it out and then you can decide if these tools are at a level that an architect would or could use.</p>
<p>Neeraj Sangal<br />
Lattix, Inc.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
