Exploratory study of software reuse success factors

The problem researched is that there presently does not exist a set of success factors which are common across organizations and have some predictability relationship to software reuse. For completeness, this research also investigated to see if software reuse had a predictive relationship to productivity and quality. A literature search was conducted to identify a set of software reuse success factors. The individual success factors were grouped into the following categories: management commitment, investment strategy, business strategy, technology transfer, organizational structure, process maturity, product-line approach, software architecture, availability of components, and quality of components. A questionnaire was developed to measure software reuse capability, productivity, quality, and the set of software reuse success factors. A survey was conducted to determine the state-of-the-practice. The data from the survey was statistically analyzed to evaluate the relationships among software reuse capability, productivity, quality, and the individual software reuse success factors. The results of the analysis showed some of the success factors to have a predictive relationship to software reuse capability. Software reuse capability also had a predictive relationship to productivity and quality. Based on the research results, the leading indicators of software reuse capability are: (1) product-line approach, (2) architecture which standardizes interfaces and data formats, (3) common software architecture across the product-line, (4) design for manufacturing approach, (5) domain engineering, (6) reuse process, (7) management which understands reuse issues, (8) software reuse advocate(s) in senior management, (9) state-of-the-art reuse tools and methods, (10) precedence of reusing high level software artifacts such as requirements and design versus just code reuse, and (11) trace end-user requirements to the components (systems, subsystems, and/or software modules) which support them.