I had a similar experience in a small code base (40 kloc). There are no °rules":
- compiled with and without a "module" in order to see it's usage
- I started from "leaf modules", modules without other dependencies
- I handled cyclic dependencies (this is a very error-prone task)
- with maven there is a great deal with documentation (reports) that can be deployed
in your CI process
- with maven you can always see what uses what both in the site both in netbeans (with a
very nice directed graph)
- with maven you can import library code in your codebase, apply source patches and
compile with your products (sometimes this is very easy sometimes it is very
difficult)
Check also Dependency Analyzer:
(source: javalobby.org)
Netbeans:
(source: zimmer428.net)