In enterprise IT organizations with multiple development teams, code produced by one team is potentially useful to others. Such code could be, for example, a parser for common XML documents, a service for converting image files on the fly, or utility methods for validating key business data. (Note that I'm using the term "code" loosely to mean any sort of artifact produced by a development team, including libraries, executables, and live services.) In the interest of reducing development time and costs, enterprise architects may seek to establish a code reuse policy.
But simply declaring that "all teams should reuse code whenever possible" is not going to accomplish much. There are likely cultural barriers to remove and new incentive structures to establish to make code resuse both possible and advantageous to development teams.
To determine what specific changes are necessary in your enterprise, consider the following good excuses for not reusing enter