Incentive compatibility and systematic software reuse
Systematic software reuse has emerged as a promising route to improved software development productivity and quality. Many large corporations have initiated systematic reuse programs, and many reuse frameworks have been developed to guide organizations in these efforts. Yet, in spite of this, systematic reuse in practice has been difficult to achieve. In this paper we argue that a key inhibitor has been the incentive conflict inherent in traditional programs of reuse. We reach this conclusion based on an analysis of interview data gathered from 15 projects across eight different sites in a company once viewed as a leader in the reuse movement. We found that one key contributor to the absence of widespread systematic reuse in this firm was a perception among project teams that reuse was incompatible with prevailing project team priorities and incentives, such as to complete projects on time and within budget. Based on this finding, we undertake a survey of different approaches to establishing reuse described in the literature, and analyze them to determine whether incentive incompatibility is inherent in the nature of software reuse for larger organizations. We conclude that it is not, and provide guidance on how such organizations can design an incentive-compatible program of reuse, i.e., one that generates a climate in which developers and teams view reuse as having a more favorable value proposition according to the prevailing incentives operating at the team level.
incentive compatibility systematic software reuse software development