Software reuse is the process by which existing software products are reused in a new development effort, usually with minimal modification (Bollinger and Pfleegr, 1990).
Software reuse is more than libraries and modules. Bollinger and Pfleeger insist that any project element that can impact the project result can be reused. For instance, personnel work experience. Software reuse includes designs, templates, framework, code, documentation, design patterns, etc.
Basically, for reusing a software asset to be effective then it must be adept to be reused and a positive reuse would be the one where the advantages of software reuse beat the cost factor. Not all reusable assets can be reused successfully. For a successful software reuse organizations need to possess highly skilled and experienced developers, who have an in-depth knowledge of the reusable assets and its benefits and drawbacks.
An organization needs to hire experienced individuals, ones who can see the complete picture but still concentrate on a detail. Processes include the organization, documentation, and production. The organization requires taking the tractability for reuse, possibly utilizing a matrix structure. Documentation needs to be available from a repository that is being reused and new projects should be properly cataloged to permit reuse in the future. Lastly, production abilities need to occur so the system can be established and finally distributed. These are three likely factors to apprehend the probability of successful reuse and potentially specify the probable savings of such a policy.
Six principles were identified as critical considerations for reuse:
1) Reuse is done for economic benefit, intending to reduce schedule, reduce cost, or increase performance
2) Reuse is not free, upfront investment is required
3) Reuse needs to be planned from the conceptualization phase of programs
4) Anything can be reused
5) Reuse is as much of a technical issue as it is an organizational one
6) The benefits of reuse are not linear
Bollinger, T. and Pfleeger, S.(1990) “Economics of Reuse: Issues and Alternatives,” Information and Software Technology, 32(1)0, pp. 643-652
Fortune, J. and Valerdi, R. (2010) Considerations for Successful Reuse in Systems Engineering. Available at: http://cosysmo.scripts.mit.edu/wp-content/uploads/2010/01/Fortune-Valerdi-Reuse.pdf (Accessed: 12 October 2017)