This document discusses code reuse and reusability in software development. It defines code reuse as using existing software to create new software. Reuse can reduce costs and improve software quality by reusing code, structures, architectures and other components from one application to another. The document reviews literature on software metrics and reuse programs. It describes an ideal software reuse process with four components: create reusable assets, use assets to develop new products, support the asset library, and manage the overall reuse process and organization.