This is an old revision of the document!
*Reusability is the use of existing assets in some form within the software product development process; these assets are products and by-products of the software development life cycle and include code, software components, test suites, designs and documentation. The opposite concept of Reusability is leverage**, which modifies existing assets as needed to meet specific system requirements. Because reuse implies the creation of a separately maintained version of the assets[clarification needed], it is preferred over leverage.