In converting to Ivy, we’ve learned a lot about our actual dependencies. Before, a developer would simply check in a Jar file into one of our projects. Months later, we wouldn’t know exactly which version or from where the Jar originated. Ivy forces us to be more explicit with project dependencies, and allows us to develop reports on exactly which projects are using what jars.
Our developers mostly use Eclipse for development, so we’ve been using IvyDE to manage our Ivy dependencies. IvyDE works well, but we ran into a limitation when we parameterized some of our internal dependency revisions in our Ivy files. Luckily IvyDE is open source and was very easy to add functionality to. We’ve since submitted our code back to IvyDE for others to use when parameterizing ivy files.