Success and Failure Factors in Software Reuse

This paper aims at identifying some of the key factors in adopting or running a company-wide software reuse program. Key factors are derived from empirical evidence of reuse practices, as emerged from a survey of projects for the introduction of reuse in European companies: 24 such projects performed from 1994 to 1997 were analyzed using structured interviews. The projects were undertaken in both large and small companies, working in a variety of business domains, and using both object-oriented and procedural development approaches. Most of them produce software with high commonality between applications, and have at least reasonably mature processes. Despite that apparent potential for success, around one-third of the projects failed. Three main causes of failure were not introducing reuse-specific processes, not modifying nonreuse processes, and not considering human factors. The root cause was a lack of commitment by top management, or nonawareness of the importance of those factors, often coupled with the belief that using the object-oriented approach or setting up a repository seamlessly is all that is necessary to achieve success in reuse. Conversely, successes were achieved when, given a potential for reuse because of commonality among applications, management committed to introducing reuse processes, modifying nonreuse processes, and addressing human factors.

[1]  Christopher J. Fox,et al.  Quality Improvement Using A Software Reuse Failure Modes Model , 1996, IEEE Trans. Software Eng..

[2]  A. Ambainis,et al.  1.1 Background , 1995 .

[3]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.

[4]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[5]  Rebecca Joos Software reuse at Motorola , 1994, IEEE Software.

[6]  Jeffrey S. Poulin,et al.  Technical opinion: reuse: been there, done that , 1999, CACM.

[7]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[8]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[9]  Susan Wiedenbeck,et al.  Empirical studies of software engineering , 2004, Int. J. Hum. Comput. Stud..

[10]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[11]  J. Bradford Kain Pragmatics of reuse in the enterprise: we want it; we need it; but how do we do it? , 1994 .

[12]  David N. Card,et al.  Why do so many reuse programs fail? , 1994, IEEE Software.

[13]  Nam-Yong Lee,et al.  An Empirical Study of Software Reuse with Special Attention to Ada , 1997, IEEE Trans. Software Eng..

[14]  M. Paci,et al.  Software Evolution and Reuse , 1997 .

[15]  David C. Rine,et al.  Investments in reusable software. A study of software reuse investment success factors , 1998, J. Syst. Softw..

[16]  Martin L. Griss,et al.  Software Reuse: From Library to Factory , 1993, IBM Syst. J..

[17]  Maurizio Morisio,et al.  Diversity in Reuse Processes , 2000, IEEE Softw..

[18]  Chris F. Kemerer,et al.  Object Technology and Reuse: Lessons from Early Adopters , 1997, Computer.

[19]  Danielle Fafchamps Organizational factors and reuse , 1994, IEEE Software.

[20]  Jeffrey S. Poulin,et al.  Populating software repositories: Incentives and domain-specific software , 1995, J. Syst. Softw..

[21]  Ivar Jacobson,et al.  Panel: Systematic Software Reuse - Objects and Frameworks are not Enough. , 1995 .

[22]  Will Tracz,et al.  Confessions of a used-program salesman: lessons learned , 1995, SSR '95.

[23]  Svein Hallsteinsen,et al.  Experiences in Software Evolution and Reuse , 1997, Research Reports Esprit.

[24]  Christopher J. Fox,et al.  Sixteen questions about software reuse , 1995, CACM.

[25]  Jeffrey S. Poulin Reuse: Been There, Done That , 1999 .

[26]  Adam A. Porter,et al.  Empirically guided software development using metric-based classification trees , 1990, IEEE Software.

[27]  Sadahiro Isoda,et al.  Experiences of a software reuse project , 1995, J. Syst. Softw..

[28]  O. Arshad,et al.  Measuring software reuse , 2002, IEEE Students Conference, ISCON '02. Proceedings..

[29]  Dauid F. Percy Cluster Analysis (3rd Edition) , 1994 .

[30]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[31]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[32]  Martin L. Griss,et al.  Making Reuse Work At Hewlett-Packard , 1995, IEEE Softw..

[33]  Wayne C. Lim,et al.  Effects of reuse on quality, productivity, and economics , 1994, IEEE Software.