Evidence-Based Software Engineering

EBSE for...

Software Engineering Evidence Map

One of the goals of this website is to document secondary studies of software engineering topics. This page classifies SLRs and mapping studies using the knowledge areas defined by the SWEBOK.

CategoryStudiesStudy Details

[S43] Quality, productivity and economic benefits of software reuse: a review of industrial studies

2007, Mohagheghi, Parastoo and Conradi, Reidar

Source: Systematic Literature Reviews in Software Engineering - A Tertiary Study

Systematic software reuse is proposed to increase productivity and software quality and lead to economic benefits. Reports of successful software reuse programs in industry have been published. However, there has been little effort to organize the evidence systematically and appraise it. This review aims to assess the effects of software reuse in industrial contexts. Journals and major conferences between 1994 and 2005 were searched to find observational studies and experiments conducted in industry, returning eleven papers of observational type. Systematic software reuse is significantly related to lower problem (defect, fault or error) density in five studies and to decreased effort spent on correcting problems in three studies. The review found evidence for significant gains in apparent productivity in three studies. Other significant benefits of software reuse were reported in single studies or the results were inconsistent. Evidence from industry is sparse and combining results was done by vote-counting. Researchers should pay more attention to using comparable metrics, performing longitudinal studies, and explaining the results and impact on industry. For industry, evaluating reuse of COTS or OSS components, integrating reuse activities in software processes, better data collection and evaluating return on investment are major challenges.
Our Assessment: Mohagheghi and Conradi reviewed 11 papers reporting the results of re-use in an industrial setting. They found evidence that reuse was associated with higher productivity and better quality (i.e. fewer faults and/or less rework effort). However, they note that the nature of rework differs depending on the granularity of the reused asset (e.g. modules or functions compared with architecture).
Software RequirementsS23, S26, S27, S63
Software DesignS1, S25, S31, S38
Software ConstructionS18, S43, S61
Software TestingS10, S17, S28, S62
Software MaintenanceS24, S30
Software Configuration Management -
Software Engineering ManagementM4, S5, S7, S8, S11, S12, S14, S21, S22, S29, S45, S46, S53, S66
Software Engineering ProcessesS3, S41, S47, S49, S50
Software Engineering Tools and MethodsS60, S64, S65
Software QualityM1, S15
Unclassified -