Have you ever heard of "framework fatigue"? This term is meant to describe the creep of hundreds of third-party frameworks into development projects. Ten years ago, there wasn't a whole lot of choice out there for Java, so the average number of third-party libraries included in a project were 1-5, but today, the average has grown to around 30. You've got Spring, Hibernate, JUnit, Struts, Commons, TestNG, Joda, Unitils, DBUnit, iBatis just to name a few in the Java space and each of these have dependencies on other libraries and those have dependencies on others. While I don't think that choice is a bad thing, and while I tend to use 20-30 third-party libraries in a project, I do think that there have been certain side effects of this that have been detrimental to technology. I am going to address what I think is the biggest from an administration perspective.