12 May 2010

How to convince a company to start using a dependency management system

I have tried two dependency management systems (Ivy and Maven) for personal use. I clearly see the advantage of using this. But it is long way from convincing myself to convincing a company. For a company to start using it, it must have a return of investment analysis: How much time must we spend and what do we gain?

In my experience the following things happens when using Ivy:
  • It is easier to develop since the source code is often (always?) included in the libraries
  • It is easier to release because there is a convention on how to store and upload artifacts/binaries
  • Checkouts is faster because libraries is cached and disc usage on source repository server is less.
  • It is easier to mange dependencies between own projects with clear definition of what version of project A works with what version of project B.
  • Release notes and other documentation can be published and stored along side with binarys because it all is an artifact.
  • It takes time to educate developers
  • It requires some one with experience with Ivy to setup an initial environment (ivy.xml build.xml and a local corporate server to store and cache artifacts)
  • When using Eclipse to build there will often be build errors due to poorly written plugins (will probably be better with IvyDE 2.1.0).

No comments:

Post a Comment