ACM Computing Surveys (CSUR)
Sixteen questions about software reuse
Communications of the ACM
Confessions of a used-program salesman: lessons learned
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Experiences of a software reuse project
Journal of Systems and Software - Special issue on software reuse
Populating software repositories: incentives and domain-specific software
Journal of Systems and Software - Special issue on software reuse
An Empirical Study of Software Reuse with Special Attention to Ada
IEEE Transactions on Software Engineering
Investments in reusable software. A study of software reuse investment success factors
Journal of Systems and Software
Technical opinion: reuse: been there, done that
Communications of the ACM
PuLSE: a methodology to develop software product lines
SSR '99 Proceedings of the 1999 symposium on Software reusability
Qualitative Methods in Empirical Studies of Software Engineering
IEEE Transactions on Software Engineering
Software Evolution and Reuse
Success Factors of Systematic Reuse
IEEE Software
Effects of Reuse on Quality, Productivity, and Economics
IEEE Software
Organizational Factors and Reuse
IEEE Software
IEEE Software
Why Do So Many Reuse Programs Fail?
IEEE Software
Making Reuse Work At Hewlett-Packard
IEEE Software
IEEE Software
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Quality Improvement Using A Software Reuse Failure Modes Model
IEEE Transactions on Software Engineering
Software reuse: from library to factory
IBM Systems Journal
IEEE Software
More Success and Failure Factors in Software Reuse
IEEE Transactions on Software Engineering
Comments on "More Success and Failure Factors in Software Reuse"
IEEE Transactions on Software Engineering
Assessing the cost-effectiveness of software reuse: a model for planned reuse
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
IEEE Transactions on Software Engineering
Enabling Reuse-Based Software Development of Large-Scale Systems
IEEE Transactions on Software Engineering
Two principles of end-user software engineering research
WEUSE I Proceedings of the first workshop on End-user software engineering
Adaptive reuse of libre software systems for supporting on-line collaboration
5-WOSSE Proceedings of the fifth workshop on Open source software engineering
An empirical study of developers views on software reuse in statoil ASA
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Towards an effective integrated reuse environment
Proceedings of the 5th international conference on Generative programming and component engineering
Coupling Patterns in the Effective Reuse of Open Source Software
FLOSS '07 Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development
Some Problems of Professional End User Developers
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Evaluating the adoption potential of design science efforts: The case of APSARA
Decision Support Systems
Software reuse: The Brazilian industry scenario
Journal of Systems and Software
Applying a semantic layer in a source code search tool
Proceedings of the 2008 ACM symposium on Applied computing
Overhead elimination mechanisms in real-time systems
Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications, 2004
Identifying and Improving Reusability Based on Coupling Patterns
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Opportunistic Reuse: Lessons from Scrapheap Software Development
CBSE '08 Proceedings of the 11th International Symposium on Component-Based Software Engineering
SMART: Application of a Method for Migration of Legacy Systems to SOA Environments
ICSOC '08 Proceedings of the 6th International Conference on Service-Oriented Computing
A case study comparing defect profiles of a reused framework and of applications reusing it
Empirical Software Engineering
Mining extremely small data sets with application to software reuse
Software—Practice & Experience
Automated software license analysis
Automated Software Engineering
Communications of the ACM - Amir Pnueli: Ahead of His Time
An empirical examination of application frameworks success based on technology acceptance model
Journal of Systems and Software
Is Query Reuse Potentially Harmful? Anchoring and Adjustment in Adapting Existing Database Queries
Information Systems Research
Information and Software Technology
Software reuse in agile development organizations: a conceptual management tool
Proceedings of the 2011 ACM Symposium on Applied Computing
Do software process improvements lead to ISO 9126 architectural quality factor improvement
Proceedings of the 8th international workshop on Software quality
License risks from ad hoc reuse of code from the internet
Communications of the ACM
Impact of Internal Open Source Development on Reuse: Participatory Reuse in Action
Journal of Management Information Systems
From specification to experimentation: a software component search engine architecture
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
The domain analysis concept revisited: a practical approach
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Odyssey-CCS: a change control system tailored to software reuse
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
A Bayesian network based approach for software reusability prediction
ACM SIGSOFT Software Engineering Notes
Enablers and inhibitors for speed with reuse
Proceedings of the 16th International Software Product Line Conference - Volume 1
A study of reusability, complexity, and reuse design principles
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Systematizing pragmatic software reuse
ACM Transactions on Software Engineering and Methodology (TOSEM)
Team leaders' perceptions in the renewing of software production process
Proceedings of the 2013 annual conference on Computers and people research
Agreements for software reuse in corporations
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.02 |
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. While addressing those three issues turned out to be essential, the lower-level details of how to address them varied greatly: for instance, companies produced large-grained or small-grained reusable assets, did or did not perform domain analysis, did or did not use dedicated reuse groups, used specific tools for the repository or no tools. As far as these choices are concerned, the key point seems to be the sustainability of the approach and its suitability to the context of the company.