Migrating to reuse: the DesignMatcher approach

Reuse can provide major long-term benefits for software development within an organisation, in terms of cost savings and reliability. However, these benefits can only be achieved if the organisation is able to devote sufficient resources to establishing and (re)using a source of components. This paper describes an approach to establishing a source of reusable components and retrieving them during the development process, which has been designed to promote reuse while minimising the resources required of the host organisation. In order to obtain these benefits, the DesignMatcher approach is based on the principle that the developers understanding of the problem and possible solutions evolve during the design and development process. DesignMatcher works by making it easy to add design and code fragments to a design store, and offering unobtrusive suggestions for possible matching components as the new system is designed.