For many Java teams, switching to Maven will introduce them to formal dependency management. Maven actually does a pretty decent job and is a fantastic system out of the box for informal projects. However, for teams looking to implement rigorous component reuse policies, Maven falls short.
Last month, in our article Chaperoning Promiscuous Software Reuse, we reviewed four elements of a successful strategy for managing components. Briefly, these elements are:
- Testing and Validation of 3rd party components Only libraries approved for reuse should be used by developers. If developers want to use additional libraries, they can submit them for screening.
- A Definitive Software Library: A team should have an official storage place for reusable, versioned components (both internal and 3rd party).
- Using Protection: A team should have an “immune system” that rejects libraries other than those from the DSL.
- Rapid impact analysis audit When something goes wrong, it should be easy to determine what versions of which components were used by the project. Continue reading
