Author List: Irwin, Gretchen;
Journal of Management Information Systems, 2002, Volume 19, Issue 2, Page 219-248.
Software reuse--the application of existing software artifacts in the development of a new system--has been claimed to dramatically improve system development productivity and quality. These claims have been particularly pronounced with respect to the reuse of object-oriented (OO) software artifacts. However, the empirical evaluations of these claims are relatively sparse and often inconsistent. This paper begins to address the gap in the literature. A verbal-protocol study was conducted in which analysts created a model for a problem (the target) and were given an example problem and solution (the source) to reuse. The results show little support for reuse in OO analysis. First, reuse had no effect on the quality of the OO analysis models. Subjects given a highly reusable example produced solutions that were no better than those of subjects in the control group. Second, the degree of similarity between the source and target problems did have an effect on the reuse process, although it did not impact the reuse outcome. Subjects given the example with the most similarity to the target problem quickly recognized the reuse potential, attempted a fair amount of reuse, but made several errors stemming from lazy copying. Subjects given an example with a lesser (but still significant) degree of similarity were often unable to recognize the reuse potential, and thus engaged in less rescue activity. Thus, the characteristics of the source-target comparison that facilitate noticing the reuse potential of the source do not necessarily help in applying the source solution to the target problem. These results suggest that the claims associated with reuse should be treated with a healthy dose of skepticism.
Keywords: analogical reasoning; object-oriented analysis; software reuse; verbal protocol
Algorithm:

List of Topics

#61 0.365 reuse results anchoring potential strategy assets leading reusability incentives impact bias situations effect similarity existing extraction reusable improvement necessary enhancing
#31 0.172 problem problems solution solving problem-solving solutions reasoning heuristic theorizing rules solve general generating complex example formulation heuristics effective given finding
#9 0.144 using subjects results study experiment did conducted task time used experienced use preference experimental presented decision-making empirical significantly effects better
#60 0.110 analysis techniques structured categories protocol used evolution support methods protocols verbal improve object-oriented difficulties analyses category benchmark comparison provided recognition
#273 0.089 source open software oss development developers projects developer proprietary community success openness impact paper project associated activity phenomenon peripheral variety