-The reapplication of a variety of kinds of knowledge about one system to another similar in order to reduce the effort of development or maintenance of that other systems
-Productivity can be increased by software reuse
-Software reuse can bring about a significant reduction in maintenance costs