There is a pretty interesting article on a tool that guarantees your design/dependencies is up to date located here...
http://www.devx.com/opensource/Article/33729 Just thought you might be interested. You can actually enforce that components ONLY talk through well-defined apis....it prevents new developers on the team(and experienced ones) from accidentally going around an api directly to the implementation...this is just one of the many benefits I think. later